J2EE与IBM对象-关系数据库 - 编程入门网
签(tag)和一个值表示。存在不同类型的值,如字符串、日期 (date)、小数(decimal)等。一个值还可以具有重复字段。一个 DICOMData 对象有可能 包含几百种不同的数据元素。但实际上,数目要少得多。
将一个 DICOMData 对象表示为一大行几乎为空的数据元素既不实际,也不可能。那么, 我们可以将 DICOMData 对象表示为 DICOM 对象本身与数据元素之间的关系。第一种方法是 为每一种类型的数据元素准备一个数据元素表。这会产生 23 个表,而且检索一个 DICOMData 对象要连接 24 个表。其他的方法可能允许我们将 23 个表缩减为一个。即便如 此,通过关系型数据库来存储和检索 DICOMData 对象也要付出昂贵的代价。 如果数据库专家恰好从一开始就参与进来了,那么就可以讨论这些问题,并可以揭示那些 使实现更加容易的新信息。结果显示每种类型的 DICOMData 对象中只有少数元素将用于搜索 。这就允许我们表示 DICOMData 对象中的少量值,并且将所有其他的数据元素组合成一个大 型对象列。在存储和检索 DICOMData 对象时,这带来了显著的性能提高。 在前一小节中,我们讨论了通过向每个支行查询贷款上所承担的平均风险度导致的对象爆 炸(见图 5)。DB2 UDB 和 IDS 的对象-关系功能允许我们扩展数据库功能,以便在数据库 中包含风险计算函数。那么,我们可以使用存储过程或用户定义的聚集来计算每个支行的平 均风险。我们甚至可以添加条件,其中定义了不能接受的风险级别,并且规定只检索处于过 高风险中的支行清单。结果带来了显著的性能增长,因为我们不必实例化一百万个对象,并 且避免了对象之间的多数消息传递。在对象人员看到了许多对象创建和通信的地方,数据库 人员可以找到直接提供对策的办法。在恰当的地方进行处理将提供更简单、更高效的解决方 案。 J2EE 的其他方面也增加了它的复杂性。这包括牵涉共享 EJB 的多线程环境。您如何共享 EJB 呢?在一次更新中又如何协调多个 EJB 呢?您的代码是可重入的,还是设置必须锁定的 临界区呢?这将导致许多问题,如数据完整性、锁定策略以及数据库人员所熟知的一些问题 。 那么,存在 EJB 访问的性能问题,您需要以怎样的粒度进行才能获得高性能。您还必须 确定如何监控应用程序以找到性能瓶颈。 J2EE 环境在开发和运行企业应用程序中表现极佳。但由于其复杂性,不宜滥用。如果希 望项目取得成功,您就要在初期组织好一支合适的专家队伍来共同完成。 J2EE与IBM对象-关系数据库(9)时间:2011-04-13 IBM Jacques Roy寻求解决方案 本文前面所提出的问题没有理想的解决方案。要从正确的培训抓起,这样您才能充分使用 解决方案的所有组件。其中可能包括在 Web 浏览器中使用 applet、中间件当中的合理设计 、以及利用数据库系统的长处。 图 6. 对象集合 上面的示例说明应该仔细检查一个对象里对象集合的使用。我们必须确定是否真的需要一 个集合,或者是否可以用一个或多个通过数据库操作该对象集合的方法来代替该集合。在有 些情况下,保留该集合将是比较恰当的;而在其他情况下,使用方法将提供更大的好处,例 如性能的提高和复杂性的减小。 图 6 说明了中间件中对象的创建以及对象之间的通信。如果我们可以直接从数据库获得 想要的信息,那么我们就可以从多个地方获得性能提高。首先,我们可以通过避免在数据库 服务器和应用程序服务器中的应用程序之间传送大量数据来获得更好的性能。该传送可以在 网络连接上的两台机器之间,通过网络所连接的同一机器上,或使用共享存储器所连接的同 一机器上进行。当在两台机器之间进行通信时,数据传送要受到以下因素的影响:它必须通 过的多个硬件组件(存储器、系统总线、网络控制器等)、网络延迟、在网络的不同层上向 机器 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |