在 NoSQL 的文檔型分支中,有兩個杰出的代表,一個當然是被稱為下代mySQL的 MongoDB,而另一個就是CouchDB,同是文檔型存儲,CouchDB 與MongoDB 在應用層面上走了兩條截然不同的路線,下面推薦的一篇文文章,是一篇非常好的CouchDB教程,想了解CouchDB的話,非常值得一看:

CouchDB 特性介紹:

  • CouchDB is a JSON document-oriented database written in Erlang.CouchDB是一個用Erlang 寫的文檔型數(shù)據(jù)庫。
  • It is a highly concurrent database designed to be easily replicable, horizontally, across numerous devices and be fault tolerant.支持高并發(fā)訪問,支持數(shù)據(jù)同步,高容錯性的分布式存儲
  • It is part of the NoSQL generation of databases.它是NoSQL 體系中的一員
  • It is an open source Apache foundation project. 它是一個Apache 基金下的開源項目
  • It allows applications to store JSON documents via its RESTful interface. 它支持JSON 數(shù)據(jù)的存儲,支持RESTful方式的接口。
  • It makes use of map/reduce to index and query the database.他使用map/reduce 來構建索引及進行數(shù)據(jù)查詢操作

CouchDB的優(yōu)勢:

  • JSON Documents – 文檔在CouchDB中以JSON格式存儲.
  • RESTful Interface – 對CouchDB的所有操作,包括數(shù)據(jù)CRUD,數(shù)據(jù)庫管理及數(shù)據(jù)同步,都可能通過HTTP方式進行。
  • N-Master Replication – 你可以使用無限多個 master 機器,這樣可能會讓你能夠構建很有意思的數(shù)據(jù)網(wǎng)絡拓撲。
  • Built for Offline – CouchDB 能夠運行在移動設備上(Android 系統(tǒng)),他可以讓你的移動設備在離線時存儲數(shù)據(jù),在接入網(wǎng)絡時再同步到云端存儲。
  • Replication Filters – 可以在同步復制操作中加上一個過濾器,讓你有選擇性的同步數(shù)據(jù)。

CouchDB:為Internet而生:

使用CouchDB,你不僅可以把它當作一個存儲,更推薦的方式是完全使用它來構建應用程序,你可以把工作代碼直接寫在CouchDB 中,完全不需要另外的WEB Server,可以減少開銷。這也是CouchDB將自己稱為是為Internet而生的原因。

CouchDB的數(shù)據(jù)查詢:

與其他很多存儲設備不同的是,CouchDB并不支持動態(tài)查詢,相反的,它需要事先換需要查詢的條件構建view,view通常是一個map函數(shù),在已有數(shù)據(jù)基礎上生成一個數(shù)據(jù)子集,在查詢這個view時,如果數(shù)據(jù)有變更,會觸發(fā)map函數(shù)增量更新view的內容并返回。這種方式也被稱作惰性索引機制。

使用教程:

文章接下來的部分還列出了一個詳細的CouchDB 使用教程:

  1. 安裝CouchDB
  2. 使用CouchDB 強大的 WEB 管理工具:FUTON
  3. CouchDB 用戶管理
  4. 創(chuàng)建一個數(shù)據(jù)文檔
  5. 更新數(shù)據(jù)文檔
  6. 通過CURL創(chuàng)建文檔
  7. 查詢所有文檔
  8. 創(chuàng)建一個map函數(shù)
  9. 運行一個reduce函數(shù)

原文鏈接:http://goo.gl/WK7q0