这两者之间有什么相似之处吗?
从表面上看,它们有许多相似之处:
无架构数据模型
分布式设计
Map-Reduce作为处理模型(与SQL相对)
但是,每个点的实现细节是完全不同的,并且几乎没有相似之处.我会轻描淡写地点.
无架构数据模型:
CouchDB是一个文档存储,允许您以JSON格式存储任何文档.
HBase是一个面向列的存储,您可以在其中存储列值并能够将这些值组合成一行(非常简单的解释).
分布式设计:
CouchDB使用点对点设计来分发数据.
HBase使用主节点来指示列和行的写入位置.(再次简单化解释).
的map-reduce:
CouchDB有一个名为"views"的内置机制,允许您定义嵌入式map-reduce作业.这些"视图"生成一个"表",其中包含map-reduce作业的输出,您可以像使用普通表一样使用该表.与关系数据库中的物化视图类似.
HBase没有内置的map-reduce机制.相反,您可以将HBase与Hadoop连接起来以执行Map-Reduce作业.您对结果的处理与HBase无关,您可以导入数据或移动到另一个数据库.
我试图不详细说明,希望我解释的内容足以让你理解.
KristófKovács 对NoSQL领域的这些数据库以及其他数据库的功能进行了很好的概述.
他们没有任何共同之处.CouchDB是一个数据库,Hadoop是一个分布式处理框架.
您应该比较CounchDB和Hbase/Hive(基于Hadoop).
所以我认为这个老问题应该让你顺利: bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase,他们有什么共同之处?