特徵與比較差異
一、檔案資料庫特徵(相對於傳統資料庫)
1、數據操作接口
SQL92標準,不管是傳統資料庫,還是檔案資料庫,都必須支持SQL92標準。
2、數據保存格式
傳統資料庫(DB2, Oracle, SQL server等)數據保存的方式各異。
檔案資料庫將數據保存在單一檔案中。
3、API支持
傳統資料庫都支持ODBC和JDBC。
某些檔案資料庫不支持ODBC和JDBC(sqlite都不支持,Berkeley DB有ODBC和JDBC支持,Firdbird有第三方的ODBC驅動)。
二、檔案資料庫與傳統資料庫的比較
優勢: 由於數據保存在單一檔案中,資料庫的部署和發布都比較簡單,適用於內嵌在應用程式中。
數據量不是太大時,速度比傳統資料庫要快。
缺點: 由於數據保存在單一檔案中,資料庫打開時,該檔案會被整個load到記憶體,因此資料庫不能過大(100M以內,個人測試)。
三、各種檔案資料庫的比較
Sqlite:老牌的檔案資料庫,完全免費 ( public domain ),使用方便,無須任何配置,下載原始碼編譯成庫或者直接編譯到應用程式都可以(250K,C代碼)。支持事務機制和blob數據類型。
Berkeley DB:更老牌的檔案資料庫,最穩定的資料庫,完全可以取代大部分傳統client/server資料庫的套用場合;支持xml(代價是30M硬碟空間)。缺點是配置和使用比較複雜,不太適合小項目。
Firebird:與sqlite比較類似,有C#支持。某些發布版本不能build, 很久沒有關注了。
Access:一般不考慮。
xml資料庫檔案。
dat、txt等文本檔案。
格式化文本。
各種音頻、視頻檔案等。