Berkeley DB

為鍵值對資料提供嵌入式資料庫的軟體函式庫

Berkeley DB(BDB)是一個高效的嵌入式數據庫鍵-值數據庫編程庫,C語言C++JavaPerlPythonTcl以及其他很多語言都有其對應的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數據庫編程庫兼容的接口,包括dbmndbmhsearch

主要版本

編輯
  • 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 ServerOracle數據庫等更簡單的體系結構而著稱。例如,它不支持網絡訪問—程序通過進程內的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的知名軟件的名單。

參見

編輯

參考資料

編輯
  1. ^ Oracle Berkeley DB SQL API vs.SQLite API – Integration, Benefits and Differences (PDF). [2011-08-01]. (原始內容存檔 (PDF)於2011-08-12). 
  2. ^ Oracle Berkeley DB Licensing Information. [2011-08-01]. (原始內容存檔於2011-08-28). 
  3. ^ Db 1.85—the Original, BSD license Berkeley DB. [2011-08-01]. (原始內容存檔於2011-08-18). 

外部連結

編輯