|
锁定老贴子 主题:老调重弹-怎样选择开源免费数据库
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2005-04-04
这个话题已经讨论过好几次了,这次重新翻出来,是因为各个开源数据库也有了更新的发展,情况可能有所不同了。
目标是选择支撑J2EE应用的关系数据库,要求比较好的负载能力,比较全的数据库标准支持,比较好的数据库管理工具和高级特性。选择范围是MySQL,MaxDB,PostgreSQL,Firebird。 首先是MaxDB,有一个很奇怪的现象,MaxDB自从SAP转手给MySQL Inc以后,两年多时间,竟然只发布了一个7.6beta版,几乎原地踏步,令人意外。查看了更多的资料和介绍,包括MySQL公司负责人,都没有透露更多的关于MaxDB的计划。而从蛛丝马迹来看,MySQL Inc并不准备同时维护两套数据库,而是逐渐把MaxDB里面的技术挪到MySQL5.0以及后续版本中。而MaxDB则承诺维持10-15年的技术支持(明摆要放弃)。 很可惜,本来从技术角度来看,MaxDB是我的第一选择,但是现在只能放弃。 再说FireBird,我基本上不了解,它给我的印象一直就是一个低端数据库,延伸到桌面级别的数据库,缺乏数据库的高级管理特性,排除。 然后是PostgreSQL,这是一个老牌的关系数据库,功能支持的很丰富,开发也比较活跃,最近也有了Windows平台的原生版本发布。但是PostgreSQL的问题是缺乏足够的数据库高级特性和管理功能的支持,例如同步复制,集群,联机备份等等。PostgreSQL还有一个弱点,就是至今采用进程模型,而不是线程模型,性能和MySQL是没有办法相比的。 最后是MySQL,这个最流行。MySQL我非常的熟悉,要说缺点也是一把:不支持视图触发器存储过程,高并发的负载能力很差。 所以基本上没有真正满足需要的选择。然而看一下未来的成长性,我还是会选择MySQL。原因如下: 1、MySQL有一个运作的非常成功的商业公司在支撑产品的开发,这要比开源人员业余时间开发支持有力度的多。并且可以保证产品持续不断按照预定计划前进。这一点是其他开源数据库没有办法相比的。 2、MySQL的存储过程,视图,触发器支持将在5.0版本提供(现在已经可以下载5.0.3beta版使用) 3、MySQL从4.1开始有了很大的进步,并且InnoDB被作为默认的表类型。这个InnoDB不得不提一句,采用InnoDB以后,终于找到了一点使用Oracle的感觉了,其数据库文件的管理方式开始向Oracle靠拢,特别值得一提的是InnoDB的数据库文件支持RAW IO方式。并且InnoDB的负载能力也相当不错。 4、MySQL4.0以上版本支持比较丰富的数据库参数调整,包括Key buffer,Query Cache,InnoDB还有更多的调整,例如log buffer,log size等等 5、MySQL的外围工具支持的很丰富 6、MySQL支持数据库同步复制和集群,因此可以通过安装运行多个数据库实例来扩展性能瓶颈。 7、提供了比较丰富的备份,归档(InnoDB)方面的数据库管理能力。 因此可以考虑使用MySQL5.0.3beta(InnoDB)来作为J2EE应用的后端关系数据库支撑,提供高负载的数据库访问服务。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2005-04-04
FireBird源自borland的interbase,后来borland把它开源了。以前用过interbase,感觉一般,可能是数据量不大的原因,但各种高级数据库特性还是具备的。不过,俺还是有点borland情结,汗~
从实用角度来说,如果是OLTP型的应用,mysql是不二选择,OLAP型的应用,开源产品很难跟商业数据库竞争。 |
|
| 返回顶楼 | |
|
时间:2005-04-05
PostgreSQL将来有计划采用线程模型么,
如果结合CJDBC,对你所说高级特性(同步复制,集群)缺乏的缺陷会不会有所帮助 robbin 写道 然后是PostgreSQL,这是一个老牌的关系数据库,功能支持的很丰富,开发也比较活跃,最近也有了Windows平台的原生版本发布。但是PostgreSQL的问题是缺乏足够的数据库高级特性和管理功能的支持,例如同步复制,集群,联机备份等等。PostgreSQL还有一个弱点,就是至今采用进程模型,而不是线程模型,性能和MySQL是没有办法相比的。 来扩展性能瓶颈。 |
|
| 返回顶楼 | |
|
时间:2005-04-05
我倾向预算少、中低端的就用Postgres或者MSDE,功能和性能都不错,真正是价格便宜量又足。高端就用Oralce。Firebird的总体性能我不清楚,但做过10万条以上检索测试(作了索引),性能令人很失望,和MSDE没法比。Mysql商业用收费不低,自己用用就算了,开发商业项目就不太合算了。
|
|
| 返回顶楼 | |
|
时间:2005-04-05
mysql前景虽好,不过等不起啊,我们公司用的还是postgresql为主
|
|
| 返回顶楼 | |
|
时间:2005-04-05
引用 Mysql商业用收费不低,自己用用就算了,开发商业项目就不太合算了
你对MySQL的授权理解错了,再仔细去看看。 |
|
| 返回顶楼 | |
|
时间:2005-04-05
我对上面诸位的跟帖有点失望的。因为你们过于看中数据库开发方面的功能,而完全忽视数据库管理方面的功能。而考虑一个RDBMS,开发方面的支持和管理方面的支持同等重要,管理方面的支持甚至更加重要。
|
|
| 返回顶楼 | |
|
时间:2005-04-05
CA 放出的 Ingres 如何 ?
|
|
| 返回顶楼 | |
|
时间:2005-04-05
管理工具要看了,有很多第三方厂商会给一些开源数据库作管理工具,这也是Open Source生态链中的重要环节。
有的即使开源工具比较难用,但客户不需要去做管理的相对要求就比较低。 所以说一个数据库是否适用,最重要的还是Meet the requirment. |
|
| 返回顶楼 | |
|
时间:2005-04-05
mikecool 写道 管理工具要看了,有很多第三方厂商会给一些开源数据库作管理工具,这也是Open Source生态链中的重要环节。
有的即使开源工具比较难用,但客户不需要去做管理的相对要求就比较低。 所以说一个数据库是否适用,最重要的还是Meet the requirment. 我说的管理工具指的是数据库是否支持高级复制,是否支持集群,是否具备联机备份和恢复等等这个意思。这些方面的功能第三方厂商是没有办法提供的。 说到Meet the requirment,我第一个帖子已经给出了requirment,大概大家都没有去看。 引用 目标是选择支撑J2EE应用的关系数据库,要求比较好的负载能力,比较全的数据库标准支持,比较好的数据库管理工具和高级特性
|
|
| 返回顶楼 | |












