В чем разница между Oracle Streams и сбором данных изменений?

Существует несколько похожих технологий Oracle - Oracle Streams, Oracle Data Capture и уведомление об изменении базы данных.

Каковы различия между ними?

Они связаны с Oracle Advanced Queuing?

2 ответа

Решение

Oracle CDC предназначен для регистрации изменений в таблицах БД, а изменения хранятся в специальных таблицах Oracle. Существует два режима работы CDC: асинхронный (на основе Java) или синхронный (на основе триггеров БД, повышенные издержки производительности).

Oracle Streams расположен поверх Oracle CDC и представляет собой полный транспортный механизм (например, HTTP) для синхронизации данных между двумя серверами. Он основан на технологии Oracle Advanced Queues и обеспечивает высокую производительность и надежность.

Oracle CDC и Streams обычно используются для синхронизации данных между серверами Oracle DB... С Oracle CDC вам не нужно использовать Oracle Streams для, например, вы можете написать свои собственные процедуры экспорта данных, которые создают плоские файлы с целью синхронизация между двумя серверами БД, в то время как с потоками у вас должна быть сетевая связь между двумя серверами.

Опять же, уведомление об изменении базы данных - это не то, что используется для синхронизации между серверами, а скорее для уведомления сервера об изменениях набора результатов для клиентов, в основном в контексте кэшей данных на стороне клиента.

Я хотел бы добавить, что для синхронизации между системами вы можете достичь асинхронного режима, комбинируя потоки и механизм публикации CDC. Если вы решите не использовать Streams для этой цели, вы в конечном итоге будете использовать синхронный режим (я думаю, что это с помощью триггеров), добавляя немного дополнительной нагрузки на каждую транзакцию.

Другие вопросы по тегам