db4o

db4o是一個開源的純面向對象資料庫引擎,對於 Java 與 .NET 開發者來說都是一個簡單易用的對象持久化工具,使用簡單。

簡介

同時,db4o 已經被第三方驗證為具有優秀性能的面向對象資料庫, 下面的基準測試圖對 db4o 和一些傳統的持久方案進行了比較。db4o 在這次比較中排名第二,僅僅落後於JDBC。通過圖 1 的基準測試結果,值得我們細細品味的是採用 Hibernate/HSQLDB 的方案和 JDBC/HSQLDB 的方案在性能方面有著顯著差距,這也證實了業界對 Hibernate 的擔憂。而 db4o 的優異性能,讓我們相信: 更 OO 並不一定會犧牲性能。

特性

db4o 的目標是提供一個功能強大的,適合嵌入的資料庫引擎,可以工作在設備,移動產品,桌面以及伺服器等各種平台。主要特性如下:

開源模式。與其他 ODBMS 不同,db4o 為開源軟體,通過開源社區的力量驅動開發 db4o 產品。

原生資料庫。db4o 是 100% 原生的面向對象資料庫,直接使用程式語言來運算元據庫。程式設計師無需進行 OR 映射來存儲對象,大大節省了程式設計師在存儲數據的開發時間。

高性能。 圖2為 db4o 官方公布的基準測試數據,db4o 比採用 Hibernate/MySQL 方案在某些測試線路上速度高出 44 倍之多!並且安裝簡單,僅僅需要 400Kb 左右的 .jar 或 .dll 庫檔案。在接下來的系列文章中,我們將只關注在 Java 平台的套用,但是實際上 db4o 毫無疑問會很好地在 .NET 平台工作。

圖2. db4o 官方基準測試數據

db4o db4o

易嵌入。使用 db4o 僅需引入 400 多 k 的 jar 檔案或是 dll 檔案,記憶體消耗極小。

零管理。使用 db4o 無需 DBA,實現零管理。

支持多種平台。db4o 支持從 Java 1.1 到 Java 5.0,此外還支持 .NET 、 CompactFramework 、 Mono 等 .NET 平台,也可以運行在 CDC 、 PersonalProfile 、 Symbian 、 Savaje 以及 Zaurus 這種支持反射的 J2ME 方言環境中,還可以運行在 CLDC 、 MIDP 、 RIM/Blackberry 、 Palm OS 這種不支持反射的 J2ME 環境中。

或許開發者會問,如果現有的套用環境已經有了關係型資料庫怎么辦?沒關係,db4o 的 dRS(db4o Replication System)可實現 db4o 與關係型資料庫的雙向同步(複製),如圖 3 。 dRS 是基於 Hibernate 開發,目前的版本是 1.0 ,並運行在 Java 1.2 或更高版本平台上,基於 dRS 可實現 db4o 到 Hibernate/RDBMS 、 db4o 到 db4o 以及 Hibernate/RDBMS 到 Hibernate/RDBMS 的雙向複製。dRS 模型如圖3

db4o db4o

圖3. dRS 模型

基準測試

db4o db4o

同時,db4o 的一個特點就是無需 DBA 的管理,占用資源很小,這很適合嵌入式套用以及 Cache 套用, 所以自從 db4o 發布以來,迅速吸引了大批用戶將 db4o 用於各種各樣的嵌入式系統,包括流動軟體、醫療設備和實時控制系統。

db4o 由來自加州矽谷的開源資料庫公司 db4objects 開發並負責商業運營和支持。db4o 是基於 GPL 協定。db4objects 於 2004 年在 CEO Christof Wittig 的領導下組成,資金背景包括 Mark Leslie 、 Veritas 軟體公司 CEO 、 Vinod Khosla ( Sun 公司創始人之一)、 Sun 公司 CEO 在內的矽谷高層投資人組成。毫無疑問,今天 db4objects 公司是矽谷炙手可熱的技術創新者之一。

可嵌入db4o的原始Java 和 .NET對象資料庫引擎到您的產品和商店,甚至更為複雜的對象結構而僅需要一行的編碼。

DB4O LOGO DB4O LOGO

“利用表格存儲對象,就像是將汽車開回家,然後拆成零件放進車庫裡,早晨可以再把汽車裝配起來。但是人們不禁要問,這是不是泊車的最有效的方法呢。” – Esther Dyson

結論

db4o 因為其開源的理念,以及創新的實現,獲得了 Java Pro 2006 讀者選擇獎。無論從成功案例還是 db4o 本身來看,這款純面向對象資料庫都值得我們關注,從官方論壇反饋情況看,有相當的用戶準備把關係型資料庫遷移到 db4o 。而最新發布的 5.5 版本,更是把性能再次提升很多。在接下來的文章中,我會繼續和大家分享 db4o 給我們帶來的這場面向對象資料庫風暴。

相關詞條

熱門詞條

聯絡我們