论文部分内容阅读
随着计算机网络和数据库技术的迅速发展,人们对数据库的要求越来越高。传统的集中式数据库一般都被放置在服务器上,这样比较方便管理,但随着网络技术的迅猛发展,数据分布存储和分布处理越来越重要,从分布于不同地理位置的数据库系统中获取相关信息已成为必然趋势。为了满足这些需求,人们在成熟的集中式数据库技术的基础上提出了分布式数据库。可以说,分布式数据库是数据库技术和网络技术两者相互渗透和有机结合的产物。 集中式数据库系统尽量减少数据的冗余,但是分布式数据库系统却需要增加数据的冗余来保证系统的可靠性,提高系统性能和效率。所以分布式数据库系统和集中式数据库系统的实现机制是不同的,分布式数据库系统需要适当地增加数据的冗余,这使得查询处理更加复杂。那么,在分布式数据库查询处理过程中,对查询过程进行优化能够降低查询代价,提高查询效率,特别是在传输数据量很大时,选择一个好的优化算法就显得尤为重要。 本文首先介绍了分布式数据库系统的基本概念,如分布式数据库系统的起源与发展,分布式数据库系统的定义及特点,数据分片和数据分布的具体概念及原则分类,分布式数据库系统的模式结构及体系结构等等。 其次简要地描述了分布式查询处理过程和常用的分布式数据库查询优化算法,如基于关系代数等价变换规则的优化算法、基于直接连接操作的优化算法、基于半连接操作的优化算法和SDD_1算法。 最后本文在研究上述分布式数据库查询优化算法的基础上,针对SDD_1算法的不足之处(选择因子很难估算、需要进行多次辅助运算等等),提出了一种新的查询优化算法,本文暂且命名为基于二次半连接的分布式数据库多元连接查询优化算法。这种算法避免了SDD_1算法的不足,采用了二次半连接技术,对两个站点之间的联接进行了完全缩减,再结合最小生成树算法的思想,可以得到多元连接查询优化的最小通信代价,以及在获得该代价时的各站点的装配情况和连接先后顺序。根据算法实例结果的分析,该算法能够取得与SDD_1算法相似的查询效率,而且运算量不大,在某些特定的情况下,完全可以代替SDD_1算法,取得很好的查询优化效果。