CouchDB与CouchBase的比较

简介: 《CouchDB与CouchBase的比较》 一、概述 Apache CouchDB和CouchBase两个NoSQL数据库,都是开源、免费的NoSQL文档型数据库,都使用了JSON作为其文档格式。
《CouchDB与CouchBase的比较》

一、概述

Apache CouchDB和CouchBase两个NoSQL数据库,都是开源、免费的NoSQL文档型数据库,都使用了JSON作为其文档格式。Apache CouchDB和CouchBase的相似性极高,但也有不少不同之处。基本上CouchBase结合了Apache CouchDB和MemBase两种数据库的功能特性而构建的。CouchDB的面向文档的数据模型、索引和查询功能与MemBase分布式键值数据模型相结合、高性能、易于扩展、始终保持接通的能力,这就是CouchBase。

简而言之,
CouchBase = CouchDB + MemBase

但是,CouchBase并非CouchDB的新版本,相反,它实际上是MemBase的新版本。CouchBase Server实际上是MemBase Server的新名字。CouchBase并非CouchDB的替代,而是MemBase的替代版本。CouchBase仍然使用了Memcached协议,而没有使用CouchDB的RESTful风格的API。同时,CouchDB仍然是CouchDB,是Apache旗下的项目,由Apache负责维护和演进。而且,CouchDB并非过时的CouchBase,CouchDB仍然是一个比较活跃的开源项目。而CouchBase是另一个完全独立的项目。

二、CouchDB和CouchBase的相同之处:

1)CouchDB和CouchBase两者都是NoSQL文档数据库,都使用了JSON作为其文档格式。
2)CouchDB和CouchBase两者都使用了相同的索引和查询方法。
3)CouchDB和CouchBase两者都使用了相同的复制系统的方法,除了P2P复制。
尽管CouchBase的开发结合了CouchDB和MemBase的功能特性,但是CouchDB和CouchBase还是有很多的不同之处,尤其是在集群、缓存、许可证等方面。

三、CouchDB和CouchBase的不同之处:

1、集群系统
CouchBase内建了一个集群系统,允许数据自动跨多种节点传播。而CouchDB是一个单节点的解决方案,支持P2P复制技术,它更适合分散式的系统,以及适合不需要把数据传播到多个节点的场景。

2、缓存系统
CouchBase与MemBase相似,它内建了一个基于Memcached的缓存技术,始终如一地提供了亚毫秒级的读写性能,在每个节点上每秒可执行上百万个操作。Apache CouchDB是一个基于磁盘的数据库,通常它更适合超低延迟或吞吐量需求不高的场合。

3、许可证系统
CouchBase不完全是开源、免费的软件。它有两个版本:社区版(免费、不包含最新的Bug修复)和企业版(使用有限制、需经过CouchBase公司的审核,还有一些很多人觉得无法接受的其他条款限制)。
CouchDB是一个开源、免费的软件(没有附带任何条件),它基于Apache License 2.0许可证。

4、其它的不同
CouchBase不支持以下CouchDB的特性:
1)RESTful API(只用于查看,无CRUD操作)
2)P2P复制
3)支持CouchApps
4)Futon(提供了不同的管理界面)
5)文档ID
6)数据库的概念(这里只有桶Bucket)
7)在CouchDB数据库和CouchBase Server之间做复制
8)明确的附件(你必须存储另外的文件作为新键值对)
9)CouchBase中的一切操作都使用了HTTP API,这与CouchDB不同(你需要使用CouchBase Server的SDK或其它实验性的客户端库,无需curl和wget使用经验)
10)CouchDB API(CouchBase使用了Memcached的API来代替)
11)在CouchBase中,不能通过浏览器完成所有工作,而在CouchDB中则可以(使用CouchBase必须写服务器端的应用。)
12)使用CouchBase,开发两层架构的Web应用是不可能的,而使用CouchDB则可以(使用CouchBase必须写服务器端的应用来适配浏览器和数据库,就像关系数据库那样。)

目录
相关文章
|
存储 Java 测试技术
ClickHouse Keeper: 一个用 C++ 编写的 ZooKeeper 替代品
ClickHouse Keeper: 一个用 C++ 编写的 ZooKeeper 替代品介绍
70830 34
ClickHouse Keeper: 一个用 C++ 编写的 ZooKeeper 替代品
|
SQL 缓存 NoSQL
为什么从 MongoDB 转向 Couchbase ?
毫无疑问,MongoDB 是当前较为流行的可用于构建应用程序的一种 NoSQL 数据库。但就像许多以电子表格开始的“初学者”进行数据分析项目一样,当需要深入时,也需要进行升级。当公司的应用程序从“个人作坊”推广至企业规模运行时,他们经常会发现 MongoDB 已开始无法满足他们的业务诉求。
169 0
|
存储 SQL JSON
「文档数据库之争」MongoDB和CouchDB的比较
「文档数据库之争」MongoDB和CouchDB的比较
|
SQL 存储 NoSQL
Cassandra 最佳实践系列(1) - CQL QuickStart
Cassandra最佳实践之简单搭建以及使用cql
2262 0
|
NoSQL Apache
5个选择Apache Cassandra 而非DynamoDB的原因
5个选择Apache Cassandra 而非DynamoDB的原因
5411 0
|
JSON 数据格式
|
JSON 数据格式