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資料庫可以根據其資料儲存性質分為三種型別:

  • 鍵-值儲存
  • 列儲存
  • 檔案儲存

鍵-值儲存

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

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

列儲存

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

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

檔案儲存

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

這些資料庫用於儲存,檢索和管理面向文件的資訊,也稱為半結構化資料。

一些常見的檔案儲存資料庫是:CouchDBMongoDb等。

CouchDB是什麼?

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

CouchDB是2005年發布的多主應用程式,在2008年成為一個apache專案。