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