CouchDB 与 HBase

Posted

技术标签:

【中文标题】CouchDB 与 HBase【英文标题】:CouchDB vs HBase 【发布时间】:2010-10-02 23:03:32 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

但是,每个点的实现细节都大相径庭,几乎没有相似之处。我会轻描淡写点。

无模式数据模型:

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

分布式设计:

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

Map-Reduce:

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

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

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

【讨论】:

【参考方案2】:

他们没有共同点。 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?

【讨论】:

谢谢 Niels,但我正在寻找这两者之间更详细的比较【参考方案3】:

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

【讨论】:

以上是关于CouchDB 与 HBase的主要内容,如果未能解决你的问题,请参考以下文章

SQL(MySQL)与 NoSQL(CouchDB)[关闭]

将 couchdb 与 Android 应用程序捆绑在一起

CouchDB 与 HBase

同一设备上的每个用户一个pouchDB与单个CouchDB同步

将 CouchDB 与 Node.js 库一起使用

如何有效地将 CouchDB 与规范化数据一起使用?