Вопрос

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

Чем они отличаются?

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top