Berkeley DB
Berkeley DB(BDB)是一個高效的嵌入式資料庫和鍵-值資料庫編程庫,C語言、C++、Java、Perl、Python、Tcl以及其他很多語言都有其對應的API。Berkeley DB可以儲存任意類型的鍵/值對(Key/Value Pair),而且可以為一個鍵儲存多個數據。Berkeley DB支援讓數千的並行線程同時運算元據庫,支援最大256TB的數據,廣泛用於各種作業系統,其中包括大多數類Unix作業系統、Windows作業系統以及即時作業系統。
源起
[編輯]Berkeley DB的前身是伯克利加州大學為了移除受AT&T限制的程式碼,從BSD 4.3到4.4時所改寫的軟件。1996年,網景公司請求Berkeley DB的作者群改善函式庫,以便在網景公司的LDAP伺服器和網景瀏覽器中使用,Sleepycat Software公司便應運而生(2006年2月,甲骨文公司收購了Sleepycat Software)。
Berkeley DB以Sleepycat Public License發行(該特許條款為OSI及FSF所認可的條款),發行時包括了完整的程式碼、編譯工具、測試套件,並附帶了說明文件。由於程式碼以及工具程式質素良好,Berkeley DB常被其他開放原始碼軟件所使用。對於不想使用Sleepycat Public License的開發團體,甲骨文公司也提供了其他付費的特許方式。
Berkeley DB包含有與某些經典Unix資料庫編程庫相容的介面,包括dbm、ndbm和hsearch。
主要版本
[編輯]- Berkeley DB:支援常見的作業系統,如大多數的類UNIX作業系統、Windows系統以及即時作業系統。對於一些對一些老的UNIX資料庫(例如dbm與ndbm und hsearch),Berkeley DB還有對應的相容介面。
- Berkeley DB XML:是一個介面,通過它可以實現對XML數據存貯的支援。訪問XML數據時,會使用相應的查詢陳述式,如Xquery與Xpath。
- Berkeley DB Java Edition:在Java平台上,Oracle提供一個純Java程式編寫的Berkeley DB,只需要操作系統支援Java虛擬機便可執行。
體系結構
[編輯]Berkeley DB以擁有比Microsoft SQL Server和Oracle數據庫等更簡單的體系結構而著稱。例如,它不支援網絡訪問—程式通過行程內的API訪問資料庫。
Berkeley DB不支援SQL或者其他的資料庫查詢語言,不支援表結構和數據列。
訪問資料庫的程式自主決定數據如何儲存在記錄里,Berkeley DB不對記錄里的數據進行任何包裝。記錄和它的鍵都可以達到4G位元組的長度。
儘管架構很簡單,Berkeley DB卻支援很多進階的資料庫特性,比如ACID 資料庫事務處理,細粒度鎖,XA介面,熱備份以及同步複製。
Berkeley DB與SQLite的整合
[編輯]Berkeley DB 11g R2加入SQLite程式組件並開始支援SQL語言。[1]
授權方式
[編輯]2.0或以上版本的Berkeley DB使用雙重授權;而2.0版本以下的則使用BSD特許條款,可自由作商業用途。[2][3]
使用Berkeley DB的程式
[編輯]Berkeley DB是一些輕量級目錄訪問協定伺服器、資料庫系統以及其他很多商業和開源應用的底層儲存系統。下面是使用了Berkeley DB的知名軟件的名單。
- Subversion - 一種設計用來代替CVS的版本控制系統。
- KDevelop - 一個自由軟件,Linux和其他Unix類作業系統下的C/C++整合式開發環境。
- Sun Grid Engine - 一個開源cluster軟件。
- Movable Type - California編寫的一個基於Six Apart的Blog系統。
- Caravel CMS - 一個開源的內容管理系統,原為超過2000家的Mennonite Church組織設計。
- OpenLDAP - 一個自由開源的輕量級目錄訪問協定的實現。
- KLibido - 一個自由開源的新聞組閱讀器,為二進制格式下載最佳化。
- Citadel - 一個開源的群件平台,全部數據儲存,包括資訊庫,都儲存在Berkeley DB內。
- Bogofilter - 一個開源spam過濾器,其單詞表使用Berkeley DB儲存。
參見
[編輯]- LevelDB - 由Google所研發的鍵/值對數據庫編程庫
- Apache Derby - 由Apache軟件基金會所研發的純Java嵌入式數據庫
參考資料
[編輯]- ^ Oracle Berkeley DB SQL API vs.SQLite API – Integration, Benefits and Differences (PDF). [2011-08-01]. (原始內容存檔 (PDF)於2011-08-12).
- ^ Oracle Berkeley DB Licensing Information. [2011-08-01]. (原始內容存檔於2011-08-28).
- ^ Db 1.85—the Original, BSD license Berkeley DB. [2011-08-01]. (原始內容存檔於2011-08-18).
外部連結
[編輯]- (英文) Berkeley DB官方網頁 (頁面存檔備份,存於互聯網檔案館)