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

2018-12-20 11:29田贞朗南京中兴新软件有限责任公司
数码世界 2018年12期
关键词:数据库系统集中式代价

田贞朗 南京中兴新软件有限责任公司

引言:分布式数据库系统是基于集中式数据库技术的计算机网络技术,其和集中式数据库的主要区别就是:分布式数据库数据为分散性存储到网络不同场所中,而且不同场地数据库的处理能力各有不同。还能够在局部完成功能应用,另外每个场地都要参与到全局应用程序执行过程中,全局应用程序是利用已有网络拓扑实现通信,从而对各场地数据进行访问。在实际应用及操作过程中是无法感受到分布式网络存在,操作也属于整体数据库。以此表示分布式数据库物理方面是在各网络节点中分散,但是在逻辑方面还是相同数据库系统数据集。以此就使其在优化过程中和集中数据库系统不同。因为分布式数据库系统数据冗余性和分散性,从而就导致查询处理优化存在复杂性。在实际使用过程中,分布式查询处理与优化在项目周期中具有重要的作用。

1 分布式数据库查询优化代价

分布式数据库技术具有集中性和分布性的特点,其分布性主要指的是在数据在网络中属于跨界点物理存储,集中性指的是用户逻辑中属于简单且同构数据库。和分布式进行对比,集中式数据库管理系统要求逻辑和物理两方面都相互集中。所以,分布式数据库还能够定义成为物理中分布,逻辑中集中的共享数据集合。分布式数据库管理系统属于数据管理软件,利用分布式数据库管理系统能够提高分布式数据库分布特点的透明度。在集中式数据库中,因为系统大部分都是在单个处理器计算机中运行,一个查询执行预期代价属于I/O代价与CPU代价结合。在分布式数据库系统中,一个查询包括多站点,查询处理还要对站点之间数据传输的通信费用进行全面的考虑,对于不同通信类型具有不同的查询处理算法。在远程通信网络中,查询局部处理时间和通信时间进行对比,可以不对其进行计算。所以,一般都是将降低传输次数及数据量作为优化的主要目标。在高速局域网中,传输时间要比处理时间短,所以一般都要将响应时间作为主要的优化目标。响应时间不仅和通信时间具有密切的联系,并且还和局部的处理时间具有密切的联系。但是局部处理时间属于关键内容,所以此问题的主要内容就是要降低局部的处理时间。通过以上描述就可以了解到,分布式查询总代价包括通信代价、CPU代价和I/O代价,那么通信代价就能够通过CO+C 1*X进行计算。其中CO指的是两个站点之间通信初始化的一次花费时间;X指的是数据传输的量,C 1指的是传输速率。

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

集中式数据库系统主要包括内模式、外模式和概念模式成,分布式数据库系统的模式结构主要包括局部数据模式和全局数据模式。局部数据模式指的是各个站点中局部数据库系统模式的结构,其中具备集中式数据库系统三级模式结构。全局数据模式的主要目的就是对局部数据模式进行有效的协调,使其能够成为整体模式结构。全局数据模式包括全局外、全局概念和分片模式、分布模式构成,其中全局外模式指的是全局使用的用户视图,属于全局概念模式逻辑的子集;全局概念指的是分布式数据库全局数据逻辑的结构;分片模式指的是使全局关系分解成为多个不相交部分,也就是数据分片。分片模式指的是片段和全局关系之间的映象,此种映象指的是一对多,也就是每个片段都是全局关系,但是全局关系能够分解成为多个片段;其中分布模式指的是通过数据分片得出的片段还是分布式数据库数据,其属于全部关系逻辑的部分,每个分片物理中都能够一个或者多个站点中进行分配或者定位。分布模式能够以选择的数据实现策略有效分配,对片段物理存放站点进行定义。分布模式中定义映象的类型能够对分布式数据库数据分配的冗余进行有效确定,如果映象属于一对多,也就是片段到多站点充分存放进行分配,那么此数据分配属于冗余。相反,就是不冗余。分布式环境查询类型主要包括远程查询、本地查询及全局查询,本地查询也就是局部查询,其和集中式数据库优化技术相同。其中远程查询指的是单点数据远程通信,如果数据属于冗余分配,要降低查询处理通信代价,就要选择距离查询节点发出最近节点中的数据,或者还可以将数据片实现查询。全局查询指的是实现多点数据查询,其主要流程为:对查询对象进行确定,之后以可用访问路径及算法对二元操作连接进行有效确定,最后实现执行节点的确定,要对通信代价、查询速度及执行效率进行全面的考虑。总而言之,要实现查询处理策略的有效荀泽,对必要物理片段进行确定从而有效实现查询,并且还要对查询过程中各个操作的执行站点进行确定。另外,实现分布式数据库查询的优化还与算法操作具有密切的联系。

3 优化分布式数据库查询的基本方法

3.1 查询转移的处理过程

查询转移通常来说要历经一些步骤:一是创建数据与数据之间的关系表达公式。总结出人们通常需要查询的问题,再根据这些问题总结出对应的查询公式。二是创建语法树。根据上面总结出来的查询公式做出相应的语法树,方便人们查询。三是对分布式数据库进行全面优化。全面优化的具体步骤如下:第一,可以将总结出来的查询公式的连接方式进行转换。第二,通过减小选择和投影操作与语法树的距离,缩短查询的时间,达到减少运算量和提高查询效率的目的。第三,可以将选择和投影这两个操作合并在一起,通过减少操作的步骤,达到一次操作完成多个任务的目的。通过上面一系列改进方法,制作出一个新的操作程序,最终达到分布式数据库查询优化的目的。

3.2 分布式数据库查询优化的三种算法。

1.INGRES算法。这种优化算法是属于动态的,其主要步骤如下:先是把包含两个或两个以上变量的查询转变为一连串只有单个变量的单一关系的查询,然后实施各个单一关系查询。2.System R*算法。这是从美国引进的一种算法,起始于美国,后来被我们所采用。它是通过直接连接的方式,对分布式数据库进行查询处理。它最初设定的目标是能够提供地点自主权。地点自主权是指处理自己的数据时不会受到一些外在因素的影响,可以控制不同地点对其进行的访问。System R*系统的组成部分有:数据通信部分、事务处理管理程序。其中,数据通信部分是用来传输信息数据的,事务处理管理程序的作用是实现两个或者两个以上的地点事物处理。

结语:分布式数据库系统的查询处理是使用者和系统的连接窗口,查询的方法会严重影响到我们查询的效率,好的优化查询方式会使得查询更简单快捷。当然,时代还在进步,不能止步不前,未来是掌握在我们手里的,我们应该找到前进的方向,努力创造出更精彩的未来,找到更好的优化查询的方法。

猜你喜欢
数据库系统集中式代价
Oracle数据库系统的性能优化研究
爱的代价
全新Mentor DRS360 平台借助集中式原始数据融合及直接实时传感技术实现5 级自动驾驶
幸灾乐祸的代价
代价
对分布式数据库系统的安全分析
数据库系统在信息管理中的使用
国有企业的集中式财务管理模式分析
数据库系统在计算机体系结构中的应用
集中互动式多媒体术前宣教在门诊手术患者中的应用