莫新建
摘要:随着目前信息技术及数据库技术的不断发展,各种数据库系统得以出现,并且有着越来越广泛的应用,而分布式数据库系统就是其中比较重要的一种,因而保证分布式数据库系统的有效运行及应用也就十分必要。在分布式数据库系统的实际应用中,查询功能属于十分重要的一项功能,为能够使用户更好使用查询功能,需要相关技术人员利用查询优化技术对数据库进行优化,以实现分布式数据库功能的更好发挥。
关键词:分布式数据库;查询;优化技术
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)13-0048-02
在当前大数据时代背景下,各种数据信息数量也越来越多,因而对于各种数据库系统也有着越来越高的要求,因而需要对各种数据库系统进行优化。在当前的分布式数据库系统实际应用中,为能够使数据库系统更好满足实际应用需求,需要有关管理人员及技术人员合理应用查询优化技术,对分布式数据库系统进行优化,从而使数据库系统的功能及作用得以完善,以实现分布式数据库系统的更理想应用,满足人们的实际需求。
1分布式数据库查询优化技术现状
就目前分布式数据库查询优化而言,通常情况下从以下两个方面人手进行综合考虑,一方面是使响应时间有效减少,而另外一个方面就是使网络数据传输量减少。就传统的分布式数据库系统实际应用情况而言,计算机内部在对数据实行处理方面,其速度相比于网络传输速度而言存在很大差距,但是若数据传输数量过大,会导致网络所承受压力也比较大,而这一问题也是分布式数据库的查询优化方面所存在的各种问题中比较重要的一种,因而在分布式数据库的查询优化方面,十分重要的一点就是使网络数据传递量得以减少,提升其传输效率。另外,对于不同数据库而言,其在数据传输方面的速度也有一定差异性存在,即便在相同数据库之内,其数据查询速度也有一定差异性存在,并且单个数据库所花费的数据查询时间也具有不确定性,从而会导致整体查询效率受到影响。对于这种情况的存在,在对数据查询质量进行评价方面,不能单纯将数据传输数量当作标准,应当对每个请求向对应的响应时间实行研究,而对于比较特殊的一些情况,还需要对响应时间及传输速度进行考慮,因而在对查询优化算法进行设计时需要对这两个方面衡量。对于分布式数据库技术而言,其虽然比较复杂,在算法设计方面需要考虑的相关因素也比较多,但是这一方面的研究仍旧在不断增多,同时也正是由于其具备多样性及复杂性也就导致这一技术不断创新,且其灵活性特点也使得其应用越来越广泛,因而需要对这一方面不断加强研究。
2分布式数据库的查询优化目标
就目前数据库系统查询而言,对于集中式数据库系统及分布式数据库系统而言,其查询方式都是齿形查询的预期代价为基础的,两者之间存在才差异就是具体查询代价在构成上存在差异性。对于传统集中式数据库而言,系统通常情况下都会在计算机中运行,因而其查询代价构成为CPU+I/O,对于分布式数据库系统而言,由于数据查询需要在站点间实现通信,因而其查询代价不但包含基础CPU+I/O,还需要对网络中数据传输戴杰进行考虑。由此可知,对分布式数据库而言,其相比于集中式数据库,具有更高的查询代价,且有着更高的复杂程度。就目前分布式数据库查询而言,其中也对集中式数据库查询策略有所借鉴,但在查询戴杰规模及具有优化方式方面仍旧有一定擦异性。
在目前分布式数据库查询优化过程中,其目标主要包括两个方面。一方面就是使查询总代价达到最小化,在分布式数据库中,其查询总代价的构成包括CPU代价、I/O代价及数据通信代价,另一方面就是使查询响应时间能够最短化,由于分布式数据库中的相关数据具有分布性及冗余性特点,也就使得查询中的并行处理可能性得以增强,也就是说在每次查询时间得以减少的基础上,且查询处理可实现并行,则整体查询处理时间也就可使有效减少。对于第一种目标而言,通常情况下都认为网络传输中的速度相比于本地I/O速度及CPU速度而言明显比较低,因而其重点内容就是使网络通信代价降低,从而使查询优化目的实现;对于第二种目标而言,通常情况下都认为是使并行处理增加,在局部代价得以减少的基础上,实现查询优化。对于这两个目标实现而言,其在优化分布式数据库方面有着十分重要的作用,依据对分布式数据库有效分析,其数据系统组成包括若干个计算机,因而可使查询并行处理得以实现,从而可使查询时间明显缩短,使分布式数据库进一步提升其查询速度。在分布式数据库系统查询优化方面,其内容主要包括两个方面,即查询策略及局部处理,相比较而言查询策略更重要,对于查询策略选择而言,其与分布式数据库系统性能间存在密切关系。
3分布式数据库系统查询优化技术方案及策略
在目前的分布式数据库查询过程中,为能够使查询得到满意的效果,仍需要对查询实行进一步优化,而在查询优化方面,为能够得到满意的效果,需要对相关技术方案进行应用,并且需要选择有效策略。下面就分布式数据库系统的查询优化技术方案及策略实行具体分析,从而使数据库系统的查询优化得到满意效果。
3.1分布式数据库系统查询优化技术方案
在数据库系统研究方面,十分重要的一点就是尽可能多地向用户实行封装数据库操作,从而使数据库系统通用性增强,另外一点就是分布式数据库系统还需要将系统内有关细节对用户进行隐藏,使系统在实际使用过程中的安全性及便捷性得以增强。对于关系型数据库而言,其能够将数据接口提供给用户,全部数据均能够利用该接口实行传送,在利用sOL语句实行数据查询过程中,只需要对所需查询数据进行简单描述,对于系统内部获得数据的情况并不需要的值。在用户发送请求时,分布式数据库系统会对访问数据库先进行检查,注意以是否在本地存在,若存在则需要进行命令运行,若不存在则需要则请求向其他数据库进行广播,依据查询信息对最优查询节点实行选择,在此基础上便可实行查询,也就是说对具备先关查询信息所需数据库的有关信息实行查询,且需要保证所需查询资源达到最小化。在此之后,可按照地址将查询命令向数据库中进行发送,向数据库lP地址返回,在返回信息被客户端接收之后,可与数据库之间即刻构建连接。在数据库内部查询结束之后,可向客户端发送回查询信息。但需要注意的一点就是在利用这一方式实行信息更改及查询过程中,需要对sQL语句实行应用,因而需要查询算法进行有效探索,从而使查询优化具有更好的技术支持及基础。
3.2分布式数据库系统的查询优化策略
首先,通过合理设置索引实现查询速度的提升。在目前的分布式数据库系统中,数据索引属于十分重要的一种数据结构,为能够实现查询速度的有效提升,应当注意遵循相关应用原则,具体而言,在实际应用过程中需要遵循的原则主要包括以下几点:选择未指定为外键,但需频繁连接的位置进行索引设置,对于连接使用比较少的一些字段,可通过DBMS使索引自动生成;在需频繁排序及分组操作的有关列实行索引设置;在排序列数比较多的情况下,可进行复合索引设置。总体而言,在缺省状态下进行索引设置,可选择非聚集类型,但这种类型并不一定属于最合理类型,对于适当的索引类型的选择应当将分析查询类型为基础及前提。比如,在有大量重复值出现的情况下,应当考虑对聚集索引进行构建,需要经常进行多列存取,且存在较多重复值的情况下,可对复合索引进行构建,对于复合索引的构建应当尽量促使关键查询中有索引覆盖形成。
其次,应当注意尽量避免进行排序或者精简排序。在分布式数据库系统的查询优化过程中,对于一些大型数据表而言,应尽量避免实行排序操作,在通过索引能够依据一定次数输出的情况下,便能够有效避免出现排序操作,在数据查询方面也就能够提升其速度。同时,也可以利用适当增加索引方式实现排序操作的有效减少,且能够实现数据表适当合并。此外,对于无法避免的一些排序情况,需要尝试对其进行简化,在使排序范围不断缩小的基础上,尽量简化排序操作。
再次,对于大型数据表应当尽可能避免实行顺序存取操作。对于分布式数据库查询而言,在数据查询效率的各种影响因素中,嵌套查询的顺序存取有着重要影响,会导致数据查询过程中的速度明显降低,因而对于存在连接的相关列,实行索引方法的构建,从而使大型数据表的顺序存取操作得以避免,同时还能够通过索引路径的利用对查询进行处理,选择并集方式可有效避免进行顺序存取。
第四,可利用临时表促使数据查询速度得以加快。在实际查询过程中,对于数据表子集而言,通过对其实行排序,且实行相关临时数据表构建,可实现数据查询效率的有效提升。对于临时表行数而言,应当与主表相比比较少,因而可将I/O代价降低,使查询操作工作量有效降低。此外,在临时表得以构建的基础上,可有效避免实行重复排序操作,且能夠使优化器操作得以有效降低。
第五,对于相对比较困难的正规表达式及有关子查询,应当尽可能避免,积极实现嵌套层次查询的减少,使查询效率得以有效提升,以避免在改变主查询列值的情况,对于子查询仍需再次实行查询,从而使查询时间得以有效节约,同时也能够有效避免非开始子串,使查询得到满意的效果p叫。
4结语
分布式数据库属于当前应用十分广泛的一种数据库类型,并且在实际应用中相比于传统集中型数据库表现出明显的优势,因而实现分布式数据库系统的有效运行十分必要。在当前分布式数据库的运行过程中,十分重要的一点就是实行数据库的查询,而在数据库系统的查询优化方面,需要实行查询优化,因而相关研究人员及技术人员需要在这一方面加强投入力度,从而使数据库查询优化得到满意的效果,为分布式数据库系统的更好运行及查询提供更好的基础与保障,使其得以更理想地发展。