У меня есть набор данных в базе данных SQL (SQL Server в одной системе, MySQL в другой), и мне нужно синхронизировать их.
Для каждой записи имеется достаточное количество реляционных данных.
- Базовым объектом является Учетная запись.
- Каждая учетная запись имеет один или несколько контактов
- Каждый контакт имеет одну или несколько услуг
Есть и другие, но это своего рода структура.
В данный момент я программно получаю список из SourceA
, генерирую объекты для всей строки, затем получаю соответствующий объект из SourceB
и проверяю, отличается ли что-либо.
В качестве альтернативы я могу отказаться от создания глубокого объекта и просто синхронизировать таблицу Accounts
, затем таблицу Contacts
, затем таблицу Services
.
Проблема в том, что при 5000 учетных записях, 22 000 контактов и 45 000 служб требуется синхронизация для запуска синхронизации. Некоторые базовые метрики подразумевают, что все это время занимают SQL-запросы.
Итак: как мне синхронизировать два источника данных, как это?
(Я взглянул на Microsoft Sync Framework, но мне показалось сложно разобраться. Если это то, что указывает на консенсус, оно того стоит, я потрачу время на его изучение)