Лучший способ скопировать БД в другие системы - PullRequest
2 голосов
/ 12 ноября 2008

Каков наилучший способ репликации потока обновлений в большой (6 ТБ) оракуловой базы данных в другую систему без СУБД? Мне не нужно «массово загружать» oracle db, а просто хочу передавать все обновления в другую доморощенную систему практически в реальном времени (с задержкой 10 с или меньше). Обновления происходят со скоростью 150 строк в секунду, что составляет 10 мегабайт в секунду.

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

1 Ответ

2 голосов
/ 12 ноября 2008

Итак, вы хотите реализовать схему репликации на основе журнала, которая просто перекачивает журнал транзакций в другую файловую систему? Есть ряд коммерческих продуктов, которые позволят вам сделать это, наиболее известными из которых являются SharePlex и GoldenGate , плюс есть даже один с открытым исходным кодом под названием Zizzy, но я не могу сказать, что пробовал.

edit 1: , если вы не хотите загружать обновления в другую базу данных, EventG-управляемая архитектура GoldenGate предоставляет средство для подключения репликации к Шина сообщений JMS. Для интеграции приложений, это вариант, который я бы выбрал.

edit 2: , если вы не хотите использовать шину сообщений, единственная разумная альтернатива, которую я вижу, - это испачкать руки и использовать Oracle LogMiner API. IIRC, это то, что Oracle использует для таких функций, как Streams и DataGuard, и, скорее всего, на этом основано большинство решений Change Data Capture.

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