| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
 
 
您现在的位置: 编程中国 >> 技术教程 >> 开发语言 >> VC++ >> VC技术资料 >> 正文
  ►  面向对象数据库的正确评价与选择
面向对象数据库的正确评价与选择
作者:不详    阅读人次:……    文章来源:ccidnet    发布时间:2007-9-3    网友评论()条
 

一、概述


就象关系数据库一样,市场上有许多面向对象的数据库(Object-Oriented Database,OODB)可供选择。然而,OODB在价格、功能、特色和体系上没有什么统一的标准。本文将帮助你理解各种OODB系统之间的一些差别,在为应用选择合适的OODB时,帮助你缩小挑选的范围。

根据标准的不同,我用于评估这些产品的参考资料也是五花八门。在大多数情况下,本文的评价以个人经验和看法为基础;另外一些细节直接从评测软件或供应商提供的数据资料获得。在作出选择之前,务必针对你的应用进行全面的测试。毕竟,你我看法可能有所不同。

我们将要分析的四种OODB产品是ObjectStoreVersant Developer SuitePoet FastObjectsObjectivity。每一种产品将从以下几个方面进行评估:

  • 价格和许可
  • 顺从性
  • 兼容性
  • 特色
  • 性能
  • 可伸缩性和可用性


二、价格和许可


工程成本包括两个方面:初始成本和维护费用。初始成本往往在评估中起支配作用,但象年度支持、联机讨论、新手培训等问题都应该成为产品成本的考虑因素。即使和它的竞争者大型RDBMS相比,OODB的价格通常显得很昂贵。

标准 考虑…
评估软件 可免费下载的、全功能的试用软件。
开发版许可价格 低价格,以用户数量为基础的许可。
产品许可价格 低价格,按照CPU数量为单位的许可,低廉的年度维护费用。
联机支持 负责的技术支持人员,大量有用的技术说明、示范和论坛。
活跃的用户社团 大量的热心用户,新闻组里丰富有益的活动,非官方网站的支持。


三、顺从性


和关系数据库相比,OODB一般对顺从标准的要求不是那么严格。大多数OODB都用自己独特的方法实现各种特色功能。由于还没有明确的标准评价OODB,所以对象数据库管理组织(Object Database Management Group,ODMG)的标准是当前最好的准绳。但各个OODB各自为政却带来了一些麻烦,要找出一个完全顺从ODMG 2.0或3.0规范的OODB产品很困难(与已经有一年历史的3.0规范相比,2.0规范是一个相当宽松和不完善的规范)。也许在不远的将来,我们将用Java Data Object(JDO)规范评价Java OODB。

标准 考虑…
对“对象定义语言”(ODL)的顺从 完全遵从ODMG 3.0规范有关对象定义的规范。
对“对象查询语言”(OQL)的顺从 完全遵从ODMG 3.0规范有关查询的规范。
对Java的顺从性 完全遵从ODMG 3.0规范意味着正确实现Java API/绑定。
对C++的顺从性 完全遵从ODMG 3.0规范意味着正确实现C++ API。
对Smalltalk的顺从性 完全遵从ODMG 3.0规范(如果你的系统不太可能用到Smalltalk,那么这只是一个可选的标准)。


四、兼容性


无论是语言还是平台,工程对可伸缩性的要求会日益增加。OODB不应该在任何一方面影响这种可伸缩性。然而,平台支持的代价很昂贵,它要求进行广泛的测试和大量的文档说明。因此,一些供应商的产品只支持数量很少的平台。要找出一个和各种主流OO语言(如C++、Java、Smalltalk)紧密结合的方案是相当困难的。

标准 考虑…
支持的平台 广泛的平台支持——我总是考虑三个关键的平台:Linux,Win2000,和Solaris。你优先考虑的平台可能有所不同。
Java集成 广泛的JDK支持,紧紧跟踪最新的JDK规范。
C++集成 广泛的编译器支持
持久类的特殊化 避免紧密结合——寻找那些不要求修改代码中持久类的数据库。这是一种与偏好有关的选择,所以你应该认真研究处理后扩展和扩展/实现方式相比的优缺点。
可嵌入的版本 只占用少量的磁盘空间、RAM;具有取消一些非核心功能的能力。


五、特色


每一种数据库方案都有自己的一些独特的功能。下面我特别指出一些核心功能,因为这些功能对于开发工程来说具有很高的价值:

标准 考虑…
数据库浏览 管理数据库、修改内容、更新模式和生成内容报表的能力。
客户端缓冲 改善“热点”数据库响应速度的能力;在确保对象同步的前提下,使得对数据库的提取操作减到最少。
数据库安全 用户、用户组访问控制,最好在对象(如果不是容器的话)的层次上进行。
XML支持 无缝地从数据库提取、向数据库插入XML的工具。
IDE集成 TogetherSoft之类提高开发效率的环境集成能够提高开发效率。


六、性能


在性能的某些方面,OODB占有优势;但在其他方面,OODB又有所不足。在这里提供每一种产品详细的性能测试数据显得过于冗长,但理解可能影响性能的体系和功能方面的局限是很重要的。

标准 考虑…
加锁策略 应用-对象级的加锁机制能够带来很大的方便,但页面级的加锁机制在某些条件下能够带来性能上的飞跃。
负载平衡 透明地分布数据库、调用远程服务器上的方法、在并发线程/访问之间共享对象的能力。
最大的数据库大小 越大越好。
事务支持 检查点:由多个线程共享一个事务,一个线程占用多个事务,嵌套事务;当某个给定产品的实现影响了你的应用时,确保你自己理解了结合客户端缓冲时客户端/服务器端同步的工作机制。
有关查询/性能的信息 提取这些信息的能力,它能够帮助你找出性能瓶颈;OODB提供的优化和调整选项通常要比RDB少,但一些帮你提取性能信息和解释查询执行计划的工具仍很有用。

 

[1] [2] 下一页

 

 
文章录入:编辑01    责任编辑:编辑01 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子