Berkely DB的幾個基礎概念
Database(數據庫),類似關系數據庫中表,Database包含記錄,每條記錄包含2個數據項:key(鍵)和data(數據),就像一個 包含2個字段的表。Data(有時也可以是key,這依賴于訪問方法)可以是任意的復合數據類型,通過復合類型,可以很容易的將2列的表轉換為n列的表, 其中n-1列由復合data提供。通常,一個Database被設計用來存儲一種類型的數據(就像關系數據庫中的一個表被設計用來存儲一種類型的數據), 因為大多數應用程序需要管理多種類型的數據,因此一個DB應用程序需要多個Database來管理多種類型的數據。
Environment(環境)是DB提供的一種機制能夠有效的管理多個數據庫。通過Environment訪問Database提供了直接訪問Database所不能提供的如下特性:
多個Database存儲在一個物理文件中
多線程和多進程支持
事務支持
高可用(HA)支持
日志子系統
Access Method(訪問方法)是關于記錄的組織形式,一個Database需要指定一種Access Method(BTree、Hash、Queue、Recno),不像關系型數據庫那樣,數據的組織形式對用戶不可見。訪問方法只有在數據庫被創建的時候 才能設置。
BTree
數據存儲在有序平衡的B+樹型結構中。BTree記錄的Key和Data允許是任意的復合類型,包括簡單類型,如integer和string或者復合類型,如structure。BTree可選擇地支持Key值相同的重復記錄。
Hash
數據存儲在可擴展的線性hash表中。像Btree一樣,記錄的Key和Data支持復合類型,并可選地支持重復記錄。
Queue
數據以定長記錄的方式存儲在隊列中。每條記錄使用邏輯序號作為Key。該訪問方法為快速插入隊尾而設計,并從對頭刪除或者返回記錄。與其他訪問方法不同的,Queue提供記錄級別的鎖,這對于需要并發訪問隊列的應用提供了性能上的改進。
Recno
數據存儲為定長或者變長的記錄。像Queue一樣,使用邏輯記錄序號作為記錄的Key。
獲取DB
http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html