開源數據庫概覽
開源世界真是太奇妙了,雖然不排除卑鄙無恥的直接盜用并貫為自己的產品,但開源可以無私到隨便你怎樣用。
接觸開源有很長的一段時間了,先是學習別人的,然后還參與了開源,在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) |
|