有几种类似的Oracle技术 - Oracle Streams,Oracle Change Data Capture和Database Change Notification。
这些之间有什么区别?
它们与Oracle Advanced Queuing有关吗?
答案 0 :(得分:9)
Oracle CDC就是捕获数据库表中的更改,更改存储在特殊的Oracle表中。 CDC操作有两种模式:异步(基于Java)或同步(基于数据库触发器,更多性能开销)。
Oracle Streams位于Oracle CDC之上,它是一种完整的传输机制(例如通过HTTP),用于2台服务器之间的数据同步。它基于Oracle Advanced Queues技术,专为高性能和可靠性而设计。
Oracle CDC和Streams通常用于Oracle数据库服务器之间的数据同步...使用Oracle CDC,您不必使用Oracle Streams,例如:您可以编写自己的数据导出例程来创建平面文件,以便在2个DB服务器之间进行同步,而对于Streams,您必须在2个服务器之间建立网络链接。
数据库更改通知又是另一回事,它不用于服务器到服务器的同步,而是用于服务器通知客户端的结果集更改,主要是在客户端数据缓存的上下文中。
答案 1 :(得分:0)
我想补充一点,为了在系统之间进行同步,您可以通过组合Streams和CDC发布机制来实现异步模式。如果您选择不为此目的使用Streams,您最终将使用同步模式(我认为它是通过触发器)为每个事务增加一点额外开销。