1、 簡介html
Berkeley DB(BDB)是一個高性能的,嵌入數據庫編程庫,和C語言,C++,Java,Perl,Python,Tcl以及其餘不少語言都有應用程序編程界面。Berkeley DB能夠保存任意類型的鍵/值對,並且能夠爲一個鍵保存多個數據。Berkeley DB能夠支持數千的併發線程同時操做數據庫,支持最大256TB的數據,普遍用於各類操做系統包括大多數Unix類操做系統和Windows操做系統以及實時操做系統。數據庫
Berkeley DB Java Edition (JE)是一個徹底用JAVA寫的,它適合於管理海量的,簡單的數據。編程
Berkeley DB特徵:緩存
1. 數據存儲能力很強(Large database support)多線程
2. 支持多線程(Multiple thread and process support)併發
3. 數據庫的記錄很簡單,只是簡單的鍵值對(Database records)oracle
4. 提供事務支持(Transactions)ide
5. 提供索引支持(Indexes)性能
6. 提供內存緩存的支持(In-memory cache)spa
7. 按照連續的記錄文件存儲數據(Log files)
8. 後臺線程的支持(Background threads)
9. 數據庫環境封裝了一個或多個數據庫(Database environments)
10. 支持數據庫的備份和恢復(Backup and restore)
2、 獲取JE
JE下載地址:http://www.oracle.com/technology/software/products/berkeley-db/je/index.html
解開包後 把JE_HOME/lib/je-<version>.jar 中的jar文件添加到你的環境變量中就能夠使用je了。相關幫助文檔能夠參考 JE_HOME/docs/index.html源代碼見JE_HOME/src/*.*。(就是把你獲得的jre文件導入到你的項目中)
3、 JE常見異常
DatabaseNotFoundException 當沒有找到指定的數據庫的時候會返回這個異常
DeadlockException 線程間死鎖異常
RunRecoveryException 回收異常,當發生此異常的時候,你必須得從新打開環境變量。
4、 關於日誌文件必須瞭解的六項
JE的日誌文件跟其餘的數據庫的日誌文件不太同樣,跟C版的DBD也是有區別的
1.JE的日誌文件只能APPEND,第一個日誌文件名是 00000000.jdb,當他增加到必定大小的時候(默認是10M),開始寫第二個日誌文件00000001.jdb,已此類推。
2.跟C版本有所不一樣,JE的數據日誌和事務日誌是放在一塊兒的,而不是分開放的。
3. JE cleaner負責清掃沒用到的磁盤空間,刪除後,或者更新後新的記錄會追加進來,而原有的記錄空間就不在使用了,cleaner負責清理不用的空間。
4. 清理並非當即進行的,當你關閉你的數據庫環境後,經過調用一個cleaner方法來清理。
5. 清理也不是自動執行的,須要你本身手動調用cleaner 方法來定時清理的。
6. 日誌文件的刪除僅發生在檢查點以後。cleaner準備出哪些log 文件須要被刪除,當檢查點事後,刪掉一些不在被使用的文件。每寫20M的日誌文件就執行一次檢查點,默認下。