有没有这样一个数据库?它不仅可以让你来存储你的所有数据,而且不用你去购买软件授权,花很少的钱就可以获得技术支持。或许你认为这是白日做梦,实际上这样的事情是确实存在的,它们的名字叫做“开源数据库”。
但是,开源数据库和其他事物一样,并非完美无缺,它可能会让你付出另一种类型的代价,可能是比较低的数据处理数量、缺少的功能、受限制的图形化管理,或者是一些其他商业数据库有而开源数据库不具备的的东西。
当前主流的商业数据库有Oracle、微软SQL Server、IBM DB2和Sybase Adaptive SQL Server。而在开源方面,主要有三家主流数据库:MySQL、PostgreSQL和Ingres。所有这些数据库管理系统都已经在市场上存在了十年以上。
这两类数据库都已经证明了自己可以胜任数据存储和管理的需要。世界上大大小小的公司,从最小的新兴公司到世界500强的大企业,再到政府部门,每天都在使用这些产品中的一种或多种,并放心地把它们的数据交给这些数据库。

图1:部分数据库产品路线图
本篇文章通过对开源和商业数据库的用户及厂商的分析,可以看到开源数据库正在通过不同的方面来完善自己。从商业的角度来看,开源数据库正联合起来来对抗它们的商业竞争对手。另外,在本文中我们还将讨论,对于不同的应用情况是否具有选择开源数据库的理由。
希望这篇文章能成为一块敲门砖、问路石,在你开始研究开源数据库,在你考察是否将它们应用到你的企业中的时候,希望对你有些帮助作用。
大多开发者使用的数据库都不止一个,有四个因素是我们很明显要考虑的。首先是易用性,这是应用程序是否被选用的一个关键因素。图形化管理界面也是被人们经常提到的。另外,在决定为每一个应用程序选用什么数据库的时候,功能的深度也起着重要的作用。最后,软件的成本问题也是大多数人所关注的。
一、商业数据库和开源数据库总览
1. 商业数据库之Oracle
Oracle是商业数据库的代表,具有非常丰富的功能、广泛的平台支持和大量的附加功能。在IDC的一个调查中,Oracle占据了数据库市场的44%,增长了14%。
Oracle的功能从表分区和大量的统计功能,到一些高可用功能,诸如本地复制、数据镜像和应用集群(Real Application Clusters,RAC)等。

图2:Oracle RAC
Oracle另一个强大的功能是在线表和索引重建。在很多数据库中,需要离线进行重建,也就是说当索引被重建的时候,不允许访问数据,因为这个操作要求独占性访问对象。当然,这不是Oracle的全部功能,只是其所能提供的高级功能的一些示例。
