CouchDB与HBase

时间:2010-10-02 23:03:33

标签: couchdb hbase

这两者之间是否有任何相似之处?

3 个答案:

答案 0 :(得分:15)

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

  • 无架构数据模型
  • 分布式设计
  • Map-Reduce as processing model(与SQL相对)

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

无架构数据模型:

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

分布式设计:

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

地图-降低:

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

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

KristófKovács在NoSQL领域创建了一个不错的overview of the features这些数据库以及其他数据库。

答案 1 :(得分:5)

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

您应该将CounchDB和Hbase / Hive(基于Hadoop)进行比较。

所以我认为这个较老的问题会让你顺利进行: bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, what do they have in common?

答案 2 :(得分:2)