Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dublowanie a replikacja

Nie znam SQL Server 2005, ale do ogólnego użycia SQL zawsze wolałbym Replikację. Musisz oddzielić odczyt/zapis w swojej aplikacji (w przypadku MySQL istnieje MySQL Proxy, który może to zrobić w sposób proxy), ale zyskujesz skalowalny system.(odczyt do urządzeń podrzędnych, zapis do urządzenia nadrzędnego)

Dublowanie oznacza replikację master-master, która prowadzi do problemów ze współbieżnością/transakcjami. Nawet w scenariuszach mistrz-mistrz nie powinieneś NIGDY wysyłaj zapytania o zapis do różnych serwerów. W zależności od rozmiaru projektu następnym krokiem będzie dodanie większej liczby urządzeń podrzędnych, a następnie dodanie kolejnego urządzenia nadrzędnego + urządzeń podrzędnych w celu zapewnienia nadmiarowości.

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

Nawet wtedy wysyłałbyś zapytania o zapis tylko do jednego wzorca, ale w przypadku awarii głównego wzorca można by automatycznie promować drugiego wzorca do nowego celu zapytania dotyczącego zapisu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008:Zbiorcza zmiana typu danych

  2. SQL Server ROWLOCK nad SELECT, jeśli nie istnieje INSERT transakcja

  3. Nie można połączyć się z serwerem SQL SERVER 2000

  4. Uruchamianie sum w widoku SQL

  5. SqlDataAdapter.Fill() — Przepełnienie konwersji