12

有几种类似的 Oracle 技术 - Oracle Streams、Oracle Change Data Capture 和 Database Change Notification。

这些之间有什么区别?

它们与 Oracle 高级队列有关吗?

4

2 回答 2

9

Oracle CDC 是关于捕获数据库表中的更改,并将更改存储在特殊的 Oracle 表中。CDC操作有两种模式:异步(基于Java)或同步(基于DB触发器,性能开销更大)。

Oracle Streams 位于 Oracle CDC 之上,它是一个完整的传输机制(例如通过 HTTP),用于在 2 个服务器之间进行数据同步。它基于 Oracle 高级队列技术,专为高性能和可靠性而设计。

Oracle CDC 和 Streams 通常用于 Oracle DB 服务器之间的数据同步...使用 Oracle CDC,您不必使用 Oracle Streams,例如,您可以编写自己的数据导出例程,这些例程创建平面文件2 个数据库服务器之间的同步,而使用 Streams,您必须在 2 个服务器之间建立网络链接。

数据库更改通知又是另一回事,它不用于服务器到服务器的同步,而是更多地用于服务器通知客户端的结果集更改,主要是在客户端数据缓存的上下文中。

于 2008-11-09T05:04:34.273 回答
0

我要补充一点,对于系统之间的同步,您可以通过结合 Streams 和 CDC 发布机制来实现异步模式。如果您选择不为此目的使用 Streams,您最终将使用同步模式(我认为它是通过触发器)在每个事务上增加一些额外的开销。

于 2010-04-13T19:37:34.313 回答