CouchDB是什麼?

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數據庫可以根據其數據存儲性質分爲三種類型:

  • 鍵-值存儲
  • 列存儲
  • 文件存儲

CouchDB是什麼?

鍵-值存儲

這些數據庫將數據存儲在鍵值對中。 這些數據庫不具有任何模式,每個數據值都包含索引的鍵和該鍵的值。

鍵-值存儲數據庫的一些流行產品有:Cassandra,DynamoDB,BerkeleyDB,Riak等。

列存儲

這些數據庫用於在單元格中存儲數據。 這些單元格分組在數據列中,這些列進一步分組到列族中。這些列族可以包含任意數量的列。

一些常見的列存儲數據庫是:BigTable,HBase和HyperTable等。

文件存儲

這些文件存儲數據庫遵循鍵值存儲的基本思想,「文檔」中包含複雜數據,每個文檔都分配有唯一的鍵,用於檢索文檔。

這些數據庫用於存儲,檢索和管理面向文檔的信息,也稱爲半結構化數據。

一些常見的文件存儲數據庫是:CouchDB,MongoDb等。

CouchDB是什麼?

CouchDB是一個開源的NoSQL數據庫,專注於易用性。 它由Apache開發,完全兼容web。 CouchDB使用JSON來存儲數據,使用JavaScript作爲查詢語言來轉換文檔,使用MapReduce和HTTP作爲API。

CouchDB是2005年發佈的多主應用程序,在2008年成爲一個apache項目。