PostgreSQL新版提高Oracle兼容性
2009-09-26 17:57:52 Administrator

商业开源数据库厂家EnterpriseDB与6月17日发布了最新的Postgres Plus高级服务器版,其目标是提高与Oracle数据库的兼容性,EnterpriseDB是开源数据库PostgreSQL(也叫做Postgres)背后的主要商业支持公司。

其实Postgres Plus高级服务器版并非完全开源,它是在开源的PostgreSQL数据库基础之上添加了许多附加特性,以提高和Oracle数据库的兼容性。

在8.3 R2发行版中,EnterpriseDB添加了许多性能和可伸缩性选项,有意思的是现在Oracle购买了Sun的开源数据库MySQL,而EnterpriseDB现在也获得了IBM的投资。EnterpriseDB CEO Ed Boyajian透露,这个版本对企业更有吸引力和可行性,受经济危机的影响,很多已经部署了Oracle的企业正在考虑将它们的非关键业务转移到Postgres。

截至目前Oracle还未对其竞争对手EnterpriseDB发布新版数据库这一事件做出任何评论。

Boyajian说Postgres Plus高级服务器版中的新的Oracle兼容特性关注的是降低成本,风险和从Oracle数据迁移应用程序的时间。EnterpriseDB首席架构师Jim Mlodgenski说实际上这一次发布是该公司第五代Oracle兼容性产品了,在以前的版本中仅仅做了那些比较容易实现的事情,在这个版本中我们深入到Oracle行为中去了,一个最明显的例子就是事务控制。Mlodgenski说实际上事务控制的灵感是来自EnterpriseDB的客户洛杉矶时报,它们注意到事务是发生在Oracle数据库往数据库写入数据行时的。

除了提供Oracle兼容性特征外,EnterpriseDB还给数据库添加了新的可伸缩性特性,其中一个例子就是“无限缓存,Infinite Cache”,它基于开源的memcached应用程序。Mlodgenski 说分布式内存缓存已经很常见了,但从系统管理和数据库视角来看还是非常困难的。我们的做法是将分布式内存缓存放在数据库前面,然后将其推送到数据库,这样就允许开发人员使用简单的SQL接口访问分布式内存缓存,并且系统管理开销现在是由数据库自身控制的了。Mlodgenski 说无限缓存对于读操作性能有10到20倍的提升。欲更多的了解分布式数据库,可参考51CTO之前发布的分布式数据库的前世今生一文。

也可以通过 一些叫做异步预取(Asynchronous Pre-Fetch)的技术提升性能,异步预取是一个高性能查询解决方案,它使你的磁盘资源得到更高效地利用,它提前告诉内核你需要的是那一块数据,对于那些报表型应用程序这个特性非常的好,你可以从磁盘上快速获得大块的数据。由于无限缓存和Oracle兼容性特性都是有专利保护的特性,因此目前仅Postgres Plus高级服务器版具有这些特性,异步预取特性在下一个开源PostgreSQL发行版中也将取消。目前PostgreSQL 8.4已经处于RC 1状态。

Mlodgenski说异步预取特性来自我们的客户,它是通过社区模式实现的,我们会将其放到PostgreSQL社区版中,这是我们回馈社区的一个极好的例子。

原文:Postgres More Compatible with Oracle
作者:Sean Michael Kerner
来源:51CTO