Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Espelhamento x Replicação


Eu não conheço o SQL Server 2005, mas para uso geral do SQL eu sempre prefiro replicação. Você tem que separar leituras/gravações em seu aplicativo (para MySQL existe o MySQL Proxy que pode fazer isso de maneira proxy para você), mas ganhe um sistema escalável. (lê para escravo(s), grava para mestre)

Espelhamento significa replicação mestre-mestre que leva a problemas de simultaneidade/transação. Mesmo em cenários mestre-mestre você deve NUNCA enviar consultas de gravação para diferentes servidores. Dependendo do tamanho do seu projeto, as próximas etapas seriam adicionar mais escravos e, em seguida, adicionar outro mestre + seus escravos para redundância.
master --- master
  |          |
slave       slave
  |          |
slave       slave
  |          |
slave       slave

Mesmo assim, você enviaria consultas de gravação apenas para um mestre, mas no caso de um mestre com falha, você poderia promover automaticamente o segundo mestre para seu novo destino de consulta de gravação.