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專案。