我已经听到很多关于MongoDB,CouchDB,SimpleDB等无模式(经常分布式)数据库系统的讨论......无模式数据库系统的吸引力是什么?
虽然我能理解它们可能对某些目的有价值,但在大多数情况下我的应用程序中,我试图坚持具有特定类型的特定数量的字段的对象,我只是自动思考关系模型。我总是考虑具有唯一整数ID,空/非空字段,SQL数据类型和选择查询以查找集合的行。虽然我被这些新系统的分布式本质和简单的JSON/RESTful接口所吸引,但我不明白如何松散地键入键/值哈希值可以帮助我进行开发。为什么松散型,无模式系统对于保持干净的数据集是有好处的?我怎样才能找到所有日期在x和y之间的项目,当他们可能没有日期?有没有加入的概念?
我知道很多系统都有自己的差异和优势,但是我想知道范式的不同。我想这是一个开放式的问题,但也许社区的答案和他们亲眼看到这些系统的优点的方式将有助于启发我和其他人关于什么时候我想要利用这些(公认的更多臀部)系统而不是传统的RDBMS。
MongoDB(至少与Mongoose一样)是_NOT_无模式的。 – 2017-11-07 17:08:58