合并RDBMS和NoSQL数据库
回答问题 好的,假设我有一个包含 100 多个表的大型 MySql 数据库。虽然它运行得很好,但我有两个表,每个表每年可以超过 1 亿个条目。在这两个表上,我必须执行搜索和计算,而不仅仅是存档信息。 我正在考虑将这些表的逻辑转移到 NoSQL 数据库,因为它具有良好的可扩展性。(MongoDB,CouchDB) 由于存储在这些表中的信息通过应用程序在许多查询中使用,我在想是否有一种方法可以在两个数
回答问题
好的,假设我有一个包含 100 多个表的大型 MySql 数据库。虽然它运行得很好,但我有两个表,每个表每年可以超过 1 亿个条目。在这两个表上,我必须执行搜索和计算,而不仅仅是存档信息。
我正在考虑将这些表的逻辑转移到 NoSQL 数据库,因为它具有良好的可扩展性。(MongoDB,CouchDB)
由于存储在这些表中的信息通过应用程序在许多查询中使用,我在想是否有一种方法可以在两个数据库之间创建合并。
虽然能够编写一个自动从nosql db中提取数据的sql查询太漂亮了,但也许还有另一种方法;就像在 MySQL 中使用存储的 plsql 过程来调用 NoSQL 数据库上的查询一样。或者从 plsql 调用系统命令并获取结果。
只是想提一下,我以 MySQL 为例,它可以是任何东西,Oracle,Postgres。
Answers
所以做这样的事情的流行语是Polyglot Persistence(也许这有助于进一步的研究)。大多数情况下,您必须自己集成这些不同的数据存储。我知道有两种解决方案,但我还没有测试过它们。
第一个是使用 EclipseLink 作为两个数据存储之上的抽象。我为此找到的第一个链接:http://blog.eisele.net/2012/11/polyglot-persistence-eclipselink-with.html
第二个是使用 PostgreSQL 和外部数据包装器在 Postgres 中嵌套一个 nosql 数据库:http://wiki.postgresql.org/wiki/Foreign_data_wrappers
更多推荐
所有评论(0)