论文部分内容阅读
本文提出了一种对虚拟数据库系统的查询执行过程进行优化的策略——数据准备时间估算策略。该策略是在分析了现有虚拟数据库系统在执行查询的过程中出现的瓶颈问题的基础上,针对基于P2P的虚拟数据库系统的运行特点而设计的。该策略的创新之处在于它利用改进后的关系数据库优化技术来对虚拟数据库系统的查询执行过程进行优化,同时,它还提出了对查询执行过程进行模拟的计算方法。利用该策略,虚拟数据库系统的查询执行模块能建立起一种可靠的估算机制,使得查询能在执行前对各种可能的查询执行路径进行数据准备时间的估算,从而能为该查询提供一种最佳的查询执行路径。
数据准备时间估算策略由两部分算法组成,一部分算法叫做数据量估算算法,目前共有三个,分别用于对连接操作、选择操作和投影操作的结果数据量进行估算。这三个算法是在本论文提出的三个计算方法的基础上设计而来的,它们通过模拟子查询在数据源结点上执行的过程,估算出每个子查询的执行结果的大小,从而为时间的估算提供有用的信息。另一部分算法叫做数据准备时间估算算法,它是由一个主体算法和两个子算法组成的。这些算法借助数据量估算算法,通过模拟各数据源结点的操作执行过程和数据传输过程,估算出各个子查询的结果数据的数据准备时间。两部分算法的结合,使得估算策略能从整体上估算出一个查询的各个可能的执行路径的数据准备时间。有了这样一个估算结果,查询执行模块就可以根据需要,选择最佳的查询执行路径来执行查询。
在对数据准备时间估算策略进行设计与实现时,我们主要解决了三个问题,它们分别是:一、把表示查询的SQL语句进行对象化分解;二、把SQL语句的对象化结果进行序列化和反序列化操作;三、为估算过程所需的变量提供足够的元数据。对于元数据的获取,我们借助的是基于P2P的虚拟数据库系统完善的元数据模型来完成的。该模型能快速获取到估算所需的各种元数据,从而保证了整个估算过程的高效运作,大大降低了整个系统花在估算策略上的时间成本,使得该估算策略能真正发挥它的作用。
在论文的最后有部分实验数据。从实验数据中可以看出,数据准备时间估算策略的其中一个重要组成部分——数据量估算算法,其估算值与真实值的误差是可以接受的。因此,数据准备时间估算策略作为一种优化估算手段,是可行的。但同时,实验数据也说明了这样一个道理,那就是要想做到更为准确的估算,单靠估算算法是不够的。由于数据库中的数据是真实世界的写照,因此,它们并不总是那么的好预见。为了有效减少估算值与实际值之间的误差,在数据准备时间
估算策略里,我们根据系统论中正反馈的原理,为实际采集到的元数据信息提供了一条反馈路线,利用在实际执行过程中,采集到的真实的元数据来修正估算过程中的偏差。