Berkely DB的幾個基礎概念

openkk 12年前發布 | 2K 次閱讀 5.2.1版本發布

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

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!