基于代价估算的XML查询优化技术研究与实现

来源 :华南理工大学 | 被引量 : 0次 | 上传用户:yulong19841001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着Internet的迅速发展,XML已经成为网络上数据描述和数据交换事实上的标准。网络上信息的本质特性和XML内在的灵活性,使得XML非常适合用来作为网络上数据的载体。因此,人们提出了多种XML数据的存储模型,同时也提出了相应的XML数据查询方法,用于高效地在大量的XML数据中获得有用的信息。作为查询处理的重要组成部分,查询优化技术往往是影响查询效率的关键因素,然而人们在传统的关系数据库中已经运用得相当成熟的查询优化技术,在面对XML数据的时候却遇到了不少困难,主要表现为这些针对关系数据的查询优化技术无法处理包含在XML数据中的结构信息。因此,XML数据的查询优化技术成为了一个新的研究热点。   本文在回顾了现有查询优化技术的基础上,提出一套基于代价估算的XML查询优化策略。XML查询处理中一个关键而频繁的动作是结构连接,同时也是查询处理过程中最耗时的操作之一,因而预先估算结构连接的代价并从中选择一条代价最低的执行路径,是XML查询优化的目标。本文首先提出一种能快速捕捉XML节点包含关系的层次编码,在该层次编码的基础上设计了一个用于快速估算结构连接结果集大小的算法,并根据不同查询模式的特点,讨论了该算法的实现思路。该算法能对常见的包含关系查询(包括父子关系和祖先-后代关系)作出准确估算,同时能支持现有研究很少涉及的顺序关系查询。在该算法的基础上,本文从CPU运算和I/O访问次数等两方面分析了XML查询处理代价的计算模型,并进一步研究了利用估算结果生成查询计划的方法和思路。   最后,本文给出了一个原生XML数据库系统原型XSQS(XML Storage and Query System)的查询处理模块的具体实现。针对XSQS的查询处理模块的具体实现,本文给出了在XSQS中生成层次编码以及利用层次编码进行代价估算的实现方法,并通过实验测试了基于层次编码的代价估算算法在内存消耗、编码构造时间以及代价估算时间等方面的实际性能。初步实验表明,基于层次编码的代价估算算法在上述方面具有良好的表现,适合用于XML查询优化。
其他文献
随着宽带多媒体网络技术的不断发展,各种宽带网络应用层出不穷,如IPTV、多媒体视频会议、在线网络游戏、远程教学、计费视频点播等。这些应用通常采用一对多或者多对多的传输方
RFID已广泛的应用于企业信息自动化中,随着应用不断深入,所涉及的业务过程和所依赖的应用框架技术也更加复杂,业务逻辑的变化更显频繁,但传统意义上的RFID中间件对上层应用的支持
网格作为一种建立在互联网之上的新一代基础设施,在国内外的学术界和工业界都引起了广泛的关注。目前以网格为基础的分布式应用已经遍布商务、政务和科学活动等各个领域。随着
随着信息时代的到来,数据集增长和更新更快、数据维度更高、非结构化性更突出。面对大量真实的高维数据,人们渴求通过有效的降维而在低维很好的处理利用,如分类、基于内容检索、
随着计算机的普及和计算机网络的使用,计算机越来越多地服务于人们的生产和生活。计算机的应用对于企业来说是一把双刃剑,一方面,企业利用计算机提高了工作效率:另一方面计算机的
表格结构作为一种简洁有效的数据信息表达方式,在各种领域的Web页中都得到了广泛的应用。但因其形式及功能的多样性,给基于表格结构的Web信息提取带来了巨大的挑战,主要体现