第三站 这里有5大景点 开源数据库各领神通
在充满传奇色彩的软件行业,开源运动早已不再是一种哗众取宠的时尚,而是成为一种潜移默化的文化。这里包括"最受欢迎的开源数据库"MySQL、"非常先进的开源数据库"PostgreSQL、"新世纪的关系型数据库" Firebird,此外还包括将嵌入式作为自己重要使命的精巧的BerkeleyDB和曾经在ERP领域取得不俗业绩的SAP DB(MaxDB)。
更为可喜的是,伴随着Java技术而快速发展的功能同样出色的Apache 组织的Derby(由IBM著名的Cloudscape 10演化而来)、Hypersonic的HSQL等,凡此种种, 开源数据库阵营可谓"乱花渐欲迷人眼"。
那么如何选择和自己的业务比较契合的开源数据库呢?本文将选择以下五种比较常见的开源数据库,从功能特性及应用等角度进行简要的评析,期望能够对用户有些帮助。MySQL的发展在一开始便定位于快速、稳定的大型关系型数据库的目标,因而在设计上当性能和标准不相协调时,更主要的是性能和稳定性的考虑,这也许可以解释为什么MySQL 4迄今还不支持如外键引用等数据库管理员们所钟爱的功能。
如今的MySQL4版本可以运行于多种操作系统平台,支持全文搜索,提供了常见开发语言的编程接口,最大可支持64TB的表空间……,而可伸缩的设计体系使得MySQL既能够提供企业级的客户机/服务器工作方式和复杂的集群工作方式, 也能够作为嵌入式的数据库引擎集成到其他的应用系统之中。
对于那些需要海量数据的检索,不需要复杂的事务操作的用户来说,MySQL应该是一个比较理想的选择。MaxDB是2003年SAP公司和 MySQLAB公司合作之后SAP DB新的名称。MaxDB是一款重量级的、获得SAPR/3认证,适宜于联机事务处理和联机分析处理等多种业务类型的高可用性、高可靠性和极具伸缩性的数据库,支持大容量的用户和并发业务操作,采用多线程多进程的服务器设计,支持多处理器的应用,并通过集群和热部署提供高可靠性,支持TB级的海量数据,支持企业级的数据同步和复制等复杂应用。
上述的功能如此强大,就难怪Intel, Toyota,DaimlerChrysler, Yamaha等业界列强选择它了。应该说,对于开展ERP业务的用户,尤其是采用SAP ERP系统的用户,如果考虑较高的性价比,采用MaxDB应该是非常明智的选择。
PostgreSQL自1986年发展迄今已有近20年的历史了。如今的PostgreSQL8.0可谓身怀绝技,它支持一系列关键特性:支持分布式的事务处理;支持外键功能,以及所有的SQL99的连接类型、触发器;支持用户自定义的对象数据类型和操作;支持子查询、部分索引和表达式索引;支持多种语言产生的存储过程,同时PostgreSQL提供了多种编程接口,拥有热备份和选择性备份恢复工具等……。如此奇妙的特性,无怪乎它享有"非常先进"的美誉了,印度的农业信用社就使用PostgreSQL处理金融业务。
但是,和MySQL相比PostgreSQL的性能一直被视为弱项。对于那些需要复杂业务操作,而对性能要求不是过于苛刻,同时期望系统的设计富于扩展性的用户而言,不妨采用PostgreSQL。FireBird数据库是Inprise(Borland)公司在自己的IDPL(Initial Developer's PUBLICLICENSE)许可协议基础上,将Interbase 6.0数据库贡献给开源组织后的产品。
FireBird全面支持SQL92 Entry Level 1的功能和绝大部分的SQL99功能,能够运行于Windows、Linux或其它Unix等多种平台上。但是由于未知的原因,Firebird的后续开发比较缓慢,迄今为止的1.5版本,仅仅是用C++重写原有的C代码,缺乏新的功能点,而且其开源部分似乎并不完全,如:缺乏企业级应用的复制机制。然而,作为一款成熟的起步级的数据库管理系统,Firebird还是值得被研究和分析的。如果你不更改FireBird的数据库引擎,那么你可以将FireBird任意应用到你的商业应用之中。
最后我们来对Berkeley DB这一特殊的开源数据库进行评析。严格地讲,BerkeleyDB并不是一个数据库管理系统,它是作为嵌入式的数据库引擎来设计的。例如MySQL的数据存储引擎便可以在BerkeleyDB和InnoDB之间选择。BerkeleyDB提供了一个可伸缩、高性能和能够进行事务处理的数据管理和数据访问服务库,通过应用编程接口的普遍支持, 可以很容易地嵌入到其他的应用之中,所有数据库相关的底层操作都是由Berkeley DB的库函数来完成。最新的Berkeley DB也提供了对XML进行操作的服务。
如果你需要在应用程序中嵌入数据库操作功能,而又追求较高的性能,那么Berkeley DB正对你的胃口。这也就是为什么BerkeleyDB能够得到Cisco等设备巨头的青睐的原因。
旅行提示:
商业模式:除了中小企业,许多大企业也在使用开源数据库,这些大用户往往是通过交纳服务费来获取所用产品全面的技术支持,这将在一定程度上改变软件业的商业模式。
在传统的软件商业模式之下,用户首先要支付价格不菲的许可证费用,但要获得技术支持还要另交服务费。相反,许多开源产品仅对技术服务收费。显然,这种低成本的模式极具吸引力。在未来,商业数据库厂商也许会对这种模式进行认真的研究,而对那些以许可证销售为主要收入来源的厂商来说,肯定会造成巨大的影响。