Как определить, совпадают ли две строки, включая связанные строки - PullRequest
1 голос
/ 11 ноября 2011

У меня есть набор данных в базе данных SQL (SQL Server в одной системе, MySQL в другой), и мне нужно синхронизировать их.

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

  • Базовым объектом является Учетная запись.
    • Каждая учетная запись имеет один или несколько контактов
      • Каждый контакт имеет одну или несколько услуг

Есть и другие, но это своего рода структура.

В данный момент я программно получаю список из SourceA, генерирую объекты для всей строки, затем получаю соответствующий объект из SourceB и проверяю, отличается ли что-либо.

В качестве альтернативы я могу отказаться от создания глубокого объекта и просто синхронизировать таблицу Accounts, затем таблицу Contacts, затем таблицу Services.

Проблема в том, что при 5000 учетных записях, 22 000 контактов и 45 000 служб требуется синхронизация для запуска синхронизации. Некоторые базовые метрики подразумевают, что все это время занимают SQL-запросы.

Итак: как мне синхронизировать два источника данных, как это?

(Я взглянул на Microsoft Sync Framework, но мне показалось сложно разобраться. Если это то, что указывает на консенсус, оно того стоит, я потрачу время на его изучение)

1 Ответ

0 голосов
/ 11 ноября 2011

См. этот SO-ответ об одной альтернативе Microsoft Sync Framework (очередь асинхронного обмена сообщениями).Этому ответу около 3 лет.

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