CouchDB是由Apache軟體基礎開發的開源NoSQL資料庫,它是用Erlang編程語言編寫的。
有兩種類型的資料庫:
- 關係資料庫管理系統(遵循SQL)
- NoSQL
CRDBMS:關係資料庫管理系統
RDBMS是基於E.F. Codd引入的關係模型。它是SQL的基礎,大多數資料庫系統遵循RDBMS。 一些常見的資料庫是:Oracle,MySQL,MS SQL Server,IBM DB2和Microsoft Access等。
NoSQL資料庫
NoSQL資料庫是其他類型的資料庫(非關係資料庫),它提供了一種存儲和檢索RDBMS中使用的表格形式以外的數據的機制。
NoSQL資料庫是無模式的,一致的,支持輕鬆的複製,具有簡單的API,可以處理大量的數據。
NoSQL資料庫的主要目標是:
- 簡約設計
- 很好的水準擴展能力
- 更好地控制可用性
NoSQL資料庫比RDBMS更快,因為它與關係資料庫相比使用不同的數據結構。 NoSQL資料庫可以存儲結構化和非結構化數據,如音頻檔,視頻檔,文檔等。
NoSQL資料庫可以根據其數據存儲性質分為三種類型:
- 鍵-值存儲
- 列存儲
- 檔存儲
鍵-值存儲
這些資料庫將數據存儲在鍵值對中。 這些資料庫不具有任何模式,每個數據值都包含索引的鍵和該鍵的值。
鍵-值存儲資料庫的一些流行產品有:Cassandra,DynamoDB,BerkeleyDB,Riak等。
列存儲
這些資料庫用於在單元格中存儲數據。 這些單元格分組在數據列中,這些列進一步分組到列族中。這些列族可以包含任意數量的列。
一些常見的列存儲資料庫是:BigTable,HBase和HyperTable等。
檔存儲
這些檔存儲資料庫遵循鍵值存儲的基本思想,“文檔”中包含複雜數據,每個文檔都分配有唯一的鍵,用於檢索文檔。
這些資料庫用於存儲,檢索和管理面向文檔的資訊,也稱為半結構化數據。
一些常見的檔存儲資料庫是:CouchDB,MongoDb等。
CouchDB是什麼?
CouchDB是一個開源的NoSQL資料庫,專注於易用性。 它由Apache開發,完全相容web。 CouchDB使用JSON來存儲數據,使用JavaScript作為查詢語言來轉換文檔,使用MapReduce和HTTP作為API。
CouchDB是2005年發佈的多主應用程式,在2008年成為一個apache專案。