将更新流复制到大型(6TB)oracle数据库到另一个非DBMS系统的最佳方法是什么?我不需要“批量加载”oracle db,而只是想近乎实时地将所有更新流入另一个本地系统(10s延迟或更少)。更新以150行/秒的速率发生,代表每秒10兆字节。
为清楚起见,我要强调一点,我不会从一个数据库复制到另一个数据库。这是一个应用程序集成问题:我需要从db复制到内部的非db应用程序。我曾想过使用企业服务总线,但这似乎不合适。
答案 0 :(得分:2)
所以你想要实现一个基于日志的复制方案,只是将事务日志泵送到另一个文件系统?有许多商业产品可以让你这样做,更为人所知的是SharePlex和GoldenGate,还有一个名为Zizzy的开源软件,但我不能说我已经尝试过了。
编辑1: 如果您不想将更新提供给其他数据库,GoldenGate's Event-Driven Architecture提供了连接复制的方法到JMS消息总线。对于应用程序集成,这是我要选择的选项。
编辑2: 如果使用消息总线不是您想要的方式,我能看到的唯一其他明智的选择是获取亲自动手并使用Oracle的LogMiner API。 IIRC,这就是Oracle用于Streams和DataGuard等功能的东西,它可能是大多数变更数据捕获解决方案所基于的。