database - 将数据库复制到其他系统的最佳方法

标签 database oracle replication enterprise

将大型 (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/

相关文章:

mysql - 在 MySQL 中使用空间索引时性能不佳

c# - 带 Out 参数的 Oracle 存储过程

python - celery 用作代理时能否优雅地承受 mongodb 故障转移?

Java RMI 复制

session - Microsoft Azure 中 Tomcat 的水平扩展

database - Multi-Tenancy 数据库架构

database - Access : How to find a field in a whole database?

sql - Oracle SQL Select 子句

sql - 将列更改为非空时避免 ORA-00054

Android:通过 Content Provider 访问 SQLite 数据库还是实现 DAO?