面向文档的数据库或关系数据库,我该如何选择?

时间:2012-03-02 04:26:45

标签: database relational-database document-oriented-db

我过去一直在使用MySQL和MsSQL。现在我也使用MongoDB,我发现它在处理文档时非常灵活,哪些字段不断变化 - 非常适合敏捷开发。

由于面向文档的数据库对于开发人员来说似乎更方便使用,并且在读取访问方面也更快,我是否可以举例说明哪种用例适合哪种情况比另一种更好?

1 个答案:

答案 0 :(得分:1)

我是一名数据工程师,我必须使用文档数据库和经典的RDBMS;我必须做应用程序代码,ETL,并且我编写了自定义包装器,它从文档数据库中提取json并构建完整的关系模式以加载数据以用于报告目的。

首先,文档数据库确实为某些活动提供了好处,而RDBMS提供了文档数据库中缺少的某些功能。

RDBMS提供了使用规则,触发器等非常清晰地控制数据的能力。大多数文档数据库都不提供此功能,如果应该这样做,则值得怀疑。他们遵循的规则越多,他们失去的灵活性就越大,这也是他们的主要收获。

您在文档数据存储中遇到的一个问题是您必须仔细选择顶级入口点,否则您将不得不创建多个数据存储区,并且记住,大多数都没有连接语句(忽略工具)谷歌最近写过论文。

我认为数据控制应该在数据库层进行,以防止数据损坏。再说一次,我是一个数据人。应用程序,搜索引擎优化和商业人士经常会不同意这一点。因此,当报告人员告诉我他们需要什么时,我接受并继续前进,并尝试让所有事情协同工作。

相关问题