最近,我读了很多关于不同的NoSQL数据库以及一些主要网站是如何有效地部署它们的文章.我正在启动一个项目,我认为MongoDB等数据库的无模式特性将非常有用.不过,我读到的所有内容似乎都表明,NoSQL数据库的主要优势是可伸缩性.为无模式设计 Select NoSQL数据库与 Select 可伸缩性一样是合法的设计决策吗?

推荐答案

是的,有时候RDBMS不是最好的解决方案,尽管有一些方法可以容纳用户定义的字段(请参阅XML数据类型、EAV设计模式,或者只是有备用的通用列),但有时候无模式数据库是一个不错的 Select .

但是,在 Select 使用文档数据库之前,您需要明确您的需求,因为您将失go 使用关系模型时可能习惯的大量功能

如...

如果您的RDBMS数据库中没有多个表,则需要研究MongoDB为您提供的特性来满足这些需求.

如果您需要以特定方式查询数据,您同样需要研究MongoDB为您提供了什么.

我不认为NoSQL是RDBMS的替代品,而是一种稍有不同的工具,它有自己的优点和缺点,使它更适合某些项目而不是其他项目.

(在某些情况下,这两个数据库都可以使用.另外,如果您决定走可能使用MongoDB的路由,一旦您研究了那里的网站并有更具体的问题,您可以访问Freenode IRC#MongoDB频道)

Database相关问答推荐

在多组MongoDB中查找最新文档的有效方法

使用 noSQL 和 MongoDB 在数据库中存储任何类型文件的最佳方法是什么

utf-8 与 latin1

如何使用 SQL Server 中的round方法将浮点数转换为 int?

MySQL FIND_IN_SET 的对面

如何使用actors进行数据库访问和DDD?

您是否遇到过 SQL Server 因为引用了太多表而无法执行的查询?

数据库设计:多表与单表

Mysql - 在所有数据库中查找表

MS Access:如何在 VBA 中压缩当前数据库

matlab 数据文件到 pandas DataFrame

如何找到 Oracle 数据库的 URL?

PHP - 数据库抽象层使用静态类与单例对象?

更改列名 Rails

表别名如何影响性能?

多语言数据库,默认回退

你如何记录你的数据库 struct ?

QSqlDatabase & QSqlQuery 的正确方法是什么?

为什么 DBMS 不支持 ASSERTION

是否有任何支持协议缓冲区的数据库?