Berkeley 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

發佈了71 篇原創文章 · 獲贊 9 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章