10

这两者之间有什么相似之处吗?

4

3 回答 3

16

从表面上看,它们有许多相似之处:

  • 无模式数据模型
  • 分布式设计
  • Map-Reduce 作为处理模型(相对于 SQL)

然而,这些点中的每一个是如何实现的细节是完全不同的,并且几乎没有相似之处。我会轻描淡写点。

无模式数据模型:

  • CouchDB是一个文档存储,允许您以 JSON 格式存储任何文档。
  • HBase是一种面向列的存储,您可以在其中存储列值并能够将这些值分组到一行中(非常简单的解释)。

分布式设计:

  • CouchDB使用点对点设计来分发数据。
  • HBase使用主节点来指示列和行的写入位置。(再次简单的解释)。

地图减少:

  • CouchDB有一个称为“视图”的内置机制,允许您定义嵌入式 map-reduce 作业。这些“视图”生成一个包含 map-reduce 作业输出的“表”,然后您可以像使用普通表一样使用它。类似于关系数据库中的物化视图。
  • HBase没有内置的 map-reduce 机制。相反,您可以将 HBase 与 Hadoop 连接起来以执行 Map-Reduce 作业。您对结果所做的操作与 HBase 无关,您可以导入数据或移动到另一个数据库。

我试图不详细说明,希望我所解释的足以让你理解。

Kristóf Kovács对这些数据库的特性以及 NoSQL 领域的其他特性进行了不错的概述。

于 2011-07-27T03:18:26.017 回答
5

他们没有任何共同之处。CouchDB 是一个数据库,Hadoop 是一个分布式处理框架。

您应该改为比较 CounchDB 和 Hbase/Hive(基于 Hadoop)。

所以我认为这个老问题应该让你上路: bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase,它们有什么共同点?

于 2010-10-03T06:27:46.530 回答
2

这是很多 NoSQL 风格的一个很好的比较:http: //kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

于 2011-01-05T22:12:45.943 回答