我一直听到很多关于无模式(通常是分布式)的数据库系统的讨论,比如MongoDB,CouchDB,SimpleDB等等。 虽然我可以理解他们可能是有价值的某些目的,在我的大多数应用程序中,我试图持有具有特定types的特定数量的字段的对象,我只是自动思考在关系模型中。 我一直在考虑具有唯一整数ID,空/非空字段,SQL数据types和select查询来查找集的行。 虽然我被这些新系统的分布式本质和简单的JSON / RESTful接口所吸引,但是我不明白如何松散地input键/值哈希将帮助我进行开发。 为什么松散types的无模式系统能够保持干净的数据集? 我怎么能find所有date在x和y之间的项目,当他们可能没有date? 有没有join的概念? 我知道很多系统有自己的差异和优势,但是我想知道范式的差异。 我想这是一个开放式的问题,但也许社区的答案和他们亲眼看到这些系统的优点的方式将有助于启发我和其他人什么时候我想要利用这些(公认的更多臀部)系统,而不是传统的RDBMS。