世界动态:coucher是什么意思_CouchDB是什么意思

  • 商洛在线
  • 2023-05-30 06:20:24
  • 来源:互联网

Apache CouchDB是一个开源数据库,专注于易用性,成为“完全拥抱web的数据库”。它是一个以JSON为存储格式,以JavaScript为查询语言的系统。


(资料图片仅供参考)

MapReduce和HTTP是带有API的面向文档的NoSQL数据库。其中一个显著的功能是多主机复制。

CouchDB的第一个版本发布于2005年,2008年成为Apache项目。

与关系数据库不同,CouchDB不在表中存储数据和关系。相反,每个数据库都是一个独立的文档集合。每个文档都维护自己独立的数据和独立的模式。一个应用程序可以访问多个数据库,

例如,其中一个位于用户的手机上,另一个位于远程服务器上。文档的元数据包含版本信息,这使它能够合并可能由数据库链接丢失引起的任何差异。

CouchDB实现了一种多版本并发控制(MVCC)形式,以避免在数据库写操作期间锁定文件。冲突留给应用程序来解决。解决冲突的常见操作是先将数据合并到其中一个文档中,然后删除旧数据。

其他功能包括文档级ACID语义和最终一致性、MapReduce和复制。它还通过内置的web应用程序支持数据库管理。

一、历史

CouchDB (sofa is an acronym for unreliable commercial hardware cluster) is a project founded in 2005 by Damian Katz, a former mail system developer of International Business Machines Corporation.

2008年2月成为Apache孵化器项目,其许可协议变更为Apache License。几个月后,它被升级为顶级项目。

这促使其第一个稳定版本于2010年7月发布。

2012年初,Damien Katz离开了这个项目,专注于Couchbase服务器。不过项目还在继续,2012年4月发布了1.2版本。

1.3版于2013年4月发布。

二、主要功能

文档存储

CouchDB将数据存储为“文档”,它们与一个或多个由JSON表示的字段/值成对出现。字段的值可以是简单的字符串、数字或时间。但是数组和字典也可以使用。

CouchDB中的每个文档都有一个惟一的id,但没有必要的文档模式。

尖刻的语义学

CouchDB提供了ACID语义,以多版本并发控制的形式实现,这意味着CouchDB可以处理大量的并发读写而不发生冲突。

映射/减少视图和索引

存储的数据通过视图组装。在CouchDB中,每个视图都由JavaScript函数组成,这些函数是map/reduce操作中映射的一部分。

这个函数获取一个文档,并将其转换成一个值返回。CouchDB可以索引视图,并在添加、修改和删除文档时更新这些索引。

支持复制的分布式体系结构

CouchDB旨在支持双向复制(同步)和离线操作。这意味着多个复制器可以拥有相同数据的副本,可以修改它们,然后同步这些更改。

REST API

所有数据都有一个通过HTTP公开的唯一URI。REST使用HTTP方法POST、GET、PUT和DELETE来操作相应的四个基本CRUD(Create、Read、

更新、删除)操作来操作所有资源。

最终一致性

CouchDB保证了最终的一致性,使它能够提供可用性和分段容差。

离线支持

CoucbDB可以同步复制到可能离线的终端设备(如智能手机),在设置再次在线时处理数据同步。

CouchDB有一个名为Futon的内置管理界面,可以通过web访问。

三、使用案例、产品部署

CouchDB 的复制和同步强大功能让其能够使用在无法保证网络链接但是应用程序必须继续在离线模式工作的移动设备。

本文coucher是什么意思,CouchDB是什么意思到此分享完毕,希望对大家有所帮助。

标签:



推荐More