database - 就数据共享而言,解耦数据库设计的最佳方法是什么?

标签 database oracle database-design plsql

我有一系列需要访问彼此数据的 Oracle 数据库。最有效的方法是使用数据库链接——设置一些数据库链接,我可以毫不费力地从 A 到 B 获取数据。对我来说,问题是你最终会得到一个紧耦合的设计,如果一个数据库出现故障,它可能会带来耦合的数据库(或者可能是这些数据库上的应用程序的一部分)。

您尝试过哪些替代方法来在 Oracle 数据库之间共享数据?

几个回复后更新...

我没想那么多复制,更多的是关于访问“主数据”。例如,如果我有一个包含货币兑换率的中央数据库,并且我想将汇率提取到一个单独的数据库(应用程序)中。对于如此小的数据集,igor-db 对数据库链接的物化 View 的建议会很有效。然而,当您从一个非常大的数据集中动态采样时,本地缓存的选项开始变得更加棘手。在这些情况下你会选择什么?我对 XML 服务感到疑惑,但 tuinstoel(在对 le dorfier 的回复的评论中)正确地质疑了所涉及的开销。

回复摘要...

总的来说,我认为 igor-db 是最接近的,这就是为什么我接受了那个答案,但我想我会添加一点来引出其他一些答案。

就我的目的而言,我只关注数据复制,看起来 Oracle BASIC 复制(与 ADVANCED 相对)复制适合我。在主站点上使用物化 View 日志并在快照站点上使用物化 View 看起来是一种极好的前进方式。

如果这不是一个选项,也许数据量使全表复制成为一个问题,那么消息传递解决方案似乎是最合适的 Oracle 解决方案。 Oracle Advanced Queuing 似乎是设置消息传递解决方案最快、最简单的方法。

最不受欢迎的方法似乎是推出您自己的 XML Web 服务,但只有在相对简单的高级队列不是一种选择的情况下才行。

最佳答案

Streams 是 Oracle 的复制技术。 您可以在数据库链接上使用 MV(因此数据库“A”具有数据库“B”中数据的物化 View 。如果“B”出现故障,则无法刷新 MV,但数据仍在“A”中) .

里程数可能取决于数据库容量、更改量...

关于database - 就数据共享而言,解耦数据库设计的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/467420/

相关文章:

MySQL 构建此查询的最佳方式?

php - MySQL:可以根据每条记录参数进行分组的 SELECT 条件语句吗?

mysql - phpmyadmin 添加文本到字段

sql - 在 Oracle 中使用 NOT LIKE

sql - 如何在动态sql oracle中获取排序记录

SQL:使用两个不同表的计数

database-design - LAMP 托管在 AWS 云上——要重写哪些 PHP 代码?

algorithm - 如何表示隐含关系?

mysql - 薪资系统 : Database structure for flexible storage of weekend off scheme

mysql - 如何查看MySql用户的创建时间?