公务员期刊网 论文中心 正文

分布式数据库查询处理优化算法分析

分布式数据库查询处理优化算法分析

摘要:随着时代的发展,分布式数据库在各行业中的应用也越来越广泛,分布式数据库系统是数据系统和计算机网络进行结合的产物,其目的是为了可以使计算机网络中实现数据的分布于处理。如果在查询数据的过程中,数据处于分布式环境,由于查询涉及到的关系通常会被分片或是复制到多站点,因此计算代价的过程中不仅需要对于I/O和CPU的速度进行考虑,同时还需要考虑数据在站点之间进行通信过程中的网络传输代价。本文主要对于分布式数据库查询处理基本原理出发,阐述了优化算法。

关键词:分布式;数据库;查询优化

通过利用集中式数据库技术为基础,然后结合计算机网络就可以得到分布式数据库系统。分布式数据库内的数据相较于集中式数据库的区别为:其是网络不同的场所中采用分散性储存方式,同时所有场地的数据库都具有独立处理的能力。而每一个场地都需参与到执行全局应用程序中,而全局应用程序则是利用已有的网络拓扑结果来实现通信的目的,并访问在各场地分散的数据。但是由于实际应用和操作环节,并不会感受到分布式网络,但是操作确实属于整个数据库系统的,所以导致虽然分布式数据库物理上会在各场地分散,但是在逻辑方面却还是属于同一个数据库系统的数据集,而这也导致查询处理方面存在一定的复杂性。

1分布式数据查询的处理模式

各个站点内的局部数据库系统模式的结构就是局部数据模式。全局数据模式的目的主要是协调局部数据模式,使其成为整体模式结构。如图1所示为分布式数据库的结构图。在对于数据进行分片之后得到的片段就是分布式数据库数据中的分布模式,该部分是一种全部关系逻辑,每一个分片都可以进行一个或多个站点来开展分配和定为工作。分布模式能够以选择的数据来分配策略,同时还可以定义判断物理存放站点[1]。在分布模式中,对于映像的类型进行定义之后,可以确定分布式数据分配冗余。如果映像属于一对多,那么就将片段存放到多站点之后进行分配,因此,这一数据分配工作属于冗余,但是情况如果相反的话,则表示不属于冗余。分布式环境查询中主要包括本地产讯、全局查询以及远程查询。其中,本地查询也就是局部查询,并且本地查询与集中式数据库优化技术之间非常相仿。远程查询则是指单点数据远程通信,数据如果是冗余分配的话,那么就需要将查询通信处理付出的代价减少,同时选择与查询节点距离最为接近的数据。全局查询则指的是多点数据查询,首先在确定查询对象之后,开始进行路径的访问,而通过访问路径、算法,可以确定二元操作的连接有效性,在执行节点的过程中,要考虑查询速度以及执行效率、通信代价等。也就是说,要想实现查询处理的有效性,就必须要在确定必要的物理片段后,实现查询的目的,最终确定各操作在查询过程中的执行站点。另外,分布式数据库查询在优化方面,与算法操作具有十分密切的关系[2]。

2分布式数据库查询优化算法

查询优化在分布式数据库中,主要是围绕局部处理的优化以及查询策略的优化来开展的。不同的应用和机构所执行的策略也是完全不同的,因此,在传输的响应时间以及系统资源的消耗等众多方面也存在较大的差异。另外,查询优化方法主要分为查询转化以及查询映射。(1)半连接查询优化基本方法。(2)该这一方法是利用临界、投影操作所产生的一种关系代数,其适合应用在带宽较低的远程广义网络。半连接查询优化的原理是网络中只会传输参与连接的数据,并不会传递无用的数据和未参与连接的数据。数据传输为整个关系或是片段,属于冗余方法。(3)二次半连接算法。请求结果存放的站点如果不是请求站点的话,那么在结果集的出现较大数据量的时候,将会导致数据传输网络出现拥堵,从而发生网络负载不均衡的问题,最终导致响应的时间延长,通信次数增加。以半连接为基础,对其进行改进之后可以得到二次半连接算法是,改进的目的是为了降低通信数据量,并提高各个站点的通信并行性。其算法如图2所示。二次半连接算法相较于半连接算法而言,在请求站点方面增加了一次连接过程,可以为不同属性进行排序,在所属的站点也同样可以进行排序,这样能够避免请求站点传输数据时,减少连接时间。在大型的分布式数据库系统中,二次半连接算法相较于半连接连接算法来说,在传输量和响应时间的性能优化方面具有更加明显的效果。

3结束语

综上所述,本文主要对于分布式数据库查询优化处理进行分离,同时也分析了其中的主要代价,以查询优化的主要因素为基础,对于具体问题适合的优化算法进行选择。另外,分布数据库系统的环境虽然非常复杂,但是随着web的发展,分布式数据库系统的查询优化技术在未来也会更加的完善。

参考文献

[1]张鹏宇.分布式数据库查询处理和优化算法[J].计算机光盘软件与应用,2014(19):106-108.

[2]张博.分布式集群环境下基于并行计算的图聚类信息高效处理方案[J].自动化技术与应用,2016(35):29-35.

作者:谌林 郑泓楠 单位:电子科技大学成都学院