文件数据库又叫嵌入式数据库,将整个数据库的内容保存在单个索引文件中,以便于数据库的发布。

中文名

文件数据库

外文名

File database

别名

嵌入式数据库

介绍

将整个数据库的内容保存在单个索引文件中,以便于数据库的发布

数据保存格式

文件数据库将数据保存在单一文件中

API支持

支持ODBC和JDBC

数据操作接口

SQL92标准

缺点

由于数据保存在单一文件中,数据库打开时,该文件会被整个load到内存,因此数据库不能过大(100M以内,个人测试

正文

特征与比较差异

一、文件数据库特征(相对于传统数据库)

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等文本文件。

格式化文本。

各种音频、视频文件等。