这两者之间有什么相似之处吗?
问问题
8877 次
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 回答