Berkeley DB(以下簡稱 BDB)是一個開源嵌入式資料庫管理系統,以函式庫形式鏈接進應用程式,無獨立伺服器進程、無網路通訊層。程式設計師僅需呼叫簡單 API 即可完成資料的增刪改查。
| 維度 | 傳統 C/S 資料庫 | Berkeley DB |
|---|---|---|
| 架構 | 客戶端-伺服器,獨立進程 | 嵌入式,同進程地址空間 |
| 通訊 | 網路協議(TCP/IP 等) | 函式呼叫,零 IPC 開銷 |
| 查詢語言 | SQL | 無 SQL,鍵值/游標 API |
| 並發控制 | 伺服器端鎖管理器 | 函式庫內部實現鎖、事務、日誌 |
| 部署 | 安裝配置伺服器 | 僅需隨應用分發動態庫(~300 KB) |
C、C++、Java、Perl、Tcl、Python、PHP 等主流語言皆有官方或社群維護的綁定。
多進程/多線程並發存取時,鎖管理、事務日誌(WAL)、儲存管理(B-tree/Hash/Queue/Recno)完全在函式庫內部完成,對應用透明。支援 ACID 事務、死鎖檢測、检查點。
簡單函式呼叫替代 SQL 解析/優化/執行計畫生成,極大降低 CPU 開銷,延遲極低。
「麻雀雖小,五臟俱全」。Berkeley DB 以極小體積、零配置、嵌入式架構,提供企業級的事務、並發、恢復能力,是資源受限環境下唯一正確的選擇,也是高效能鍵值存儲的經典基石。