天天看點

适用于Java程式的小型資料庫

來源: 2005-11-05 适用于Java程式的小型資料庫

小型資料庫, 自然是針對小型系統的, 是以暫且不必考慮 Oracle, DB2, SQL Server 了, 這些收費的東西還是留給"大"系統吧, 小型系統, 最好使用免費的, 輕量級的東東.

免費的資料庫中, MySQL, PostgreSQL 算是比較有名的了, 但是考慮到資料庫的安裝和配置, 小型系統這個..., 安裝不能太麻煩吧, 最好是解壓就可以運作, 是以, Java 應用嘛, 使用嵌入式的 Java 資料庫會比較合适, 這方面其實有很多選擇, 早些時候我比較注意 hsqldb, 純 Java, 嵌入友善; 但是 hsqldb 實在太"小"了, 令人對它的性能産生懷疑, 是以, 不敢用在生産系統中 :(, 當然 hsqldb 也有其優勢, 人家的資料都放在一個純文字的 script 檔案中, 用于測試還是很友善的.

最近接觸了 derby 這個 Java 資料庫( http://db.apache.org/derby/ ), 它的前身是 IBM 的 Cloudscape 資料庫, 記得 Sun 的 J2EE SDK的 示例中就曾經使用它作為預設的資料庫, 看看它的曆史還是蠻複雜的, 先是 Cloudscape Inc 被 Informix 收購, 然後又随 Informix 被 IBM 收購, 最後 IBM 把它捐贈給了 Apache, 這才有了現在這個 Derby 項目.

Derby 是純 Java, 是以, 嵌入是不成問題的, 性能方面呢, 以我的經驗, 至少幾百兆的資料是可以支援的, 功能方面也挺全的, 支援觸發器, 存儲過程. 不過, Derby自帶的那些 bat 檔案組織的可不怎麼樣, 基本上我是重新寫了一批, 不過在嵌入的情況下倒是不用考慮那些腳本了, 隻需要一個很簡單的 URL "jdbc:derby:directory:<資料庫所在目錄>?create=true" 就可以了.

說到這裡, 順便提一下另外一個開源的資料庫 SAP DB, 後來到了 MySQL 手裡改名叫做 MaxDB, 據說功能很強, 不過我安裝完後覺得太耗資源, MySQL 會好好發展這個資料庫嗎? 我是有疑慮的.