首页 > 解决方案 > RDBMS (Oracle) 中的最终一致性

问题描述

我了解像 Oracle 这样的 RDBMS 数据库并不是真正的最终一致性。但是定制 oracle 以遵循最终一致性模型在技术上是不可行的(比如 cassandra 支持什么?)

例如:我们不能有两个 Oracle 集群(带有它自己的存储)通过双向复制的活动数据保护连接吗?即主动-主动!我在许多生产系统中看到了主动-被动模型。但是在 Oracle 中 Active-Active 可行吗?

标签: oraclecassandradatabase-replication

解决方案


可以使用 GoldenGate 构建它,但考虑使用 18c 中提供的 Oracle Sharding。这样,您只需使用GDSCTL命令语法声明所需的复制拓扑,Oracle 就会实现(使用 GoldenGate)。

这是文档的链接:

https://docs.oracle.com/en/database/oracle/oracle-database/18/shard/sharding-overview.html#GUID-0F39B1FB-DCF9-4C8A-A2EA-88705B90C5BF

特别是,请查看第 7.1 节关于高可用性和与 Oracle GoldenGate 的集成。

主动-主动响应

我不能肯定地说,但 Oracle 的文档强烈暗示它可以用于主动-主动安排。来自 Oracle 的文档:

7.1.1 何时选择 Oracle GoldenGate 实现 Shard 高可用性 何时应使用 Oracle GoldenGate 作为 Oracle Sharding 的高可用性解决方案?

在以下情况下,Oracle GoldenGate 应该是您首选的高可用性解决方案:

所有分片读写。使用 Active Data Guard,DR/备份分片是只读的。

更灵活地部署分片。每个分片可以在不同的操作系统或不同的数据库版本上。

多个可更新的数据副本。例如,使用 Oracle GoldenGate,使用复制因子 4,您可以拥有 4 个可以更新的数据的读写副本


推荐阅读