2013-03-15 3 views
2

Я разрабатываю систему, в которой я должен поддерживать синхронизацию клиентских баз данных с базой данных сервера. Существует один центральный сервер (SQL Server 2008 с 20 таблицами) и около 30 клиентов (SQL Server или SQL Server CE). Клиенту не понадобятся все 20 таблиц, но 10 будут справедливыми. Это медицинская система в природе, и она будет иметь дело с максимальными 1200 пациентами, поэтому это не огромная система. Система будет развернута в очень отдаленных районах, где Интернет не всегда будет доступен, поэтому мне нужна какая-то технология синхронизации БД. Клиентская БД будет синхронизироваться с сервером, как только интернет станет доступным. После прочтения доступных технологий я склонен к использованию Microsoft Sync.Требования к скорости соединения для Sync Framework

Мой вопрос касается требований к скорости соединения для Microsoft Sync Framework. Клиент будет развернут в очень отдаленных районах. Интернет будет доступен для короткой продолжительности, а скорость интернета будет очень медленной (скажем, загрузка будет 20 КБ/с).

Я обеспокоен выполнением Sync Framework в этом виде интернет-скорости. Есть ли тесты, которые могут дать мне представление о предполагаемом времени синхронизации с разными значениями скорости соединения? Имеет ли смысл использовать Sync Framework, когда скорость интернета такая медленная (например, 20 КБ/сек). Будет ли медленная скорость действовать только с точки зрения времени, необходимого для завершения синхронизации, или есть ли какие-либо другие недостатки?

У меня нет опыта работы с технологиями синхронизации БД. Это первый раз, когда я делаю что-то подобное. Если мне не хватает чего-то крупного, или это не тот способ пойти в таком сценарии, не стесняйтесь делиться своими мыслями и идеями.

Спасибо,

ответ

1

Вы должны быть хорошо использовать Sync Framework для вашей задачи. Продолжительность синхронизации будет определяться количеством изменений, которые должны быть загружены/загружены с/на сервер. В вашем случае, если вы не можете гарантировать соединение, которое требуется для завершения всей синхронизации, вам придется использовать Batching in Sync Framework, чтобы разбить вашу синхронизацию на более мелкие куски.

Вы можете, возможно, использовать это в качестве отправной точки: http://blogs.msdn.com/b/sync/archive/2010/09/24/how-to-sync-large-sql-server-databases-to-sql-azure.aspx

Чтобы проверить, как долго ваши транзакции синхронизации может потребоваться для выполнения, настройки тестового сценария, а затем вы можете включить Tracing компоненты Sync Framework для отслеживания синхронизация: http://msdn.microsoft.com/en-us/library/cc807160.aspx

0

Это не просто количество изменений, которые повлияют на производительность, но и размер. изменение в 10 рядов может иметь каждую строку в 5k или содержать 1MB blob.

Если вы используете пакетную загрузку, вы имеете в виду настройку размера кеша данных памяти, он также не выполняет пакет изменений, он отправляет посылку изменений по проводу.

синхронизации FX так же, как любое другое приложение базы данных, вы должны принять во внимание блокировки, параллелизм и т.д. ...

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

Смежные вопросы