文件資料庫
文件資料庫
文件資料庫又叫嵌入式資料庫,將整個資料庫的內容保存在單個索引文件中,以便於資料庫的發布。
目錄
特徵與比較差異
一、文件資料庫特徵(相對於傳統資料庫)
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等文本文件。
格式化文本。
各種音頻、視頻文件等。