您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页一种自适应的柔性数据库优化方法研究

一种自适应的柔性数据库优化方法研究

来源:华佗小知识
散据库与信息管理 …Ⅱ^TABASE&INFORMATIONMANAGE………… .………………………………一一.… …..… …… 种自适应的柔性数据库优化方法研究 孙晓强 ,苏燕 ,郭春燕・,刘芳z (1.I『^尔滨铁路局哈尔滨铁路』 息技术所,哈尔滨150090:l 2.I 移动通信集团黑龙汀有 公r小Ik务支撑系统部,哈尔滨150080) 摘 要:提出了一种自适应系统资源繁忙程度进行欺据采集、柔性定制功能点,并且支持多套、跨平 台数据库管理的、可操作性强的、节肖支撑成本的数据库优化方法,实现了优化维护功能的动态调 配、数据库优化维护与生产环境分离的现实需求,节省了生产系统硬件资源与企业运营成本 关键词:数据库;自适应;柔性 l概述 随着互联网快速发展及全球信息化的快速迈进.大 量企业级系统与Web应川程序应运而生,而企业信息 资源已成为最为重要的财富与资源。嘘用程序处理的 海量数据需要被有效组织与管理,数据库I i作为企业信 息的管理巾心,需要完成对应JH程序数据的提取、存储 等操作的有效处理,企业级数据库的稳定运行与高效响 应已成为业务运营保障的仃效支撑,采川良好的数据库 优化维护方法势在必行 哈尔滨铁路局客票系统的数据库优化方法与装置 前的技术斤案是:内部组 :服务的进程配置:}十1数据库 系统I I自身提供优化系统眦 方案,建立生产数据库同 时。配备既定的内部组件、服务进程。各组件进程随数 据库房动而加载,通过组件内部进程的监I听与采集完成 数据库优化指标的分析,缺点是大世服务进程需要与数 据库争刚系统资源,并 绑定数据库组件与特定服务进 程/j1能实现数据库的集r1i优化管理 . 2现有技术存在的问题 原仃的技术方案在实际应川巾主要存在以下几方 的问题: (1)资源耗费情况严重:l大J部组件服务的进程配 会lJJ【1绒大量的管理服务来启动,数据库需要装载组什 和软什T 具包以及产品特定r… 件.受管的数据库服 务器 要预装代理服务,不考虑系统资源繁忙程度进 行定lf1f或实时采集,大世『大J部服务进程与系统争用资 源.造成数据库性能不稳定.影响j 生产数据库作业的 执行效率. (2)系统架构臃肿、分析优化数据闲难:内部组件 服务的进程配置是需安装数据库产品特定的巾间件以及 组件包,系统架构较为臃肿,不易于数据库维护人员日 常优化维护提取相关分析数据 、 (3)实现方案不合理、缺乏灵活性:现行数据库优 化功能实现较为死板,尢法根据企业数据库的实际优化 需求灵活、动态调整优化分析的功能点. .(4)缺少产品和部署统一管婵:目前引入新型企业 级数据库产品类型广泛,而现有优化维护方法多数只维 护单一产品类型的数据库,而现有企业现状是数据库维 护人员需要管理多套数据库产品和集巾化的优化维护, 单一产品类型的优化维护无法满足不同种类产品优化的 统一管理和灵活切换 3新技术实现方案 结合系统现状,提出一种t'1适应系统资源絷 程度进 行数据采集、柔性定制功能点,支持多套、跨平台数据 管理的、可操作性强的、节省支撑成本的数据库优化方 法.实现了优化维护功能的动态捌配,达到数据库优化 维护与生产环境分离的现实要求, 省了乍产系统硬件 资源与企业运营成本,系统总体框架如图l所示。 自适应的柔性数据库优化方法Ff1系统优化配置卡{! 块、Web程序逻辑模块、功能点模块、任务调度逻辑 模块以及系统基础数据模块共5个模块组成,形成ftt 优化功能配黄层、性能分析统一接L1层和优化指标采 集控制层组成的系统架构,如同l所示。指标采集 制层.…任务调度逻辑模块统一指挥,完成了根据 产系统繁忙程度自适应捌度数据采集任务。基于繁 投票判定算法、自动调度指标采集的优先级箅法,¨ 作者简介:孙晓强(1976一). ,本科,: 程师、 收稿日期:2017—02—24 奠_捆i2醢l0鹂17.1蠹1 、-61 ‘‘‘ 。 ’。 。。。。。 。。 。 。’ ’‘ ‘‘。 。 。。 。’。‘ 。 ’ 实用第一 智慧密集 。...。 。 .....。. .... ...... 。 ..。 .。 。_…. .. .._.。. 。...- 时实现了自动调度、预约执行、立即应答3种指标数 据采集模式。性能分析统一接口层,由Web程序逻辑 管理功能点的统一定制,根据数据库每个优化功能点 所需的指标数据,从采集的数据指标中获取优化统计 一 ~度块~凇锨一绷 一~ ~一 蛐毙一张 ~瞅一麒一 结果推送给上一层优化功能点模块。定制功能点在本 层完成上传部署。弹性定制功能点配置层,由系统优 化配置模块组织数据库优化所关注的全部功能点.维 护人员可以根据既定权限定制关注的优化功能点.也 可以配置优化功能点。 图2指标采集控制的实现流程 3.2 自动调度指标采集的优先级算法 I模块配髓袭l 优化功能点柔性配置屡 定义1:快照.s是指在固定时间间隔 内所截取的 优化数据指标的采集增量。每个快照具有唯一标识的 snap_id按照生成时间顺序自增1。 定义2:临时优先级设有(立即执行)临时任务集合 M={ ,m2,…,%},且到达时间为‘ ‘ …c‘,此时临 时优先级为MI>M2 … ,且若,,If=∈ 则 匹 。 定义3:预约优先级设有预约任务集合 优化指标采集控制层 ffl, …, t },且到达时间为e1<e <…e ,此时预约优先级为 < 资源冉适应调度圈圈圈 <… 且 的任务进入临时任务 的队尾.且若t ∈T 则tf隹S。 定义4:快照优先级设有快照集合Js={sl,s ,… }, 且有快照唯一标识的snap_id为sid, id2<… ida。则有 图1 自适应的数据库优化方法的系统架构图 3.1指标采集控制层 快照优先级为M< <…< 。 自动调度优先级算法设指标采集任务集合 =fk , k2,…,k },且K的唯一标识snap_id有kidJ<后id2<…< , 根据性能指标采集任务的紧迫程度柔性设定任务优 先级,实现了自动调度、预约执行、立即应答等3种采 集方式,根据维护不同需求与资源情况进行自适应调度 则快照优先级为 (Ⅳ2<…< ,临时优先级M,> >…> ,预约优先级为 > >…> 。 任务,本发明默认设置为自适应调度采集,对于维护人 员的临时任务,若采集未生成,则采取立即执行的方式 生成结果,预约采集任务则会根据用户最晚获取时间. 采取从预约生成时间开始到预约时间周期性判断系统资 源繁忙程度,寻找空闲时段,根据预约时间设定优先级 采集数据。 指标采集控制的实现流程,如图2所示,由 自动调度算法根据系统优化维护需求.考虑了重要 及任务时间安排分优先级处理,同时结合下文提出的繁 忙投票判定算法,根据系统资源繁忙程度,将数据采集 的任务进行分类优先级划分,满足了优化指标采集任务 的柔性定制与系统资源自适应任务调度。 数据库维护人员根据个限,定制优化分析的 功能点,若采集已经完成,根据查询项则可以展 示优化功能点,若未采集数据.则继续判断是 否为预约执行任务,若有预约,则根据时间进 入预约队列,若没有预约则判断为立即执行任 务,需要进行立即采集,同时完成数据落地。 图3作业调度动态优先级算法 与 3-3 系统资源的忙闲判定 输出: 1.‘p= ×已 , × + 2.if Pc≥‘p then ++;end if; 定义:忙闲影响因子l9是指衡量数据库系统资源繁 忙程度的影响因子,包括CPU的使用率c,I/O使用率 内存使用率m,即I9={c, m}。 每个影响因子权重可以根据企业不同的生产运行情 况调整,本方法默认为 =0.4, =0-3, =0.3,是基 于客票系统数据库维护经验,通常影响数据库繁忙程度 3.if P,≥(P then +;end if; 4.if ≥‘p then V ++;end if; 5.if((V + R=true;end i;f 6.return : )≥2)then 的影响因素中CPU占权重相对最大.例如I/O很忙. CPU由于忙于调度任务必然会很忙,CPU忙碌时.I/O 存在相对空闲的可能。由于数据库内存划分是一次性分 配,用户连接(LOCAL=NO)进程/线程占用的浮动空 间相对较小。 上文计算得出q ̄=85.9%,设有系统当前状态CPU 使用率 =89%,磁盘使用率 85%,内存使用率Pm= 86%,则P,≤‘P且Dc≥‘p且 ≥‘P,产生两票繁忙的投 票结果,即当前系统资源繁忙,暂不适合数据采集,此 后每隔时问.r(秒)会再次触发此判断,直至有资源不 再繁忙完成采集任务。通过该算法判定数据库系统资源 使用情况进行动态的自适应采集,优选时段和资源系统 资源空闲时段收集性能指标数据.避免与生产系统产生 资源争用,且保证资源利用的最大化。 3.5柔性的性能分析统一接口与功能点配置层 本地化部署采集数据的原子shell脚本.全面覆盖 数据库优化分析的各类功能点,本发明采用了基于不同 数据库产品做统一接口封装,该功能点分类方法适用于 不同产品、不同版本做统一的数据库性能维护管理。分 为5类接口包含硬件性能指标、数据库系统参数配置、 定义:影响因子配置常量,c。是指根据企业生产系 统运行状态,为忙闲影响因子.9配置的单因子使用率. C , , 分别为CPU、I/O、内存使用率的影响因子 配置常量。 客票系统对单因子使用率的告警设定值分别为 = 95%, =98%, =95%,由于这是系统已经严重繁忙 的临界值,为生产系统预留一定空间,将采用,c一10%作 为本发明默认的影响因子配置常量,C ̄85%, 88%, M ̄85%。这里.允许企业根据生产系统实际情况设定 影响因子配置常量。 定义:繁闲阈值‘p指系统繁忙的临界状态,衡量 系统资源使用率的综合指标。根据忙闲影响因子 与影 响因子配置常量K可以计算出: =SQL统计信息、数据空间以及数据库后台日志,涵盖了 数据库系统设计参数的优化、SQL程序优化、数据库系 统内存优化、数据库系统I/O争用优化以及主机操作系 统优化。数据库性能指标包含4类接口与一个后台日志 分析接口,其中后台日志分析是解析ALERTSID.LOG, 进行性能指标分类,各优化指标均通过shell脚本实现 原子接口部署。具体分类如下: (1)系统级性能指标接口。 (2)数据库系统参数配置接口。 U^xU UzxF ̄+U M 采取繁忙投票判定方法,根据系统指标实际投票结 果R有得票情况为2:1或3:0时,则判定为系统资源繁 忙.根据作业自动调度优先级算法。此时不执行数据采 集.否则认为系统有空闲资源执行指标采集任务。 这里,忙闲影响因子t9与影响因子配置常量,c均取 默认值。则有: ‘D=85% 0.4+88% 0.3+85% 0。3=85.9% (3)SQL统计信息收集接口。 (4)数据空间分布接口。 为3 3.4系统繁忙投票判定算法 输入: =0.4, =0_3, :0.3, , , 根据上述分类,每个类别的数据库性能指标可以延 伸,例如在SQL统计信息中捕获REDO SIZE(每秒) 指标变化情况.可以用来估量update、insert、delete的 频率,大的REDO SIZE可能是由于LGWR后台进程写 个影响因子配置常量,繁忙阈值‘P。V 为CPU繁忙票 数,l,,为I,0繁忙票数, 为内存繁忙投票, 为投票 结果。设每隔时间r(秒),生产作业的CPU使用率为 Pc,I/O使用率为P,,内存使用率为 ; 初始化: =0, ,=0,Vm=0,尺=false; 日志或归档造成了I/O压力。每个类别包含的具体指标 均可从数据库系统基表和视图中获取。本发明会将所有 ‘。。。。。 ‘ ‘ 。 。 。 ‘ 。 ’。。 。’。。 ‘ 。。 ’。。。 。。。 。。 ‘ ’。 。 ‘ 实用第一 智慧密集 .....。 。。..…. ...,…. .….…。……..…。….。…。...。….. 视图和基表根据系统繁忙程度自适应采集所有指标数 据。保证数据分析来源一次收集后与生产系统分离,生 边界清晰。访问定制模块可以完成批量操作,访问和修 改权限内的优化分析功能点,导出有效分析数据备份。 后台权限分配模块由超级用户角色完成所有用户功能点 访问与配置权限的分配。由功能点配置模块提供数据库 优化所关注的全部功能点,由超级用户角色管理普通用 户访问优化模块、功能点的权限,可执行新功能点增 成统一访问接口实现本地优化分析.而生产数据系统资 源与优化分析资源的分离,减轻了生产系统由大量优化 数据的分析造成的压力,同时根据资源状态自适应调 度。实现资源利用最大化。 3.6优化功能点配置层 扣 加、部署、删除以及隐藏与恢复。 4结语 一种自动调度指标采集的优先级算法与系统繁忙投 票判定算法,通过忙闲阈值的计算判定系统资源繁忙 舾舾 程度,将数据采集的任务进行分类与优先级划分,满 足了优化指标采集任务的多重柔性定制以及系统资源 自适应调度,性能接口统一管理,实现跨产品与版本 的指标一次增量采集。多次使用,实现优化指标采集 与数据库资源分离。部署与生产系统分离释放了生产 图4优化功能点柔性配置层结构 系统资源,减轻了数据库系统压力。 优化功能点配置层的结构如图4所示.优化端数据 库生成功能配置表、用户功能权限表、用户功能配置 表,即每个用户根据系统访问权限进行优化功能点柔性 配置,满足维护需求多样性,让繁冗复杂的优化功能点 — —参考文献 [1】徐慧.数据库技术与应用[M】.北京:北京理工大 学出版社.2010. [2】肖梅.浅谈数据库性能的优化【M】.2010. .址・址・5lL—5止— .址.5止—址— — —喜l上.址 —址龇.5止.喜屯. 屯 . . SIL.5IL .SlL.S . ..址.;止.S止.Sl上.S也.Sl上. .S止.S止.址.^止.址.址.址 (上接第24页) 就变成了a=9,8,7,6;所以a=6,i=9。 inti=5,a; a=i++,i++,i++,i++; 码,但是,不同的语句环境,自增(减)运算符执行的 顺序也是相当复杂的,不可能将所有的情况都能分析 到,所以,在编程过程中,为了减少没有必要的逻辑错 误,还是多使用“()”为好。对于初学者而言,还是少 用为妙。 运算的顺序也先执行最后一个表达式i++,表达 式的值为5,i再自加1等于6,再执行倒数第二个表 达式,这时表达式的值为6,i自加1等于7,……。 最后逗号表达式就变成了a=8,7,6,5;所以a=5, i=9。 参考文献 [1】谭浩强.C程序设计.北京:清华大学出版社, 2010. [2】康莉,李宽.零基础学C语言.北京:机械工业出 版社,2009. 在一些其他语句出现和逗号表达式一样的形式。例 如在函数的参数传递的时候,可以参照逗号表达运算规 律进行分析。 [3]徐志伟,陈曦,王永静.c语言从初学到精通.北 京:电子工业出版社.2010. 自增(减)运算符在编程的时候,可以大大缩减代 》 与 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务