技术开发 频道

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



二、对象数据库优势凸现,将重振雄风
 
目前在市场上已经有大量的面向对象数据库产品:Versant,Objectivity,ObjectStore,GemStone等等。他们为面向对象的开发环境提供了相应的数据存储。这些产品满足了最初的热情,甚至这些产品被期望能够打造一个新的数据库市场——甚至可能成为市场的领袖。
 
对象数据库最大的性能优势是他们不必像关系型数据库一样在数据使用之前先连接数据。他们就以使用数据的方式存储数据,这就大大提高了性能。对象数据库能够使用缓存技术,这样就使得在请求数据时数据就已经存放在内存中了。对象数据库在抽取数据时几乎不需要进行优化。 开发一个新的系统,处理复杂数据如文档、复杂图表、网页、多媒体等的需求不断增长时,这些需求对象数据库可以很好的满足。
实践中,对象数据库相对于关系数据库有显著的优势:
1 它们能更快的运行事务处理程序
2 它们能够更有效的处理对象
3 它们能够提供更好的开发效率
4 它们能够管理更容易 。
5 使用一个对象数据库是非常快速的一个过程。我发现它们比使用SQL更加直观。另外,我还能够使用非常复杂的数据模型,使用对象数据库很轻松的将它持久化。
 
面向对象程序设计非常成熟,但是对象数据库还不成熟。我的观点是关系数据库比对象数据使用的时间长久,这就是为什么形成了什么程序设计语言用的都是关系数据库。如果让对象数据库发展这么长的时间,对象数据库也就使用的很普遍的。
 
关系型数据库有比我们想的更多的局限性。存储和表示一些相当普通的数据结构也是非常困难的。试想一条公交线路——简单,有序的一组站点。关系型数据库以无序的方式存放表,只有创建一个特殊的索引,才能提取有序的数据。对象数据库就没有这个问题,它有有序的数组,不需要索引——这种索引是因为关系数据结构的局限性而要求创建的人工索引。另外,关系数据的性能不是很好而导致失败。通常,是因为关系型数据库物理上存储数据的方法导致的。对开发员而言,为了集合他们所需的数据,他们常常不得不进行这个表与另一个表联接,再与另外的表联接,然后再与另一个表联接。为了提取数据,数据库运行优化程序来判断提取数据的最好方法,然后再提取数据。这样的处理常常要花费很长的时间,结果就大大影响了性能。尽管关系型数据库优化器已经改善了运行时间,但他们还需要比对象数据库更多的处理时间。
 
所以,使用对象数据库只是一个时间的问题,随着Java语言的流行,和需要处理事务的关系越来越复杂,我们对对象数据库的需求就会越来越强烈,目前正是对象数据库重振旗鼓发展自己的大好时机,对象数据库优势凸现,将重振旗鼓。
0
相关文章