【发布时间】:2008-11-07 17:10:27
【问题描述】:
有几种类似的 Oracle 技术 - Oracle Streams、Oracle Change Data Capture 和 Database Change Notification。
它们之间有什么区别?
它们是否与 Oracle 高级队列有关?
【问题讨论】:
标签: oracle cdc advanced-queuing change-data-capture oracle-streams
有几种类似的 Oracle 技术 - Oracle Streams、Oracle Change Data Capture 和 Database Change Notification。
它们之间有什么区别?
它们是否与 Oracle 高级队列有关?
【问题讨论】:
标签: oracle cdc advanced-queuing change-data-capture oracle-streams
Oracle CDC 旨在捕获数据库表中的更改,并将更改存储在特殊的 Oracle 表中。 CDC操作有两种模式:异步(基于Java)或同步(基于DB触发器,性能开销更大)。
Oracle Streams 位于 Oracle CDC 之上,它是一个完整的传输机制(通过例如 HTTP),用于在 2 个服务器之间进行数据同步。它基于 Oracle 高级队列技术,专为高性能和可靠性而设计。
Oracle CDC 和 Streams 通常用于 Oracle DB 服务器之间的数据同步...使用 Oracle CDC,您不必将 Oracle Streams 用于,例如您可以编写自己的数据导出例程来创建平面文件,以便在 2 个 DB 服务器之间进行同步,而使用 Streams,您必须在 2 个服务器之间建立网络链接。
数据库更改通知又是另一回事,它不用于服务器到服务器的同步,而是更多地用于服务器通知客户端的结果集更改,主要是在客户端数据缓存的上下文中。
【讨论】:
我要补充一点,对于系统之间的同步,你可以通过结合 Streams 和 CDC 发布机制来实现异步模式。如果您选择不为此目的使用 Streams,您最终会使用同步模式(我认为是通过触发器),这会在每个事务上增加一点额外开销。
【讨论】: