CouchDB是用Erlang開發的面向文檔的資料庫系統,最近剛剛發布了0.10版本。CouchDB不是一個傳統的關聯式資料庫,而是面向文檔的資料庫,其資料存放區方式有點類似lucene的inde檔案格式,CouchDB最大的意義在於它是一個面向web應用的新一代儲存系統,事實上,CouchDB的口號就是:下一代的Web應用儲存系統,那麼讓我們來一一分析CouchDB的特點:
一、CouchDB是分布式的資料庫,他可以把儲存系統分布到n台物理的節點上面,並且很好的協調和同步節點之間的資料讀寫一致性。這當然也得以於Erlang無與倫比的並發特性才能做到。對於基於web的大規模應用文檔應用,然的分布式可以讓它不必像傳統的關聯式資料庫那樣分庫拆表,在應用代碼層進行大量的改動。
二、CouchDB是面向文檔的資料庫,儲存半結構化的資料,比較類似lucene的index結構,特別適合儲存文檔,因此很適合CMS,電話本,地址本等應用,在這些應用場合,文檔資料庫要比關聯式資料庫更加方便,效能更好。
三、CouchDB支援REST API,可以讓使用者使用JavaScript來操作CouchDB資料庫,也可以用JavaScript編寫查詢語句,我們可以想像一下,用AJAX技術結合CouchDB開發出來的CMS系統會是多麼的簡單和方便
其實CouchDB只是Erlang應用的冰山一角,在最近幾年,基於Erlang的應用也得到的蓬勃的發展,特別是在基於web的大規模,分布式應用領域,幾乎都是Erlang的優勢項目。
CouchDB瞭解(-) 特性及實現: http://erlangdisplay.javaeye.com/blog/319839
官方網站:http://couchdb.apache.org/
aka RedBranch.Hammock, a domain-focused CouchDB library for .NET: http://code.google.com/p/relax-net/