开源数据库概览
开源世界真是太奇妙了,虽然不排除卑鄙无耻的直接盗用并贯为自己的产品,但开源可以无私到随便你怎样用。
接触开源有很长的一段时间了,先是学习别人的,然后还参与了开源,在sf.net上,我主持和参与了数个开源项目,当然,都不是大型的项目,只是尝试一下。
我所关注的开源项目方面很多,每方面都有很多优秀的作品,我将会在接下来的系列随笔中介绍,这次介绍数据库。
这个星球上的数据库实在不胜枚举,这里只列一些我接触过的常见的。
可以稍微夸张点说,有交互的应用,起码得用一下数据保存,即便是自定义结构的数据保存,还是最常见的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,相当高效稳定,有开源驱动在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数据库)》。
|
网友评论 |
RunEverywhere: |
纯Java写的数据库- - 纯Java数据库包括: Informix, Cloudscape(也就是Apache Derby数据库),JDataStore(Borland公司),HSQLDB, db4o, PointBase(Oracle创始人开发), Berkeley DB Java Edition 2.0 开源数据库等等。谁有证据证明Oracle和DB2中Java使用的比例请告知。只知Oracle和DB2中有大量的.class文件,但不知是否有C/C++开发的部分,毕竟java也能编译成.exe和.dll文件。 Oracle数据库(使用了Java开发,但不知是否是纯Java) www.oracle.com DB2数据库(使用了Java开发,但不知是否是纯Java): www-306.ibm.com/software/data/db2/ Informix数据库 IBM 在 2001 年七月初購併 Informix,將Informix 轉換為以Java 語言開發的環境之外,並採納 Informix 的資料複製功能,提升 DB2 災難復原與資料複製的能力 IBM 每年投資十億美元於資料庫管理軟體的研發工作,致力於強化資訊管理軟體解決方案的技術優勢與產品效能,去 ( 2003 ) 年並取得超過 230 項相關專利權;又於日前捐出價值超過八千五百萬美元的 Java 資料庫軟體 Cloudscape 給 Apache http://www.ibm.com/news/tw/2004/11/tw_zh_20041119_linux.html Apache Derby 是一种用 100% 纯 Java 编写的关系数据库。该项目最初被称作 Cloudscape™,IBM 于 2004 年 8 月将它捐献给了 Apache 基金组织 http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0505gibson/?ca=dwcn-newsletter-db2 Cloudscape 开源数据库 於日前捐出價值超過八千五百萬美元的 Java 資料庫軟體 Cloudscape 給 Apache http://www.ibm.com/news/tw/2004/11/tw_zh_20041119_linux.html JDataStore数据库 Borland公司出品: www.borland.com/us/products/jdatastore/ HSQLDB开源数据库 http://hsqldb.sf.net Berkeley DB Java Edition 2.0 开源数据库 http://www.sleepycat.com/ db4o开源数据库 www.db4o.com/ 还有一些Java数据库: 在全球最大的java开发者杂志上的一份对最受欢迎的Java数据库的调查: Best Enterprise Database: No Nominee Berkeley DB Java Edition Sleepycat Software Birdstep RDM Embedded 7.1 Birdstep Technology Daffodil DB Daffodil Software Ltd. db4o db4objects EAC MySQL Cluster Emic Networks HSQLDB HSQLDB Development Team IBM DB2 Universal Database IBM IBM Informix IDS v10 IBM JDataStore 7 High Availability Edition Borland Software ObjectDB for Java/JDO ObjectDB Oracle Database 10g Oracle Corporation Oracle Database Lite 10g Oracle Corporation PointBase Embedded PointBase / DataMirror Corp. Sybase Adaptive Server Enterprise (ASE) Sybase, Inc. http://jdj.sys-con.com/general/readerschoice.htm http://nuclearjava.blogchina.com/2006316.html (2005.06.26) |
|