企业软件
2007-09-17 11:19    文章来源:网界网

对象数据库会重振雄风,还是昙花一现

作者:胡磊


如今出现的框架技术,像Hibernate和支持JPA(Java持久化编程接口)的框架,能很容易的将对象实体映射到数据库中去。这些技术的出现,让人们重新审视对象数据库。最终对象数据库是否能重振雄风呢?要考虑这个问题,让我们先了解什么是对象数据库。

一、对象数据库简介

20世纪60年代后期面向对象技术在IT界引起了一场空前的革命,到了80年代,面向对象的技术已经成为了IT行业的主流,不同领域的应用提出了许多新的数据管理需求,数据库技术的研究和发展进入了一个新的时代,其中的就将面向对象的思想、方法和技术引入数据库,出现了对象数据库。

在面向对象技术和数据库技术相结合的过程中,基本上是沿着两种途径发展的:

一种实现途径是建立纯粹的面向对象数据库管理系统(即OODBMS),这种途径往往是以一种面向对象语言为基础,增加数据库的功能,主要是支持持久对象和实现数据共享,特别是现在JPA(Java持久化编程接口)规范的实现和支持JPA规范的框架的存在。

面向对象的数据库不仅在处理多媒体等复杂的数据类型和数据关系时可以做到游刃有余,而且在应用系统开发速度和维护等方面有着极大的优越性。面向对象数据库利用类来描述复杂对象,利用类中封装的方法来模拟对象的复杂行为,利用继承性来实现对象的属性和方法的重用。面向对象数据库系统对一些特定应用领域(例如电信,CAD/CAM和AI等),能较好地满足其应用需求。

第二种实现途径是从传统的关系数据库加以扩展,增加面向对象的特性,把面向对象技术与关系数据库相结合,建立对象关系数据库管理系统(ORDBMS)(注意,在这里使用了“对象关系数据库”这个词,因为此实现既非纯粹的面向对象的数据库也非纯粹的关系数据库,它代表两者的结合),这种系统既支持已经被广泛使用的SQL,具有良好的通用性,又具有面向对象特性,支持复杂对象和复杂对象的复杂行为,是对象技术和传统关系数据库技术的最佳融合。对象技术和关系技术珠联璧合的优点,吸引着全球数据库厂商竞相研究开发。如何在现有的关系型数据库产品中加入对象技术,即开发面向对象的关系型数据库成为数据库软件厂商竞争的一个焦点。

了解了对象数据库后,你该听听国内专家的一些看法。目前,国内专家对对象数据库主要持有两种观点:

二、对象数据库优势凸现,将重振雄风

目前在市场上已经有大量的面向对象数据库产品:Versant,Objectivity,ObjectStore,GemStone等等。他们为面向对象的开发环境提供了相应的数据存储。这些产品满足了最初的热情,甚至这些产品被期望能够打造一个新的数据库市场——甚至可能成为市场的领袖。

对象数据库最大的性能优势是他们不必像关系型数据库一样在数据使用之前先连接数据。他们就以使用数据的方式存储数据,这就大大提高了性能。对象数据库能够使用缓存技术,这样就使得在请求数据时数据就已经存放在内存中了。对象数据库在抽取数据时几乎不需要进行优化。 开发一个新的系统,处理复杂数据如文档、复杂图表、网页、多媒体等的需求不断增长时,这些需求对象数据库可以很好的满足。

实践中,对象数据库相对于关系数据库有显著的优势:

1、它们能更快的运行事务处理程序

2、它们能够更有效的处理对象

3、它们能够提供更好的开发效率

4、它们能够管理更容易 。

5、使用一个对象数据库是非常快速的一个过程。我发现它们比使用SQL更加直观。另外,我还能够使用非常复杂的数据模型,使用对象数据库很轻松的将它持久化。

面向对象程序设计非常成熟,但是对象数据库还不成熟。我的观点是关系数据库比对象数据使用的时间长久,这就是为什么形成了什么程序设计语言用的都是关系数据库。如果让对象数据库发展这么长的时间,对象数据库也就使用的很普遍的。

关系型数据库有比我们想的更多的局限性。存储和表示一些相当普通的数据结构也是非常困难的。试想一条公交线路——简单,有序的一组站点。关系型数据库以无序的方式存放表,只有创建一个特殊的索引,才能提取有序的数据。对象数据库就没有这个问题,它有有序的数组,不需要索引——这种索引是因为关系数据结构的局限性而要求创建的人工索引。

另外,关系数据的性能不是很好而导致失败。通常,是因为关系型数据库物理上存储数据的方法导致的。对开发员而言,为了集合他们所需的数据,他们常常不得不进行这个表与另一个表联接,再与另外的表联接,然后再与另一个表联接。为了提取数据,数据库运行优化程序来判断提取数据的最好方法,然后再提取数据。这样的处理常常要花费很长的时间,结果就大大影响了性能。尽管关系型数据库优化器已经改善了运行时间,但他们还需要比对象数据库更多的处理时间。

所以,使用对象数据库只是一个时间的问题,随着Java语言的流行,和需要处理事务的关系越来越复杂,我们对对象数据库的需求就会越来越强烈,目前正是对象数据库重振旗鼓发展自己的大好时机,对象数据库优势凸现,将重振旗鼓。

文章来源:IT168

责任编辑:刘欣灵

文章评论

评论加载中...请稍后

精彩专题