Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Mise en miroir vs réplication

Je ne connais pas SQL Server 2005, mais pour l'utilisation générale de SQL, je préférerais toujours la réplication. Vous devez séparer les lectures/écritures dans votre application (pour MySQL, il existe un proxy MySQL qui peut le faire de manière proxy pour vous), mais gagnez un système évolutif. (lecture sur esclave(s), écriture sur maître)

La mise en miroir signifie une réplication maître-maître qui entraîne des problèmes de concurrence/transaction. Même dans les scénarios maître-maître, vous ne devriez JAMAIS envoyer des requêtes d'écriture à différents serveurs. Selon la taille de votre projet, les étapes suivantes consisteraient à ajouter d'autres esclaves, puis à ajouter un autre maître + ses esclaves pour la redondance.

master --- master
  |          |
slave       slave
  |          |
slave       slave
  |          |
slave       slave

Même dans ce cas, vous n'enverriez des requêtes d'écriture qu'à un seul maître, mais en cas de défaillance d'un maître, vous pourriez automatiquement promouvoir le deuxième maître vers votre nouvelle cible de requête d'écriture.