几个小型数据库的比较

几个小型数据库的比较

AccessMSDE 2000Embedded FirebirdSQLite等都是可以免费再分发(free redistributable)的数据库。
相比而言,MSDE 2000 显著缺点是需要安装,最大优点是和服务器端的 SQL Server 编程模型一致,开发便利。
Access
的显著缺点是功能较少,不支持事务等常用功能,最大优点是简单、多数开发者都很熟悉,部署也很方便。
SQLite
支持事务,也是一款单文件数据库,比较不足的是 .NET Data Provider 还不是很成熟。
Firebird
则同时具有:单文件、部署简单不需安装(只需 XCOPY 两个文件)、支持事务、存储过程、触发器,.NET Data Provider比较稳定成熟等优点。

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

可以稍微夸张点说,有交互的应用,起码得用一下数据保存,即便是自定义结构的数据保存,还是最常见的INIXML等,都可以算是数据库,真正点的,如DBase系列、FoxBaseFoxProMSAccessInterBaseMS SQL ServerOracleDB2等,这些是商业化的数据库,前面几个只能算是数据库,后面几个是RMDBS(关系型数据库管理系统)。



对应商业化的,有开源的:SQLiteSimpleSQLBerkely DBMinosseFirebird( 前身是是Borland公司的InterBase)PostgreSQLMySQL等。

□SQLite
:大家可以看我的SQLite系列随笔,C编写的,可以跨操作平台,支持大部分ANSI SQL 92,它是嵌入式的轻量级关系形数据库引擎,只需要一个DLL,体积为250k,数据库也只是一个文件,零配置,便可工作。既然开源,你甚至可以把它嵌入你的程序中。核心开发人员只有一个,最近加入了另外一个,也就是2个人而已,实在佩服,目前发展到 3.1.0 ,相当高效稳定,有开源驱动在sourceforge.net上有其ADO.NET Data Provider for SQLite https://sourceforge.net/projects/adodotnetsqlite/


□SimpleSQL
:相对SQLite要大几倍,但也是轻量级的,功能稍微强大一点,C++编写,有OLEJava等版本。


□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 SQL9298等,一些超酷的特性让人疯狂(1.0特性1.5特性从这里开始研究),主要开发人员是一个俄罗斯人,目前开发队伍已经扩大到近100人,有3种模式,单机独立,典型C/S,超级服务器。2.0版本和3.0版本将在近期推出,看完其路线图(2.03.0)你就会疯掉。有.NET驱动,目前是1.7beta版。主要特性: 
    
A.C.I.D 
    
MGA(任何版本的引擎都可以处理同一数据库记录) 
    
PSQL(存储过程)超级强大,ms sql相对的太次,它啥都能在服务器端实现并推送到客户端成为强大的报表,存储过程; 
    
触发器都可以在客户端获取监控追踪; 
    
自动只读模式; 
    
创新的事务保证绝对不会出错; 
    
24*7运行中仍然可以随时备份数据库; 
    
统一触发器:任何操作都可以让某表唯一的触发器来总控; 
    
大部分语言都可以写plug-in,并直接在存储过程中调用函数; 
    
c->c++,更加少的代码但更加快的速度; 
    
3种运行模式,甚至可以嵌入式; 
    
主流语言都可以调用它; 
    
动态sql执行; 
    
事务保存点;


□PostgreSQL
POSTGRES数据库的后开源版本,号称拥有任何其他数据库没有的大量新特性,似乎目标是要做超大型的OO关系型数据库系统,目前已经发展到8.0,有.NET驱动中文官方网站有详细介绍。


□MySQL
:这个,不用说了吧?号称全球最受欢迎的开源数据库,但让我奇怪的是,PostgreSQL都有简体中文的支持:包括内核、管理工具、QA等等,在最新版本MySQL中,我却没有发现... ,有.NET驱动,其中MySQL Connector/Net就是原来在sf.net上的ByteFX.Data项目,作者已经加入了MySQL团队,参看《感慨 20 之开源的前途/钱图?(1数据库)》。

你可能感兴趣的:(几个小型数据库的比较)