【发布时间】:2011-11-25 18:32:49
【问题描述】:
我读过的三种 NoSQL 数据库是键值、面向列和面向文档。
键值对非常简单 - 一个具有普通值的键。
我见过将面向文档的数据库描述为键值对,但值可以是结构,例如 JSON 对象。每个“文档”可以具有所有、一些或没有与另一个相同的键。
面向列似乎与面向文档非常相似,因为您无需指定结构。
那么这两者之间有什么区别,为什么要使用其中一个而不是另一个?
我专门研究了 MongoDB 和 Cassandra。我基本上需要一个可以改变但不影响其他值的动态结构。同时,我需要能够搜索/过滤特定键并运行报告。有了 CAP,AP 对我来说是最重要的。只要没有冲突或数据丢失,数据就可以“最终”跨节点同步。每个用户都会得到自己的“表”。
【问题讨论】: