CouchDB是由Apache软件基础开发的开源NoSQL数据库,它是用Erlang编程语言编写的。
有两种类型的数据库:
RDBMS是基于E.F. Codd引入的关系模型。它是SQL的基础,大多数数据库系统遵循RDBMS。 一些常见的数据库是:Oracle,MySQL,MS SQL Server,IBM DB2和Microsoft Access等。
NoSQL数据库是其他类型的数据库(非关系数据库),它提供了一种存储和检索RDBMS中使用的表格形式以外的数据的机制。
NoSQL数据库是无模式的,一致的,支持轻松的复制,具有简单的API,可以处理大量的数据。
NoSQL数据库的主要目标是:
NoSQL数据库比RDBMS更快,因为它与关系数据库相比使用不同的数据结构。 NoSQL数据库可以存储结构化和非结构化数据,如音频文件,视频文件,文档等。
NoSQL数据库可以根据其数据存储性质分为三种类型:
这些数据库将数据存储在键值对中。 这些数据库不具有任何模式,每个数据值都包含索引的键和该键的值。
键-值存储数据库的一些流行产品有:Cassandra,DynamoDB,BerkeleyDB,Riak等。
这些数据库用于在单元格中存储数据。 这些单元格分组在数据列中,这些列进一步分组到列族中。这些列族可以包含任意数量的列。
一些常见的列存储数据库是:BigTable,HBase和HyperTable等。
这些文件存储数据库遵循键值存储的基本思想,“文档”中包含复杂数据,每个文档都分配有唯一的键,用于检索文档。
这些数据库用于存储,检索和管理面向文档的信息,也称为半结构化数据。
一些常见的文件存储数据库是:CouchDB,MongoDb等。
CouchDB是一个开源的NoSQL数据库,专注于易用性。 它由Apache开发,完全兼容web。 CouchDB使用JSON来存储数据,使用JavaScript作为查询语言来转换文档,使用MapReduce和HTTP作为API。
CouchDB是2005年发布的多主应用程序,在2008年成为一个apache项目。