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