mysql - 使用2个不同的数据库好吗

标签 mysql mongodb database-design database

所以,想象一下这种情况,当我们有这样的数据时:一部分最好存储在 RDBMS 中,另一部分存储在某些 NoSQL 中(Mongo,f.e.)。使用2个独立的数据库是否正确?或者我应该找到一种数据结构的折衷方案以仅使用一种?

我想,当我们使用 2 DB 时,我们需要更多的资源(并且需要更多的容错能力),但我们可以拥有更好的结构。还是我的思维方式完全错误?没听说过这种做法,所以想请教更有经验的人。

顺便说一句,抱歉,如果我的英语不好。

最佳答案

在同一应用程序中针对不同类型的数据和目的使用不同的数据库管理系统绝对是合法的。正如您提到的,它确实需要一些成本,但如果 yield 大于成本,我就会选择它。

一个并不罕见的用例是使用 RDBMS 作为持久数据存储并添加 Lucene 作为全文搜索引擎。因此,您可以使用 RDBMS 进行酸合规操作,以强制执行约束。

接下来你可以使用lucene搜索一些单词,获取相应的标识符,然后向rdbms询问属于该标识符的更多信息。

如果您检查“更奇特”的 NoSQL 数据库(图形数据库、基于列的数据库),您可能会发现更多这样的用例,其中 2 个 dbms 非常适合相互补充。

关于mysql - 使用2个不同的数据库好吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38637385/

相关文章:

MySQL 终止连接

mongodb - 匹配数组内的多个条件

node.js - 根据数组字段的子文档_id查找父文档id

mysql - ER 图学校数据库

ruby-on-rails - 不使用主键查找帖子

sql - 如何在数据库中存储依赖树?

mysql - 在非常小的列上进行全文搜索

mysql - 使用 group by 和 order by 时获得最低值

c# - 根据选择 C# 更改下拉列表

node.js - 如何有效地搜索子文档