数据库物理结构优化技术研究

2017-04-08 12:50于隆
电脑知识与技术 2017年5期
关键词:优化技术数据库

于隆

摘要:随着数据集的日益增大和查询需求的日渐复杂,对数据库物理结构的优化、进而提高查询效率是非常必要的。本文针对数据库物理结构的4种物理结构进行介绍,并对优化的关键技术进行分析,为进一步的优化研究提供参考。

关键词:数据库;物理结构;优化技术

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)05-0014-02

Abstract: With the increasing of data sets and the increasing complexity of query requirements, it is necessary to optimize the physical structure of the database and improve query efficiency. In this paper, the physical structure of the database four physical structure are introduced, and the optimization of the key technologies for further optimization of the study to provide a reference.

Key words: database; physical structure; optimization technique

数据库物理结构优化指的事对数据库系统性能的改进。在对数据库进行查询时,只有执行了适当的语句,使用了合适的存取路径,才能发挥数据库的优势所在。而今大数据的发展使得传统的数据库物理结构不能满足巨大数据量的需求,这需要我们提出更为优化的物理结构,真正提高系统性能。

1 数据库的物理结构

1.1 索引

索引是一种用于快速检索数据库中的数据所在位置的对象,和图书最开始的目录有相似的功能。使用索引不仅可以提高对数据的读取速度,提升数据库的性能,同时还能实现对数据库资源的靶向搜索,为数据库管理员提供方便。但是创建索引需要占用很多存储空间,长期对数据库进行增删改的操作后也应对索引进行维护,所以在创建索引时,要从创建索引的必要性和对存储空间的有效利用等多方面进行综合考虑。在对数据表进行更新后,也要考虑之前创建的相关索引是否有更新或删除的必要。

1.2 物化视图

物化视图和索引相似,也都是为了提高查询效率而产生的一种数据库对象。它是提前将一些较为复杂的查询语句及查询结果保存在基表上,在执行相同查询的时候就可以直接对已创建的物化视图进行访问,减少了一些不必要的耗时操作。物化视图包括只读物化视图、可更新物化视图和可写物化视图三种。只读物化视图是基于源数据库建立的只读环境;第二种可更新的物化视图则提供了一个可双向复制的环境;可写物化视图在建立之初使用了“FOR UPDATE”,可在本地对物化视图进行修改,但不能保存,所以在实际应用中很少使用。

1.3 无共享分区

无共享分区对数据库采取了“分而治之”的思想,用于解决复杂的数据集问题。它的思想具体就是把问题域划分成若干子集,其中每个子集都会有一个相应的服务器。在执行对数据集的操作时,每个服务器只解决相对应子集的问题域,不过有时服务器间也会互相协作。也就是说,使用无共享分区的目的就是要降低各个节点间数据共享的程度,实现各服务器节点都可以在并行模式下独立工作。

1.4 多维群集

多维集群(MDC)是一种组织数据表的方法,指的是使用多维立方体进行组织,并灵活地将类似维群集的方式。多维群集可允许同时依据多个维度对数据表进行物理群集,还可结合索引中的聚集索引自动更新数据查询的概率,因此在大型数据库环境及联机处理环境中使用具有明显优势。目前多维群集多使用在数据挖掘等方面,可以提升用户索引的查询范围与性能,减少数据维护过程的操作开销。

2 数据库的物理结构优化技术

2.1 工作负荷压缩技术

数据库的使用在数据库系统管理和优化中是非常重要的一部分。在传统的关系型数据库中,数据访问均以工作负荷的形式表述,这里的工作负荷是一组结构化查询语句的集合。在对数据库进行管理工作时,类如对查询的优化,建立索引的选择、物化视图的选择等,影响其可扩展性的重要因素之一就是工作负荷的大小。现使用的工作负荷压缩技术就是为了解决这个问题,是实现数据库物理结构优化的关键技术之一。

工作负荷作为物理设计调整工具的重要输入项之一,其质量优劣将对优化结果有直接影响。一个中型数据库在日常使用中,每天都要执行几千甚至几万次SQL语句的查询或者更新,而这些语句有些可能只是几个参數的差别,这时可以设定一个相似指标,当相似度达到相似指标时,就对SQL语句进行冗余处理,只留下一条作为代表,这样可以减小工作负荷的数量。这也是Chaudhuri等人在21世纪初提出的工作负荷压缩方法。在工作负荷压缩过程中,首先要保证压缩后的工作负荷集能够完全取代压缩前的工作负荷集,不会有功能性的遗漏;还要保证压缩后的工作负荷集在使用时效率有明显提高。

2.2 如果假设分析技术

在进行数据库管理的过程中,为了能够对需要改动的配置进行预评估,管理者常常需要进行系统分析。如果假设分析技术可以在某种特定场景下,对复杂系统进行未来行为的模拟和检查,为管理者提出决策提供有力依据。在对数据库的物理结构优化技术中,如果假设分析技术是针对物理配置价值分析的关键技术。利用此技术进行优化的过程结构如下图所示。

在数据结构优化领域,使用如果假设分析技术可以采用不同的策略或者配置方案,通过调用查询优化器对所有方案进行评估,以得出最佳决策。如果假设分析的输入参数一般为工作负荷和一组数据结构的配置,相对应输出的就是基于此执行查询的成本。例如在对数据表建立索引时,为了选择出最合适的索引,就会先根据工作负荷分析所有可能的索引配置,然后使用如果假设分析技术进行逐条评估,最终返回各个索引工作负荷的成本估计,比较得出耗用成本最小的索引作为最优索引。

2.3 成本估计和数据抽样技术

成本估计是数据库进行物理结构优化的核心,也是决定优化程度的主要因素。在20世纪末,Chaudhuri等人提出使用查询优化器进行索引的选择,并利用统计数据建立良好的评估模型,这大幅度提高了推荐优化的质量。而由于现代数据库的数据量在与日俱增,为协调大数据背景下统计数据过程中质量和效率的关系,数据抽样技术被加以应用。

在大数据集中进行数据统计操作是会耗费很长时间的,所以现今我们常使用数据抽样技术实现近似统计。近似统计结果的准确度不如直接统计的结果准确,但是近似统计会节约大量的时间成本。在对精确度的要求不是很高时,采用数据抽样技术实现近似统计更为高效。数据库中的数据抽样技术包括简单随机抽样、伯努利抽样、系统抽样和分层抽样四种。简单随机抽样就是在抽样时在数据集中随机抽取数据作为样本个体,这种方法简单高效,并能保证每个个体被抽中的概率都是相等的,样本个体间也是相互独立的。伯努利抽样是SQL标准的一部分,也是如今大部分主流数据库厂商最常使用的抽样方法,粒度小、效率高。但由于它是在行级别进行的一种抽样方法,所以性能较差,常与索引结合使用以弥补不足。系统抽样是先将数据集按照某种既定顺序进行排列再进行取样,样本个体间隔相同。使用系统抽样的方法在性能角度会有所改善,但有时抽样效果不够理想。分层抽样则是伯努利抽样和系统抽样的结合,将优势和不足进行这种处理的方式。在部分商业数据库中常采用此种抽样方式。

2.4 组合优化的搜索算法

组合优化整合了组合数学、线性规划以及算法理论的方法和技巧,在过去的十多年中在远程通讯、产品运销和超大规模集成电路等领域发展迅速。在数据库系统中要面临巨大空间的搜索问题时,枚举法显然已经不能再满足系统需求。取代它的是一些在组合优化问题上常用的搜索算法,例如遗传算法,模拟退火算法,禁忌搜索算法等。以遗传算法为例,它是一种通过模拟自然的进化过程找寻最优解的方法,基本运算过程如下图所示。遗传算法使用的事概率的思想,通过迭代进行选择,具有一定的随机性和可扩展性,并且覆盖面广,得出的结果更为接近最优。但是编程实现的过程比较复杂,并且在适应度函数选择不当的时候得到的结果可能并不是全局最优。

3 结语

使用数据库可以很大程度上提高企业和事业单位的工作效率,也方便了数据的存储。隨着数据量的日益增多,优化数据库的物理结构,提高数据库性能十分重要。通过以上几种对于数据库系统的优化方式分析,在实际应用中结合需求有选择地进行优化,最终达到提高工作效率的目的。

参考文献:

[1] 崔跃生,张勇,曾春,等. 数据库物理结构优化技术[J]. 软件学报,2013,24(4):761?780.

[2] 吕静.分析数据库物理结构的优化技术[J]. 通讯世界,2015(6):287-288.

[3] 张学栋,胡伟强. 数据库物理结构优化技术分析[J]. 通讯世界,2015(8):244-245.

猜你喜欢
优化技术数据库
结构设计优化技术在房建结构设计中的运用分析
燃煤机组运行监测及优化技术的现状分析
基于串行法的新型EDA优化技术的研究