開源數(shù)據(jù)庫概覽
開源世界真是太奇妙了,雖然不排除卑鄙無恥的直接盜用并貫為自己的產(chǎn)品,但開源可以無私到隨便你怎樣用。
接觸開源有很長的一段時(shí)間了,先是學(xué)習(xí)別人的,然后還參與了開源,在sf.net上,我主持和參與了數(shù)個(gè)開源項(xiàng)目,當(dāng)然,都不是大型的項(xiàng)目,只是嘗試一下。
我所關(guān)注的開源項(xiàng)目方面很多,每方面都有很多優(yōu)秀的作品,我將會(huì)在接下來的系列隨筆中介紹,這次介紹數(shù)據(jù)庫。
這個(gè)星球上的數(shù)據(jù)庫實(shí)在不勝枚舉,這里只列一些我接觸過的常見的。
可以稍微夸張點(diǎn)說,有交互的應(yīng)用,起碼得用一下數(shù)據(jù)保存,即便是自定義結(jié)構(gòu)的數(shù)據(jù)保存,還是最常見的INI、XML等,都可以算是“數(shù)據(jù)庫”,真正點(diǎn)的,如DBase系列、FoxBase、FoxPro、MSAccess、InterBase、MS SQL Server、Oracle、DB2等,這些是商業(yè)化的數(shù)據(jù)庫,前面幾個(gè)只能算是數(shù)據(jù)庫,后面幾個(gè)是RMDBS(關(guān)系型數(shù)據(jù)庫管理系統(tǒng))。
對(duì)應(yīng)商業(yè)化的,有開源的:SQLite、SimpleSQL、Berkely DB、Minosse、Firebird( 前身是是Borland公司的InterBase)、PostgreSQL、MySQL等。
□SQLite:大家可以看我的SQLite系列隨筆,C編寫的,可以跨操作平臺(tái),支持大部分ANSI SQL 92,它是嵌入式的輕量級(jí)關(guān)系形數(shù)據(jù)庫引擎,只需要一個(gè)DLL,體積為250k,數(shù)據(jù)庫也只是一個(gè)文件,零配置,便可工作。既然開源,你甚至可以把它嵌入你的程序中。核心開發(fā)人員只有一個(gè),最近加入了另外一個(gè),也就是2個(gè)人而已,實(shí)在佩服,目前發(fā)展到3.1.0,相當(dāng)高效穩(wěn)定,有開源驅(qū)動(dòng)在sourceforge.net上有其ADO.NET Data Provider for SQLite :https://sourceforge.net/projects/adodotnetsqlite/ 。
□SimpleSQL:相對(duì)SQLite要大幾倍,但也是輕量級(jí)的,功能稍微強(qiáng)大一點(diǎn),C++編寫,有OLE、Java等版本。
□Berkely DB:C++編寫的大型關(guān)系型數(shù)據(jù)庫系統(tǒng),還額外地支持XML(把XML當(dāng)成數(shù)據(jù)庫),號(hào)稱2百萬的安裝量,MySQL也只不過號(hào)稱5百萬安裝量而已,跨平臺(tái)。
□Minosse:純C#編寫的大型關(guān)系型數(shù)據(jù)庫系統(tǒng),理想是超越MS SQL Server!最新版本:0.2.0,真難得,純Java寫的看得多了,純C#的,不是移植別人的,還是第一個(gè),佩服作者:包含C/S和嵌入式版本,并可跨越大部分平臺(tái),因?yàn)樗挥肳indows的東西,可以在Mono下編譯。
□Firebird:這個(gè)東西太牛了,目前有1.5穩(wěn)定版本已經(jīng)擁有大量特性,完全支持ANSI SQL92、98等,一些超酷的特性讓人瘋狂(1.0特性、1.5特性,從這里開始研究),主要開發(fā)人員是一個(gè)俄羅斯人,目前開發(fā)隊(duì)伍已經(jīng)擴(kuò)大到近100人,有3種模式,單機(jī)獨(dú)立,典型C/S,超級(jí)服務(wù)器。2.0版本和3.0版本將在近期推出,看完其路線圖(2.0、3.0)你就會(huì)瘋掉。有.NET驅(qū)動(dòng),目前是1.7beta版。主要特性:
◆A.C.I.D;
◆MGA(任何版本的引擎都可以處理同一數(shù)據(jù)庫記錄);
◆PSQL(存儲(chǔ)過程)超級(jí)強(qiáng)大,ms sql相對(duì)的太次,它啥都能在服務(wù)器端實(shí)現(xiàn)并推送到客戶端成為強(qiáng)大的報(bào)表,存儲(chǔ)過程;
◆觸發(fā)器都可以在客戶端獲取監(jiān)控追蹤;
◆自動(dòng)只讀模式;
◆創(chuàng)新的事務(wù)保證絕對(duì)不會(huì)出錯(cuò);
◆24*7運(yùn)行中仍然可以隨時(shí)備份數(shù)據(jù)庫;
◆統(tǒng)一觸發(fā)器:任何操作都可以讓某表唯一的觸發(fā)器來總控;
◆大部分語言都可以寫plug-in,并直接在存儲(chǔ)過程中調(diào)用函數(shù);
◆c->c++,更加少的代碼但更加快的速度;
◆3種運(yùn)行模式,甚至可以嵌入式;
◆主流語言都可以調(diào)用它;
◆動(dòng)態(tài)sql執(zhí)行;
◆事務(wù)保存點(diǎn);
□PostgreSQL:POSTGRES數(shù)據(jù)庫的后開源版本,號(hào)稱擁有任何其他數(shù)據(jù)庫沒有的大量新特性,似乎目標(biāo)是要做超大型的OO關(guān)系型數(shù)據(jù)庫系統(tǒng),目前已經(jīng)發(fā)展到8.0,有.NET驅(qū)動(dòng),中文官方網(wǎng)站有詳細(xì)介紹。
□MySQL:這個(gè),不用說了吧?號(hào)稱全球最受歡迎的開源數(shù)據(jù)庫,但讓我奇怪的是,PostgreSQL都有簡體中文的支持:包括內(nèi)核、管理工具、QA等等,在最新版本MySQL中,我卻沒有發(fā)現(xiàn)... ,有.NET驅(qū)動(dòng),其中MySQL Connector/Net就是原來在sf.net上的ByteFX.Data項(xiàng)目,作者已經(jīng)加入了MySQL團(tuán)隊(duì),參看《感慨 20 之開源的前途/錢圖?(1數(shù)據(jù)庫)》。
|
網(wǎng)友評(píng)論 |
RunEverywhere: |
純Java寫的數(shù)據(jù)庫- - 純Java數(shù)據(jù)庫包括: Informix, Cloudscape(也就是Apache Derby數(shù)據(jù)庫),JDataStore(Borland公司),HSQLDB, db4o, PointBase(Oracle創(chuàng)始人開發(fā)), Berkeley DB Java Edition 2.0 開源數(shù)據(jù)庫等等。誰有證據(jù)證明Oracle和DB2中Java使用的比例請(qǐng)告知。只知Oracle和DB2中有大量的.class文件,但不知是否有C/C++開發(fā)的部分,畢竟java也能編譯成.exe和.dll文件。 Oracle數(shù)據(jù)庫(使用了Java開發(fā),但不知是否是純Java) www.oracle.com DB2數(shù)據(jù)庫(使用了Java開發(fā),但不知是否是純Java): www-306.ibm.com/software/data/db2/ Informix數(shù)據(jù)庫 IBM 在 2001 年七月初購併 Informix,將Informix 轉(zhuǎn)換為以Java 語言開發(fā)的環(huán)境之外,並採納 Informix 的資料複製功能,提升 DB2 災(zāi)難復(fù)原與資料複製的能力 IBM 每年投資十億美元於資料庫管理軟體的研發(fā)工作,致力於強(qiáng)化資訊管理軟體解決方案的技術(shù)優(yōu)勢(shì)與產(chǎn)品效能,去 ( 2003 ) 年並取得超過 230 項(xiàng)相關(guān)專利權(quán);又於日前捐出價(jià)值超過八千五百萬美元的 Java 資料庫軟體 Cloudscape 給 Apache http://www.ibm.com/news/tw/2004/11/tw_zh_20041119_linux.html Apache Derby 是一種用 100% 純 Java 編寫的關(guān)系數(shù)據(jù)庫。該項(xiàng)目最初被稱作 Cloudscape™,IBM 于 2004 年 8 月將它捐獻(xiàn)給了 Apache 基金組織 http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0505gibson/?ca=dwcn-newsletter-db2 Cloudscape 開源數(shù)據(jù)庫 於日前捐出價(jià)值超過八千五百萬美元的 Java 資料庫軟體 Cloudscape 給 Apache http://www.ibm.com/news/tw/2004/11/tw_zh_20041119_linux.html JDataStore數(shù)據(jù)庫 Borland公司出品: www.borland.com/us/products/jdatastore/ HSQLDB開源數(shù)據(jù)庫 http://hsqldb.sf.net Berkeley DB Java Edition 2.0 開源數(shù)據(jù)庫 http://www.sleepycat.com/ db4o開源數(shù)據(jù)庫 www.db4o.com/ 還有一些Java數(shù)據(jù)庫: 在全球最大的java開發(fā)者雜志上的一份對(duì)最受歡迎的Java數(shù)據(jù)庫的調(diào)查: 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) |
|