Синхронизация разных типов баз данных на разных серверах
У нас возникают проблемы с синхронизацией наших данных. Последние 20 лет мы работали с системой на компьютере с UNIX, используя сервер данных UNIFY. Был толчок к переходу на Microsoft, и теперь мы также используем базу данных Microsoft SQL Server 2008 R2 в нашей сети Microsoft. Некоторые таблицы из этих двух баз данных должны оставаться синхронизированными. Кроме того, таблицы, которые необходимо синхронизировать, следуют слегка отличающимся структурам таблиц.
Сервер Microsoft SQL работает на 64-битной машине. Unify не написала 64-битный драйвер ODBC для использования при попытке синхронизации баз данных.
Я рассмотрел возможность использования триггеров базы данных в Unify, которые записывают в журнал логи всех изменений, внесенных в таблицы, а затем отправляют в журнал логи и применяют изменения (или для вызова веб-служб, чтобы применить изменения), но когда срабатывает триггер и пишет журнал / вызывает сервис, если транзакция откатывается, журнал все равно остается.
У кого-нибудь есть идеи о том, как лучше синхронизировать эти базы данных?
заранее спасибо
Грант
1 ответ
Возможно, вы захотите заглянуть в SQL Server Service Broker, http://technet.microsoft.com/en-us/library/bb522893.aspx
Лучшим эквивалентом, который я могу придумать, будет Oracle Streams, если у вас когда-либо была возможность использовать это. Тем не менее, большая проблема может заключаться в том, что вы упомянули эту базу данных Unify, не имеющую поддержки драйвера ODBC для 64-разрядных сред (тем более, что вам следует вообще отказаться от Unify).
Просто имейте в виду, что, несмотря на заявления, они никогда не будут синхронизированы в реальном времени. Всегда будет хотя бы небольшая задержка.