SQL Server 2005/2008 Международная доступность в реальном времени - PullRequest
0 голосов
/ 01 мая 2009

Моя компания недавно открыла офис в Сингапуре. Я работаю над веб-приложением, которое мы используем для управления компанией, используя серверную часть SQL Server 2005. Из-за медленного доступа по сети из Сингапура мы поставляем им сервер, на котором будет размещена локальная копия веб-приложения и базы данных, и мы хотим, чтобы их локальная версия базы данных была синхронизирована с нашей. Как приложение для США, так и приложение для Сингапура могут считывать / записывать данные.

Является ли репликация слиянием правильным решением для этой проблемы? Это путь, который я исследовал, и он кажется наиболее подходящим для того, что мы хотим. Есть ли что-то лучше в SQL Server 2008? Какие решения для обеспечения доступности баз данных вы внедрили для международного сотрудничества?

1 Ответ

1 голос
/ 01 мая 2009

Репликация слиянием - это путь, если некоторые люди в обоих местах должны обновить какие-либо данные. Но ...

Я мог бы рекомендовать использование одноранговой репликации в случае, если:

  • Office1 (США?) Необходимо обновлять / удалять только записи, вставленные приложениями Office1.

  • Office2 (Сингапур) необходимо обновлять / удалять только записи, вставленные приложениями Office2.

Оба офиса могут запрашивать все данные.

Цитата: Самая основная концепция, которую вы должны понимать при одноранговой репликации, состоит в том, что каждый сервер содержит все данные, но каждый сервер отвечает за обновление только своего собственного подмножества данных. Таким образом, каждый сервер несет одну и ту же схему, и каждый сервер является подписчиком всех изменений, которые происходят на других серверах, будучи издателем своих собственных измененных данных. Когда данные изменяются на одном сервере, эти изменения распространяются на всех подписчиков в одноранговой сети. Каждый сервер содержит и обновляет данные, относящиеся к его географическому расположению, а также видит все данные из других мест. Ключевой частью одноранговой репликации является то, что каждый сервер отвечает за изменение своего собственного набора данных, и никакое другое местоположение не может изменить какие-либо данные в этом наборе данных. Если это правило нарушается, данные могут быть изменены в двух местах, и поскольку между сайтами нет блокировки данных, при репликации данных вы можете получить противоречивые результаты.

Более подробную информацию вы можете найти здесь: http://www.sqlmag.com/Article/ArticleID/49241/sql_server_49241.html

http://technet.microsoft.com/en-us/magazine/2006.07.insidemsft.aspx

http://www.sql -server-performance.com / статьи / дБА / равный-peer_replication_p1.aspx

Как это можно реализовать.

Таблицы, которые должны быть обновлены из обоих мест, которые вы должны дублировать, например:

TableOrders1 (OrderID int IDENTITY(1,2) NOT NULL, Col1 int, Col1 nvarchar(), etc.) 
TableOrders2 (OrderID int IDENTITY(2,2) NOT NULL, Col1 int, Col1 nvarchar(), etc.) 

Затем вы отправляете данные из TableOrders1 в Office2, данные из TableOrders2 в Office1 с помощью одноранговой репликации и т. Д. *

Для запроса данных вы можете создать представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...