来源: 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 会好好发展这个数据库吗? 我是有疑虑的.
小型数据库, 自然是针对小型系统的, 所以暂且不必考虑 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 会好好发展这个数据库吗? 我是有疑虑的.