Spiga

开源有感系列 之开源数据库有感[新内容添加版本]

2005-02-04 13:30 by 灵感之源, 6446 visits, 收藏, 编辑
开源世界真是太奇妙了,虽然不排除卑鄙无耻的直接盗用并贯为自己的产品,但开源可以无私到随便你怎样用。

接触开源有很长的一段时间了,先是学习别人的,然后还参与了开源,在sf.net上,我主持和参与了数个开源项目,当然,都不是大型的项目,只是尝试一下。

我所关注的开源项目方面很多,每方面都有很多优秀的作品,我将会在接下来的系列随笔中介绍,这次介绍数据库。

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

可以稍微夸张点说,有交互的应用,起码得用一下数据保存,即便是自定义结构的数据保存,还是最常见的INI、XML等,都可以算是“数据库”,真正点的,如DBase系列、FoxBase、FoxPro、MSAccess、InterBase、MS SQL Server、Oracle、DB2等,这些是商业化的数据库,前面几个只能算是数据库,后面几个是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++编写,有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版。主要特性: 
    ◆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数据库)》。

p.s.下载VS.NET 2003简体中文架构版的快速下载
http://oooo.upc.edu.cn/download/Software.asp?id=102
Add your comment

23 条回复

  1. #1楼 CoolBug      2005-01-28 09:42
    后边的P.S注定MVP不了,呵呵~ MVP是不能用盗版软件的。
     回复 引用 查看   
  2. #2楼 听棠.NET      2005-01-28 09:45
    那,其实我对开源没有什么兴趣,主要是因为我是应用软件开发员,我只想知道,东西给我后,我能怎么用,而不会关心里面的东西如何实现的,一是我没有必要,我的任务开发系统;二是我没有这个精力,没有一个人能吸收这么多东西,这样的人其实也没有什么大用。因此,所谓的开源,可能对那些想研究的人比较有用吧。很简单,就算开源了,遇到问题,你有能力修改???没有版权才是主要的。
     回复 引用 查看   
  3. #3楼 王Sir2005-01-28 09:46
    Guru老大最牛,呵呵!
     回复 引用   
  4. #4楼 Lion      2005-01-28 09:49
    友情支持


    期待继续写其他有感系列
     回复 引用 查看   
  5. #5楼 jeseeqing      2005-01-28 09:50
    可惜上面所说的开源数据库我没有一个用到过,开源数据库很难使用在商业的项目中,虽然开源是个好东西,可是缺少真正的技术支持、文档以及开发工具的整合。

    连VS.NET2003的软件都放上来了,楼主很佩服你的勇气呀!
     回复 引用 查看   
  6. #6楼 涟漪勇2005-01-28 09:56
    我晕啊,一刷新Ps没有了,coolBug说得没错,你不应该给出这样的链接,支持一下,MVP还要有宽大的胸怀,勇于接受批评和主动改正不足,不是吗!
     回复 引用   
  7. #7楼 progame      2005-01-28 10:07
    开源数据库很难用在商业项目中使用的看法是不正确的

    sqlite的质量不比很多商业的嵌入式数据库差 你看看它里面的test数量就知道了 我们上一个产品就使用了sqlite2.8.13
    数据库方面一直没有问题(除了我们增加了加解密功能导致在事务未提交下会导致数据库损坏,这也是因为我们对数据库不了解的情况下造成的,后来发现sqlite在这个地方确实存在一个错误的处理,只不过因为它们没有加密数据,所以不会造成坏的影响,后来3.0版这个地方就已经修正了)而正因为开源 所以我们可以在其基础上进行功能添加
     回复 引用 查看   
  8. #8楼 Chicken[未注册用户]2005-01-28 10:23
    Mysql在海量数据的时候就不好用了,因为MYSQL是表锁,我们公司就快被MYSQL折腾疯了.双机热备也不好用.
     回复 引用   
  9. #9楼 progame      2005-01-28 10:36
    mysql表锁? 不太可能吧 这个我也不清楚
    是否指InnoDB的开启事务状态下?
    如果mysql是表锁的话 那么如何敢称是最快的数据库?
     回复 引用 查看   
  10. #10楼 Blaze2005-01-28 11:09
    VS.NET2003隐藏的真好。。。。
     回复 引用   
  11. #11楼 guoadou      2005-01-28 11:31
    哈哈
     回复 引用 查看   
  12. #12楼 rIPPER2005-01-28 12:50
    PostgreSQL 有.net驱动,好像是0.7 beta版本

    个人比较看好firebird和postgresql :)
     回复 引用   
  13. #13楼 雨中漫步[未注册用户]2005-01-28 15:10
    PostgreSQL 有.net驱动
    http://gborg.postgresql.org/project/npgsql/projdisplay.php
    用着还不错!
     回复 引用   
  14. #14楼 寒枫天伤2005-01-28 16:39
    FireBird是好东东
     回复 引用   
  15. #15楼 寒枫天伤2005-01-28 16:56
    如果这些东西能够支撑大型应用,那么以后,再也不用sql server与oracle了,许可证太贵了.
     回复 引用   
  16. #16楼 ???2005-02-04 13:49
    怎么这文章有出来了?好像看过
     回复 引用   
  17. #17楼[楼主] 灵感之源:PSP团队Guru      2005-02-04 13:50
    添加了新内容~~
     回复 引用 查看   
  18. #18楼 吕震宇      2005-02-04 17:12
    呵呵,换界面了。支持一下!
     回复 引用 查看   
  19. #19楼 www.zdxf.cn2005-04-01 00:17
    在用过的RDBMS中,Firebird/Interbase是最合适的. 功能比MSSQL还强, 管理非常简, 又快又稳定.
    支持FB
     回复 引用   
  20. #20楼 无疑2005-04-22 15:37
    支持老大,牛!!!
     回复 引用   
  21. #21楼 求助[未注册用户]2005-08-20 15:18
    为什么下载的代码,在安装时,说是有些文件找不到?
     回复 引用   
  22. #22楼 杞 人[未注册用户]2006-08-14 14:10
    berkeley db 的介绍是错误的,不是关系型数据库
     回复 引用   
  23. #23楼 大道无情      2009-07-30 11:08
    很多数据库已经宣布失败了
     回复 引用 查看