最近我读了很多关于不同NoSQL数据库以及它们如何被一些主要网站有效部署的内容.我正在开始一个项目,我认为像MongoDB这样的数据库的无模式特性非常有用.我读过的所有内容似乎都表明NoSQL数据库的主要优点是可扩展性.是否为无架构设计选择NoSQL数据库,就像可扩展性的设计决策一样合理?
是的,有时RDBMS不是最好的解决方案,尽管有方法可以容纳用户定义的字段(请参阅XML数据类型,EAV设计模式,或者只是备用通用列),有时无架构数据库是一个不错的选择.
但是,在选择使用文档数据库之前,您需要确定自己的要求,因为您将失去使用关系模型时可能习惯的大量功能.
例如...
如果您在RDBMS数据库中有多个表,则需要研究MongoDB为您提供的功能以满足这些需求.
如果您需要以特定方式查询数据,则需要再次研究MongoDB为您提供的内容.
我不认为NoSQL是RDBMS的替代品,而是一种稍微不同的工具,它带来了自己的优点和缺点,使它更适合某些项目而不是其他项目.
(在某些情况下可能会使用这两个数据库.如果您决定沿着可能使用MongoDB的路线前进,一旦您在那里研究了网站并有更多具体问题,您可以访问Freenode IRC#mongodb频道)