Couchbase Server是一个开放源代码,分布式,多模型NoSQL,JSON文档数据库,为交互式应用程序提供了增强。它也被称为Membase。它由Couchbase,Inc.开发,最初于2010年8月发布。
它使用C++,Erlang,C,Go语言编写。它的服务器旨在为我们提供易于扩展的键值或JSON文档访问,并具有高持续吞吐量和低延迟。这些应用程序可以通过存储,创建,聚合,检索,处理和呈现数据来帮助为许多用户提供服务。它的设计目的是从一台机器收集到跨越许多机器的超大规模部署。
Couchbase的历史:
Memcached项目的几位领导者扩展了Couchbase,以开发具有Memcached的简单性,速度和可伸缩性的键值存储。 NorthScale提供了原始的membase源代码,项目共同赞助者Zynga和Naver Corporation于2010年6月在membase.org上提供了一个新项目。
Membase项目创始人和Membase,Inc.于2011年2月8日宣布与CouchOne合并,并进行了相关的项目合并。合并后的公司在2012年1月称为Couchbase,Inc.。Couchbase发布了Couchbase Server 1.8。 Orbitz于2012年9月将其某些系统更改为使用Couchbase。Couchbase Server 2.0(于2011年7月发布)于2012年12月发布。它包括一个新的JSON文档存储,增量MapReduce,索引和查询以及跨数据中心的复制。
Couchbase的功能:
- 它是一个开放源代码的NoSQL数据库,为我们提供了一种用于存储和恢复数据的机制,该机制的建模方式不同于关系数据库中使用的表格关系。
- 由于它针对交互式应用程序进行了优化,因此很有用。
- 它具有无模式的数据模式。
- 它具有多个数据访问路径来查询和管理我们的JSON文档。
- 它具有灵活的数据访问路径,这使其对于各种应用程序和用例更加有用。
- 它支持将ANSI SQL扩展到JSON的声明性查询语言(N1QL)。
- 它提供了最终一致性和立即一致性方法,以确保分布式系统中的一致性。
- 它不提供参照完整性的概念。因此,没有外键。
- 它支持Map-Reduce方法。
- 它具有预定义的数据类型,例如布尔,字符串,数字等。
- Couchbase的主要数据库模型是文档存储。
- Couchbase的辅助数据库模型是键值存储。
- 它支持XML数据格式。
- 在Couchbase中,可以通过分片完成分区。
- 它支持主从复制和主从复制复制方法。
- 它具有内存功能。
- 它提供了ACID事务概念。
- 它还支持二级索引,没有任何限制。
- 它具有JavaScript和服务器端脚本的功能和计时器。
- 它使用Linux,OS X和Windows作为其服务器操作系统。
- 一些公司(例如Doyle Group,Lockwood Publishing,Code Weavers,MSLGROUP等)都使用它。