чтения. Задача в следующем, надо синхронизировать данные из неизвестной Бд в постгресс, сравнить и если есть расхождения в постгресс, заменить их. Подключение и сбор данных у неизвестной уже есть.
Каким образом можно сравнить и синхронизировать данные без использования велосипедов? Может есть какие то инструменты?
вангую только велосипед
Попытаться сделать экспорт в cvs и сравнить файлы
А если репликацию надо делать реал тайм, а если там хотя бы больше 1М записей, а если ...
Раз в сутки происходит синхронизация, но данных действительно очень много
Я вот что видел своими глазами. Самопальную репликацию DB2 <-> Cassandra (легаси адаптер йопта) Изменения из DB2 реал тайм выгружались в кафку и применялись в Cassandra. При конфликтах сей адаптер отгружал в другую очередь конфликты чтобы они применились в DB2. Сооответственно изменения из кассандры так же лились в кафку и применилясь в DB2, в случае конфликтов... ну ты понял.
Для этих целей есть готовый инструмент. Называется SSIS(SQL Server Integration Services) Создан для того, чтобы переливать данные из разных источников
а он не только для SQL Server?
Нет, не только. Ещё и лицензию не требует никакую Использует ODBC драйвер для подключения
у него постгря+хз что (это странный момент, но допустим)
Переливали и из Посгри и из оракла с помощью этой штуки
Я пробовал под него делать штуки и, честно признаться, он — откровенная лажа. Приделали неудобный, глючный редактор к триггерам и таймерам. А обновиться там с одной версии сервера до другой — это вообще ппц большая работа. Возможно, я чего-то не понимаю, но в моём случае сделать то же самое как винсервис и переписать на SQL вышло намного быстрее, удобнее, а работало надёжнее. И деплоймент с куда меньшим гемором. Совсем не понравились мне SSIS, прям вот не советую связываться.
Мигрировать не было необходимости. Мне кажется, что на большом кол-ве таблиц удобнее чем писать свой сервис. Но в итоге всё же вкусовщина. Мне решение понравилось.
Обсуждают сегодня