這幾種存儲模式各有優缺點,要根據具體的需求來選擇。當鍵值不想用邏輯記錄號時Btree或Hash是必須的選擇。Btree方式比較適合連續的順序讀取,比如,當鍵值是時間值,如果經常有從某一時間點開始連續讀取后繼的記錄的操作,Btree是一種很好的選擇。對隨機的跳躍式讀取,Hash模式則更為恰當。Queue和Recno都以記錄號為鍵值,但前者適合先進先出的讀取方式。
Recno則通常是存取變長文本記錄的理想存儲模式。
5. Berkeley DB Environment的概念
Berkeley DB Environment為一組數據庫同時提供參數設置。更為重要的是,如果要應用更高級的特性,必須要使用Environment功能,比如在想要對保存的數據進行加密存儲時。
6. 更多特點
除了最基本的插入、查詢、刪除功能以外,Berkeley DB還提供了一些特性,比如Transaction,數據加密,同步加鎖控制,錯誤日志等功能。下面的圖片是Berkeley DB功能示意圖。
二. SQLite
1. 簡介
相信PHP的開發人員一定不會對SQLite感到陌生,因為在PHP5中已經集成了這個輕巧的內嵌式數據庫產品。SQLite與Berkeley DB相比,在操作語句上更類似關系型數據庫的產品。絕大多數標準的SQL92語句SQLite都能支持。
SQLite的版權允許無任何限制的應用,包括商業性的產品。在參考鏈接二上提供的SQLite官方主站上可以下載到編譯后的SQLite程序。但推薦應用CVS工具下載最新版本的SQLite源代碼。如果在*nux平臺下,可直接用make編譯。如果在Windows平臺,常用的有兩種方法,
一是應用在Windows平臺下的Linux仿真程序,如MingW或Cygwin提供的make來編譯。
二是應用MS VC平臺編譯。后者設置略有麻煩,但可仿照參考鏈接五上提供的MS VC6工程文件的樣例。應用到這個樣例的時候,要注意的是由于SQLite源代碼在不斷更新,如果直接應用樣例所提供的VC6工程文件編譯會出現一些問題,讀者要根據具體的情況稍微調整一下編譯的設置。
2. 編譯第三方Java接口
SQLite源代碼是C,而且官方網站上只提供了C和Tcl語言的接口。為了應用Java接口,要采用第三方的接口驅程,可在參考鏈接三中找到這個Java接口程序。這個接口提供了兩種連接SQLite 的方式:一是直接用JNI技術調用SQLite的C語言接口,這種方式要求開發人員要對SQLite本身的API也有一定的了解。在第二種方式中,接口程序實現了Java標準規范的JDBC接口,這樣開發人員只要對JDBC有了解就可以了。
下面介紹在Windows系統MS VC6環境中編譯SQLite Java接口(同時包括JNI和JDBC兩個接口)的過程。如果你對C語言編譯的設置很熟悉,可以跳這這段介紹。
文章來源于領測軟件測試網 http://www.kjueaiud.com/