Apache CouchDB面向文檔的數(shù)據(jù)庫(kù)
Apache CouchDB 是一個(gè)面向文檔的數(shù)據(jù)庫(kù)管理系統(tǒng)。它提供以 JSON 作為數(shù)據(jù)格式的 REST 接口來(lái)對(duì)其進(jìn)行操作,并可以通過(guò)視圖來(lái)操縱文檔的組織和呈現(xiàn)。 CouchDB 是 Apache 基金會(huì)的頂級(jí)開源項(xiàng)目。
CouchDB落實(shí)到最底層的數(shù)據(jù)結(jié)構(gòu)就是兩類B+Tree 。
與現(xiàn)在流行的關(guān)系數(shù)據(jù)庫(kù)服務(wù)器不同,CouchDB 是圍繞一系列語(yǔ)義上自包含的文檔而組織的。 CouchDB 中的文檔是沒有模式的(schema free),也就是說(shuō)并不要求文檔具有某種特定的結(jié)構(gòu)。 CouchDB 的這種特性使得相對(duì)于傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)而言,有自己的適用范圍。一般來(lái)說(shuō),圍繞文檔來(lái)構(gòu)建的應(yīng)用都比較適合使用 CouchDB 作為其后臺(tái)存儲(chǔ)。 CouchDB 強(qiáng)調(diào)其中所存儲(chǔ)的文檔,在語(yǔ)義上是自包含的。這種面向文檔的設(shè)計(jì)思路,更貼近很多應(yīng)用的問題域的真實(shí)情況。對(duì)于這類應(yīng)用,使用 CouchDB 的文檔來(lái)進(jìn)行建模,會(huì)更加自然和簡(jiǎn)單。與此同時(shí),CouchDB 也提供基于 MapReduce 編程模型的視圖來(lái)對(duì)文檔進(jìn)行查詢,可以提供類似于關(guān)系數(shù)據(jù)庫(kù)中 SQL 語(yǔ)句的能力。 CouchDB 對(duì)于很多應(yīng)用來(lái)說(shuō),提供了關(guān)系數(shù)據(jù)庫(kù)之外的更好的選擇。
CouchDB 的 JDBC 驅(qū)動(dòng)程序——jcouchdb
