1

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

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

4

1 回答 1

1

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

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

RDBMS 提供了通过规则、触发器等非常清晰地控制数据的能力。大多数文档数据库不提供这一点,是否应该提供这一点值得怀疑。他们遵循的规则越多,他们失去的灵活性就越大,这就是他们的主要收获。

您在使用文档数据存储时会遇到的问题之一是您必须仔细选择您的顶级入口点,否则您将不得不创建多个数据存储,并且请记住,大多数情况下都没有连接语句(忽略 Google 提供的工具)最近写的论文)。

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

于 2012-03-04T04:42:23.623 回答