发布网友 发布时间:2022-04-23 02:36
共1个回答
热心网友 时间:2022-04-10 19:03
正因为此,在信息集成系统中,XML数据经常被用作信息转换的标准。管理三大领域数据基于XML数据的特点,XML数据的高效管理通常有着以下的应用。1.复杂数据的管理XML可以有效地表达复杂的数据。这些复杂的数据虽然利用关系数据库也可以进行管理,但是这样会带来大量的冗余。比如说文章和作者的信息,如果利用关系数据库,需要分别用关系表达文章和作者的信息,以及这两者之间的关系,这样的表达,在文章和作者关系的关系中分别需要保存文章和作者对应的ID,如果仅仅为了表达文章和作者之间的关系,这个ID是冗余信息,在XML数据中对象之间的关系可以直接用嵌套或者ID-IDREF的指向来表达。此外XML数据上的查询可以表达更加复杂的语义,比如XPath可以表达比SQL更为复杂的语义。因此利用XML对复杂数据进行管理是一项有前途的应用。2.互联网中数据的管理互联网上的数据与传统的事务数据库与数据仓库都不同,其特点可以表现为模式不明显,经常有缺失信息,对象结构比较复杂。因此在和互联网相关的应用,特别是对从互联网采集和获取的信息进行管理的时候,如果使用传统的关系数据库,存在着产生过多的关系,关系中存在大量的空值等问题。而XML可以用来表达半结构数据,对模式不明显,存在缺失信息和结构复杂的数据可以非常好的表达。特别在许多web系统中,XML已经是数据交换和表达的标准形式。因此XML数据的高效管理在互联网的系统中存在着重要的应用。3.信息集成中的数据管理现代信息集成系统超越了传统的联邦数据库和数据集成系统,需要集成多种多样的数据源,包括关系数据库、对象-关系数据库以及网页和文本形式存在的数据。对于这样的数据进行集成,XML这样既可以表达结构数据也可以表达半结构数据的形式成为首选。 而在信息集成系统中,为了提高系统的效率,需要建立一个cache,把一部分数据放到本地。在基于XML的信息集成系统中,这个cache就是一个XML数据管理系统。因此XML数据的管理在信息集成系统中也有着重要的应用。开发难点解决之道在实际的XML数据库以及基于XML的信息集成系统的开发过程中。笔者遇到了一些技术难点,在解决这些难点的过程中,有一些经验是值得借鉴的参考的。1.关系数据库中复杂查询的优化在基于关系数据库的XML数据管理系统中。在没有建立索引的情况下,系统的性能非常低,为了提高系统的性能,我们在编码上建立了索引,经过分析,由于在系统中最常做的操作是a.x b.y的join操作,最好的选择是建立二维索引,由于我们的后端数据库没有对二维索引的支持,我们选择了在x和y属性上分别建立B+树的方法。使得系统性能得到了提高。此外,我们发现,在对嵌套查询进行翻译的过程中,如果嵌套查询的结果可能过大,对嵌套查询的结果建立临时表可以提高系统的性能。经验总结:对于一个数据库应用,需要对其workload进行分析,根据workload建立索引;对于执行效率很慢的查询或查询集合,可以通过分析查询计划找出系统的瓶颈进行处理。2.复杂数据库系统的调试在调试XML数据的管理系统中,多次出现了小规模数据执行准确,效率很高,而大规模数据执行错误或执行效率很低的情况。对于这种情况,我们采取了定位错误、猜测错误, 继而加以解决的策略,也就是首先确定出现错误的操作,使得错误的出现具有可重复性,然后通过逐步删减数据,确定数据出现在哪些数据上,这样就使得调试设计的操作和数据的规模大大减小了,然后根据经验对错误进行猜测,逐步排除错误。经验总结:对于数据规模大、操作复杂的数据库系统的调试,首要任务是让错误可以重现,然后把次要因素逐步排除,最后发现问题的所在。3.复杂数据库系统的测试由于系统需要处理各种各样的XML上的查询,为了确保系统的健壮性,需要选取多种具有代表性的查询对系统进行测试。为了选取这样的查询,我们考察了XML上影响查询的不同参数,包括查询的长度、查询中包含的关系种类、查询的选择性和查询中约束条件的选择性,根据这些参数,我们分别选择有代表性的查询对系统进行测试。经验总结:对数据库系统的测试集合的选择,必须考虑到可能查询的多种因素;在数据库系统的设计和测试过程中,对数据库系统可能用于处理的查询集合,需要有深入的了解。