越来越多的网络管理人员发现,开源数据库正在达到一种状态,它们可以成为开源工具清单中的最新成员。
到目前为止,还没有人将多处理器Sun服务器上的Oracle 9i集群数据库替换为一个免费的、从网上下载的、运行在一堆基于intel的Linux服务器上的开源数据库。
但是,越来越多的网络主管正在开创这些免费可用的数据管理器。他们发现,开源数据库正在达到一种状态,在这种状态下,它们可以成为开源工具清单中的最新成员,这些工具包括Linux操作系统、Apache Web服务器和Tomcat Java servlet引擎。
用户表示,这些景点包括:
- 非常快的性能,特别是在只读应用程序中。
- 没有或象征性的授权费用。
- 管理和运营成本低。
Burlington Coat Factory Warehouse是一家Linux正在查看开源数据库技术的用户。几年前,这家位于新泽西州伯灵顿的公司在全国各地的零售店部署了Linux服务器。
“我们还不确定是否要采用开源数据库,”该公司信息服务器副总裁布拉德·弗里德曼(Brad Friedman)说。“但我们可能会在我们的零售店这样做。至于后端服务器,我们仍然与甲骨文紧密相连,甲骨文对Linux提供了相当多的支持。”
Friedman的评论显示了正在权衡或试验开源数据库的公司的典型模式。大容量数据库更新是事务处理应用程序的本质,它仍然依赖于Oracle的9i和IBM的DB2 Universal database以及越来越多的Microsoft的SQL Server等产品。但有许多新的应用领域不需要这些庞大产品中复杂且昂贵的功能。
“我们的一些使用甲骨文的团队从来没有与甲骨文的高价功能结合在一起,”Jeremy Zawodny说,他是雅虎的技术人员,来自加利福尼亚州森尼维尔的雅虎公司。“如果你不需要这些功能,你可能不需要为它们(使用开源替代品)付出代价。”
在雅虎,MySQLZawodny说,来自瑞典的MySQL AB的开源数据库已经“从少数团体使用扩展到互联网门户的核心基础设施”。MySQL处理来自数百个每日新闻源的大量数据,如美联社和路透社,股票行情等等。雅虎访问者点击鼠标后,这些数据就会被存储、标记和张贴在网页上。
“MySQL是内容生成系统的核心部分,”Zawodny说。“仅这一点就占了我们每天发布内容的很大一部分。”
开源的化妆
开源数据库通常可以免费使用,也可以收取少量费用。并包括完整的源代码。最后,根据GNU通用公共许可证(GPL)的条款,用户通常可以自由更改源代码的任何部分,并且只要他们发布了更改,就可以免费使用它。一旦发布,任何人都可以使用更改。
另一种安排是Berkeley软件开发(BSD)许可,postgresql使用该许可。开发者可以“为任何目的使用、复制、修改和发布本软件…无需付费,也无需书面协议....”据一位开发人员说本授权它可以让他将数据库整合到自己的软件应用程序中。换句话说,开放源代码可以在BSD许可下成为专有产品。
有大量的开源数据库。火鸟它基于Borland古老的InterBase数据库,是少数得到供应商或组织良好的程序员社区支持和支持的公司之一。
MySQL在开源社区也很受欢迎。“开源世界喜欢MySQL,”雅虎的Zawodny说。“每当一种新的(编程)语言出现时,开发人员通常做的第一件事就是为MySQL添加数据库连接。各种语言都有绑定和驱动程序。你通常不会在封闭的商业产品中看到这种(反应)。”
PostgreSQL是最成熟的开放数据库,postgresql为其开发人员社区维护了广泛和组织良好的Web。PostgreSQL, Inc.是一家加拿大公司,提供应用程序和支持服务。红帽基于PostgreSQL提供产品。
创新的仓库?
开放的数据库通常是创新的仓库。以MySQL为例,它拥有一个核心关系管理器,可以被不同类型的插件“数据处理程序”使用,因此赢得了赞誉。例如,开源开发者可以为地理数据编写自己的数据句柄。Oracle和DB2也支持这样的对象,而不仅仅是行和表中的数据。Red Hat数据库的最新版本有一个高度自动化的安装程序。同样,私有厂商也在自动化他们的产品。
但在所有这些领域,开放数据库往往比它们的高端竞争对手要简单得多。支持者说,这是他们快速阅读的主要原因。这也是低运营开销的原因。
“当你有一个简单得多的产品时,就会有更少的东西值得关注,出错的地方也更少,”Zawodny说。“你不需要一个全职的(数据库管理员)来管理它。这也使得(开放数据库)更加便宜。”
对一些人来说,与Oracle和DB2的特性相比,这种简单性可能使开放产品看起来“没有大脑”。存储过程和触发器在商业产品中作为关系编程标准已经有十多年了,但在一些开放产品中却没有,比如MySQL,但在PostgreSQL中却没有。据该公司称,这两个功能今年都将添加到MySQL中。
一个常见的批评是,开放数据库不支持交易,或者不像商业产品那样支持交易。
“MySQL有一个用于内容存储的快速数据库,但它在后端事务处理方面仍不成熟,”Gartner分析师Charles Garry在评估Gartner关于服务器基础设施的电话会议上开放数据库时说。
支持者表示,开放数据库的事务支持正在改善。
成熟的软件
如果软件具有您在其他领域所需要的东西,或者具有定期交付新特性的可靠跟踪记录,那么开放数据库某些领域的不成熟可能不是问题。
开放源码模型不是单一的:在一个主题上有不同的变体。PostgreSQL.org是免费源代码模型的象征,在这种模型中,数据库代码不属于任何人,由社区组织开发和增强。
相比之下,MySQL是在20世纪90年代中期由三个斯堪的纳维亚程序员开发的Web数据库。该公司根据GNU GPL免费提供源代码。但它也提供商业许可证。根据MySQL首席执行官Marten Mickos的说法,思科是MySQL的商业许可方,将其合并到5个产品中,包括其网络入侵检测软件。“他们来找我们说,‘我们喜欢你的产品,但我们的律师不让我们在GPL下使用它,’”米科斯说。有了商业许可证,思科工程师对源代码所做的任何更改都将保留思科的知识产权和其产品的特色。
雅虎在GPL许可下部署了MySQL。“我可以下载它,改变它,永远用我的方式,而不需要支付他们一分钱,”Zawodny说。另一个好处是,围绕一个成功的开源程序出现的社区,对它进行修复、精炼和改进。
|
|||||||||||||||||