我还没有遇到过这种情况,但这是我的想法(非常肤浅和简单化的imho)
如果您有一个键值类型的存储,并且所有的访问都是键查找,那么使用NOSQL解决方案。如果您想要基于值(和子值)进行查找,或者有一些更复杂的东西,比如连接,那么您应该使用关系解决方案。事务=关系(我不太确定nosql解决方案是否支持这个概念)它看起来也像NOSQL =非规范化(SQL) (我可能在这里大错特错了)
通常,任何原则/指导原则/经验法则决定为您的应用程序选择数据模型。
发布于 2010-07-21 02:31:18
可以使用各种因素来选择数据库实现,其中一些是:
而有所不同
您还可以在SE电台上查看以下播客:"Episode 165: NoSQL and MongoDB with Dwight Merriman"。
发布于 2010-07-20 17:20:39
像MongoDB这样的文档存储可以做的不仅仅是存储键值对。MongoDB具有丰富的索引和搜索功能。您可以很容易地使用MongoDB对值(和子值)进行查找。
在文档存储中,您可以在同一文档中存储1:n关系。这意味着有更少的需要做连接。我不是说"no need to do joins“,而是"less need to do joins”。
发布于 2010-07-20 02:28:35
NOSQL不是用于数据访问的特定数据模型或范例。它用于引用任意数量的非SQL数据库技术,通常是为分布式数据库应用程序设计的技术。
反规范化通常是一个关系数据库术语。它与NOSQL数据库无关,大多数或所有数据库都不是关系数据库。
https://stackoverflow.com/questions/3279090
复制相似问题