将大型 (6TB) oracle 数据库的更新流复制到另一个非 DBMS 系统的最佳方法是什么?我不需要“批量加载”oracle 数据库,而只是想将所有更新近乎实时地(延迟 10 秒或更短)流入另一个本土系统。更新速度为 150 行/秒,相当于每秒 10 兆字节。
为了清楚起见,让我强调一下,我不是从一个数据库复制到另一个数据库。这是一个应用程序集成问题:我需要从数据库复制到内部的非数据库应用程序。我考虑过使用企业服务总线,但这似乎不合适。
最佳答案
所以您想要实现一个基于日志的复制方案,该方案仅将事务日志泵出到不同的文件系统?有许多商业产品可以让您这样做,比较知名的是 SharePlex。和 GoldenGate ,甚至还有一个名为 Zizzy 的开源软件,但我不能说我已经尝试过了。
编辑 1: 如果您不想将更新提供给另一个数据库,GoldenGate's Event-Driven Architecture提供了一种将复制连接到 JMS 消息总线的方法。对于应用程序集成,这是我会选择的选项。
编辑 2: 如果使用消息总线不是您想要的方式,我能看到的唯一其他明智的选择是获取你的手脏了,使用 Oracle 的 LogMiner应用程序接口(interface)。 IIRC,这就是 Oracle 用于 Streams 和 DataGuard 等功能的内容,并且它可能是大多数变更数据捕获解决方案所基于的内容。
关于database - 将数据库复制到其他系统的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/285098/