最近,我读了很多关于不同的NoSQL数据库以及一些主要网站是如何有效地部署它们的文章.我正在启动一个项目,我认为MongoDB等数据库的无模式特性将非常有用.不过,我读到的所有内容似乎都表明,NoSQL数据库的主要优势是可伸缩性.为无模式设计 Select NoSQL数据库与 Select 可伸缩性一样是合法的设计决策吗?
最近,我读了很多关于不同的NoSQL数据库以及一些主要网站是如何有效地部署它们的文章.我正在启动一个项目,我认为MongoDB等数据库的无模式特性将非常有用.不过,我读到的所有内容似乎都表明,NoSQL数据库的主要优势是可伸缩性.为无模式设计 Select NoSQL数据库与 Select 可伸缩性一样是合法的设计决策吗?
是的,有时候RDBMS不是最好的解决方案,尽管有一些方法可以容纳用户定义的字段(请参阅XML数据类型、EAV设计模式,或者只是有备用的通用列),但有时候无模式数据库是一个不错的 Select .
但是,在 Select 使用文档数据库之前,您需要明确您的需求,因为您将失go 使用关系模型时可能习惯的大量功能
如...
如果您的RDBMS数据库中没有多个表,则需要研究MongoDB为您提供的特性来满足这些需求.
如果您需要以特定方式查询数据,您同样需要研究MongoDB为您提供了什么.
我不认为NoSQL是RDBMS的替代品,而是一种稍有不同的工具,它有自己的优点和缺点,使它更适合某些项目而不是其他项目.
(在某些情况下,这两个数据库都可以使用.另外,如果您决定走可能使用MongoDB的路由,一旦您研究了那里的网站并有更具体的问题,您可以访问Freenode IRC#MongoDB频道)