2024年5月28日发(作者:)

几个小型数据库的比较

Access,MSDE 2000,Embedded Firebird,SQLite等都是可以免费再分发(free

redistributable)的数据库。

相比而言,MSDE 2000 显著缺点是需要安装,最大优点是和服务器端的 SQL Server

编程模型一致,开发便利。

Access的显著缺点是功能较少,不支持事务等常用功能,最大优点是简单、多数开发

者都很熟悉,部署也很方便。

SQLite支持事务,也是一款单文件数据库,比较不足的是 .NET Data Provider 还不

是很成熟。

Firebird则同时具有:单文件、部署简单不需安装(只需 XCOPY 两个文件)、支持

事务、存储过程、触发器,.NET Data Provider比较稳定成熟等优点。

这个星球上的数据库实在不胜枚举,这里只列一些我接触过的常见的。

可以稍微夸张点说,有交互的应用,起码得用一下数据保存,即便是自定义结构的数

据保存,还是最常见的INI、XML等,都可以算是“数据库”,真正点的,如DBase系列、

FoxBase、FoxPro、MSAccess、InterBase、MS SQL Server、Oracle、DB2等,这些

是商业化的数据库,前面几个只能算是数据库,后面几个是RMDBS(关系型数据库管理

系统)。

对应商业化的,有开源的:SQLite、SimpleSQL、Berkely DB、Minosse、Firebird( 前

身是是Borland公司的InterBase)、PostgreSQL、MySQL等。

□SQLite:大家可以看我的SQLite系列随笔,C编写的,可以跨操作平台,支持大部

分ANSI SQL 92,它是嵌入式的轻量级关系形数据库引擎,只需要一个DLL,体积为250k,

数据库也只是一个文件,零配置,便可工作。既然开源,你甚至可以把它嵌入你的程序中。

核心开发人员只有一个,最近加入了另外一个,也就是2个人而已,实在佩服,目前发展

到3.1.0,相当高效稳定,有开源驱动在上有其 Data Provider

for SQLite :/projects/adodotnetsqlite/ 。

□SimpleSQL:相对SQLite要大几倍,但也是轻量级的,功能稍微强大一点,C++

编写,有OLE、Java等版本。

□Berkely DB:C++编写的大型关系型数据库系统,还额外地支持XML(把XML当成

数据库),号称2百万的安装量,MySQL也只不过号称5百万安装量而已,跨平台。

□Minosse:纯C#编写的大型关系型数据库系统,理想是超越MS SQL Server!最新

版本:0.2.0,真难得,纯Java写的看得多了,纯C#的,不是移植别人的,还是第一个,

佩服作者:包含C/S和嵌入式版本,并可跨越大部分平台,因为它不用Windows的东西,

可以在Mono下编译。

□Firebird:这个东西太牛了,目前有1.5稳定版本已经拥有大量特性,完全支持ANSI

SQL92、98等,一些超酷的特性让人疯狂(1.0特性、1.5特性,从这里开始研究),主要开

发人员是一个俄罗斯人,目前开发队伍已经扩大到近100人,有3种模式,单机独立,典

型C/S,超级服务器。2.0版本和3.0版本将在近期推出,看完其路线图(2.0、3.0)你就会

疯掉。有.NET驱动,目前是1.7beta版。主要特性: