(计算机应用技术专业论文)数据库的负载自动识别及自管理技术研究.pdf_第1页
(计算机应用技术专业论文)数据库的负载自动识别及自管理技术研究.pdf_第2页
(计算机应用技术专业论文)数据库的负载自动识别及自管理技术研究.pdf_第3页
(计算机应用技术专业论文)数据库的负载自动识别及自管理技术研究.pdf_第4页
(计算机应用技术专业论文)数据库的负载自动识别及自管理技术研究.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库的负载自动识别及自管理技术研究 孙德全( 计算机应用技术) 指导教师:段友祥教授,张国平副教授 摘要 随着软硬件费用的下降,d b a 费用的上升,以及数据库管理系统复 杂性的增强,数据库管理和维护成本,己成为其整体拥有成本的主体, 这就使得数据库自管理、自调优技术的发展成为必然。d b a 在对数据库 进行调优时,负载的类型是要考虑的关键因素之一。不同的负载类型( 联 机事务处理o l t p 和联机分析处理o l a p ) 需要不同的资源分配策略。 另外在系统运行中负载的类型是经常变化的,理想情况下,需要系统能 够根据其变化动态地进行自我调优。为了实现这一目标,首先就要进行 数据库负载自动识别技术的研究。 本文以t p c c 和t p c h 基准测试来模拟0 l t p 和0 l a p 类型负载,选 取了十二个能区分两种类型负载的属性,从而获得训练样本,通过c 4 5 算法和b o o s t i n g 集成学习算法对样本进行学习来获得分类模型,实现了 负载的自动识别。通过对算法进行改进,重点解决了负载识别要求识别 结果为类别隶属度的问题。三次实验结果表明,该方法在识别准确率、 鲁棒性和通用性方面都满足了负载识别的要求,同时也验证了本文所提 出的分三步来实现识别结果为类别隶属度的方法的可行性。 对于负载呈周期性变化的系统,本文提出了一种负载预测的框架, 其主要分为训练数据模型,离线模块和在线模块三部分。通过该框架便 可预测出负载发生变化的时刻以及变化类型,并在相应的时间内通过调 用负载识别分类模型对预测结果进行验证,从而决定是否对系统进行调 优以适应新的负载类型。 关键词:负载识别,自管理数据库,c 4 5 算法,b o o s t i n g 算法,隶属度 r e s e a r c ho na u t o m a t i c r e c o g n i t i o n o fd a t a b a s e w o r k l o a da n ds e l f - m a n a g e dd a t a b a s e s u n d e q u a n ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f e s s o rd u a n y o u - x i a n g , a s s o c i a t e - p r o f e s s o rz h a n gg u o p m g a b s t r a c t 。w h i l eh a r d w a r ea n ds o 翩f ec o s t sd r o p 血锄删蛐d b ac o s te n dt h e c o m p l e x i t yo f d b m s sm c r e 鹪e ,t h et o t a lc o s to f o w n e r s h i p ( t c o ) o f d b m s s i si n c r e 嬲i n 西yd o m i n a t e db yp e o p l ec o s t s t h eo n l ys o l u t i o nt or e d u c es u c h c o s t si ss e l f - m a n a g e dd a t a b a s et h a ti sc a p a b l eo f m a n a g i n ga n dt u n i n gi t s e l f w h e nt u n i n gt h ed b m s s ,t h et y p eo ft h ew o r k l o a dp m s e n t e dt oi ti sak e y e o n s i d e r a f i o n ,b e c a u s et h es t r a t e g i e sf o rr e s o u r c ea l l o c a t i o na r ed i f f e r e n t d e p e n d i n go l l w h e t h e ri ti so r l i n et r a n s a c t i o n a l p r o c e s s i n g ( o l t p ) o r o n l i n ea n a l y t i c a lp r o c e s s i n g ( o l a p ) ad b m st y p i c a l l ye x p e r i e n c e s c h a n g e si nt h et y p eo fw o r k l o a dd u r i n gi t sn o r m a lp r o c e s s i n gc y c l e i d e a l l y , t h ed a t a b a s es y s t e ms h a l lb ea b l et oa u t o m a t i c a l l ya d j u s tt os u c hc h a n g e s t o a c h i e v ei t , a u t o m a t i cr e c o g n i t i o no fd a t a b a s ew o r k l o a ds h o l l l db es t u d i e d f i r s t l y i nt h i st h e s i s t w e l v ew o r k l o a dc h a r a c t e r i s t i c sw h i c hc 缸d i s t i n g u i s h b e t w e e no l t pa n do l a pa r es e l e c t e d t h et r a i nd a t as e ti so b t a i n e dt h r o u g h t p c - ca n dt p c - i - ib e n c h m a r kt e s tw h i c hs i m u l a t et h et w od i f f e r e n tt y p e so f w o r k l o a dr e s p e c t i v e l y t h e nac l a s s i f i c a t i o nm o d e li sb u i l tb a s e do nc 4 5a n d b o o s t i n ga l g o r i t h mt oa u t o m a t i c a l l yr e c o g n i z et h et y p eo fw o r k l o a d t h e a l g o r i t h m sa r ei m p r o v e dt oi m p l e m e n tt h a tt h ec l a s s i f i c a t i o nr e s u l ti st h e m e m b e r s h i pp r o b a b i l i t yo f e v e r yc l a s s t h er e s u l t so f t h r e ee x p e r i m e n t ss h o w t h a tt h i sc l a s s i f i c a t i o nm o d e lm e e t st h er e q u i r e m e n t so f a u t o m a t i c r e c o g n i t i o n o fw o r k l o a do np r e d i c t i o na c c u r a c y , r o b u s t n e s sa n dg e n e f i c n e s s t h e ya l s o s h o wt h a tt h ew a yt oi m p l e m e n tt h ec l a s s i f i c a t i o nr e s u l ti st h em e m b e r s h i p p r o b a b i l i t yo f e v e r yc l a s si sf e a s i b l e aw o r k l o a dp r e d i c t i o na r c h i t e c t u r ei sp r o p o s e df o rt h es y s t e mw h i c h w o r k l o a ds h o w st h ec y c l i c a lv a r i a t i o n t h ea r c h i t e c t u r eh a st h r e ep f t 忸: a a h l i n gd a t am o d e l ,o f l l i n em o d u l ea n do n l i n em o d u l e i th e l p st h ed a t a b a s e f o r e c a s tw h e nt h ew o r k l o a dm a yc h a n g ea n dt h ec h a n g i n gt r e n da n dt h e n v e r i f i e si ta tt h ec o r r e s p o n d i n gt i m eu s m gt h ec l a s s i f i c a t i o nm o d e lt od e c i d e w h e t h e rt ot u n ei t sr e s o u r c e sa c c o r d i n g l y k e yw o r d s a u t o m a t i cr e c o g n i t i o no f w o r k l o a d , s e l f - m a n a g e dd a t a b a s e ,c 4 5 a l g o r i t h m , b o o s t i n ga l g o r i t h m , m e m b e r s h i pp r o b a b i l i t y 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中国 石油大学或其它教育机构的学位或证书而使用过的材料。与我一f dt 作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 签名:豳! 缝垒 劢7 年牛月 f 同 关于论文使用授权的说明 本人完全了解中国石油大学有关保留、使用学位论文的规定,即: 学校有权保留送交论文的复印件及电子版,允许论文被查阅和借阅;学 校可以公仃论文的全部或部分内容,可以采用影印、缩印或其他复制手 段保存论文。 ( 保密论文在解密后应遵守此规定) 学生签名: 导师签名: 之缍爹 如d 7 年中 加7 年争 月j 同 月jh 中国石油大学( 华东) 硕士论文第1 章前言 第1 章前言 1 1 课题来源、背景与意义 数据库管理系统作为整个信息系统的核心和基础,要求其具有高性 能、高可靠性、高可伸缩性和高安全性。最近几年,随着硬件及软件费 用的下降,数据库管理人员( d b a ) 以及其他人员费用的上升,数据库管 理系统复杂性的增强以及要管理的数据的复杂度和数据量的迅速增长, 数据库管理和维护成本,即人力成本,已经成为其整体拥有成本( t c 0 , t o t a lc o s to fo w n e r s h i p ) 的主体。美国市场分析与研究公司a b e r d e e n g r o u p 在2 0 0 3 年发布了一份研究报告l o w i td a t a b a s e c o s t - o f - o w n e r s h i ps t u d y :2 0 0 3u p d a t e i l 】,报告指出,数据库管理 员费用( d b ac o s t ) 和培训费用( t r a i n i n g ) 占数据库整体拥有成本的 比例平均达到了8 4 1 2 。另外人为操作失误也是造成数据库系统性能急 剧下降甚至当机的主要原因【2 】。当前数据库d b a 既需要具备丰富的数据 库原理和系统实现知识,又要有扎实的应用设计能力,同时还要充分熟 悉操作系统和有关的软硬件环境。d b a 的工作非常繁杂,从数据库建立 初期的规划与设计,到后来的监控、调整和优化等都离不开d b a 的参与, 这就对d b a 提出了更高的要求。所有这些使得数据库自管理 ( s e l f - m a n a g i n g ) 技术的发展成为必然p - t 。这在降低d b a 管理难度的 同时,也会降低总体拥有成本,从而将日益复杂的数据库管理任务从d b a 手中转移到系统自身,提高系统性能质量。“零”管理从而成为数据库发 展的一个目标。基于上述原因,对数据库自调优和自管理的研究也逐渐 成为热点。 现代数据库应用的特点之一是负载类型多、变化大。不同的工作负 载对系统资源的分配有着不同的要求,因而对系统的调优策略有着重要 的影响。从类型上看,数据库负载可以粗略地划分为联机事务处理o l t p 类型( o n l i n et r a n s a c t i o np r o c e s s i n g ) 和联机分析处理o l a p 类型 中国石油大学( 华东) 硕士论文第1 章前言 ( o n l i n ea n a l y t i c a lp r o c e s s i n g ) 两种类型。o l t p 类型的负载由大量 并发运行的短事务构成,这些事务只访问或修改少量的数据;o l a p 类型 的负载则由少量周期性运行的只读事务构成,事务中包含运行时间很长 的复杂查询语句,需要扫描大量的数据。一个现代商业应用中往往兼有 这两种类型的负载,并且其比例在系统运行期间不断变化。例如,在某 银行数据库系统中,日常营业时间其负载类型都类似于o l t p ,但是在月 末、周末甚至可能每天晚上,其负载类型更类似于o l a p ,因为此时通常 会执行复杂的查询产生统计结果和财务报告。负载类型多、变化大,就 决定了仅依靠d b a 来动态地进行调整与优化,不仅要耗费大量的人力物 力,也无法每时每刻都能保证达到所要求的性能水平。 理想情况下,自管理数据库系统是可以自我调整的,它能够自动地 识别出负载的类型及其变化,然后进行相应的资源重新分配,从而达到 最优的性能水平。而要实现这一目标,首先就要进行数据库负载自动识 别技术的研究,这是迈向自管理数据库的重要一步。 1 2 国内外研究现状 1 2 1 负载识别 充分了解系统中工作负载的特点及行为模式是进行系统性能优化的 前提条件。对此,国外许多学者从不同的角度对此进行了研究。 很多研究致力于探索o l t p 和o l a p 两种负载的不同特性阻,i b m 公司a l m a d e n 研究中心h s u 等人则对t p c - c 和t p c d 等数据库基准测试 及实际数据库应用的工作负载特点进行了深入的研究和比较l l ”。m a r t i n 等人则详细分析了电子商务应用类型的工作负载【1 2 】。 另外一些研究侧重于从不同的特征面来描述数据库负载并利用该特 性进行系统调优。如根据事务的资源消耗模式或引用模式采用聚类的方 法对其进行分组,以便调优f z 3 和负载平,衡【1 4 1 ;或根据事务的访问模式 预测缓冲区命中掣1 爿及用户访问行为【1 6 】等。 m a r t i n 等通过研究s q l 语句的结构和复杂度,关系和视图的构成, 2 中国石油大学( 华东) 硕士论文第l 章前言 事务和查询的运行状态,来获取可用来构建基准测试负载的重要信息 【m 。相对于复杂的基准测试,有学者专门设计了简化的数据库负载生成 器【1 8 1 9 1 。 总之,两种不同类型的负载o l t p 和o l a p ,含有其自身的特征,在 系统运行期间通过系统的状态属性表现出来,应该可以很好地通过系统 的状态属性使用分类算法对其类型进行识别。 1 2 2 自管理数据库 自管理数据库的研究始于1 9 9 0 年w e i k u m 等人在瑞士e t h 大学领导 的c o m f o g r ( c o m f o r t a b l ep e r f o r m a n c et u n i n g ) 项目。此项目在瓒士联 邦银行的资助下进行具有自动性能调优能力的数据库系统原型的研制, 旨在探索自动调优技术的基本原则并解决一些具体的自调优问题【2 0 】。 1 9 9 3 年,b r o w n 等人提出了面向目标的资源管理( g o a l o r i e n t e d r e s o u r c em a n a g e m e n t ) ,强调通过自动调优数据库系统资源以同时满足 多类数据库负载的性能目标【2 l 】。随后的研究工作渐渐从动态资源调优扩 展到索引及物化视图的选择、查询优化、统计数据的自动管理和维护、 数据划分等众多领域。 在产业界,数据库厂商们意识到谁能帮助客户降低更多的系统成本, 谁就能获得更大的商机,因此纷纷致力于开发产品的自管理特性。i b m 公司于2 0 0 0 年启动了s m a r t ( s e l fm a n a g i n ga n dr e s o u r c et u n i n g d a t a b a s e s ) 项目,其目标是通过提高数据库环境的自管理和自调优能力, 帮助降低服务复杂度,提高服务质量吲。m i c r o s o f t 公司也启动了 a u t o a d m i n ( s e l f - t u n i n ga n ds e l f - a d m i n i s t e r i n gd a t a b a s e s ) 项目,目 标是通过d b m s 跟踪系统的使用,使其主动适应应用的需求,实现数据库 系统的自调优和自管理倒。这些都是长期的研究项目,其阶段性的研究 成果已经或即将被用于其各自的数据库产品d b 2 和s o ls e r v e r 。此外, 其他国外著名的d b m s 厂商也相继在其产品中增加了自管理特性。例如在 o r a c l el o g 中,新增的自我管理基础架构包括四大组件:自动工作负载 仓库、自动维护任务基础架构、服务器生成告警和顾问框架,以该自我 3 中国石油大学( 华东) 硕士论文第l 章前言 管理基础架构为基础,在存储管理、空间管理、应用程序和s q l 管理、 系统资源管理以及备份和恢复管理等方面,都增加了一些自管理特性。 例如自动内存管理酬。 近年来新兴的自主计算技术与自管理数据库有着紧密的关系。自管 理数据库可以看作是自主计算研究中的一个分支。自主计算( a u t o n o m i c c o m p u t i n g ) 圈是美国i b m 公司于2 0 0 1 年1 0 月提出的一种计算机系统 设计思路,其产生背景与自管理数据库技术相似,源自系统日益复杂的 现状。自主计算的提出使人们意识到,提高系统自调优能力和可管理性 的需求并不仅限于数据库方面,而是扩展到了整个计算机系统范围内。 自主计算的目标是设计具备自我管理能力的计算机系统,向用户提供端 到端的服务保证。围绕此目标实现的自主计算系统应具备下列四个特征: ( 1 ) 自配置( s e l f - c o n f i g u r i n g ) :系统能够在运行中动态地对自身进行配 置。当在一个计算机系统中增添新组件或其原有组件发生变化时,系统 能够在人工干预最小的情况下进行自我调整。( 2 ) 自优化 ( s e l f - o p t i m i z e ) :系统能够根据总体业务目标的需要,以高效的方式分 配资源,提高资源使用率。( 3 ) 自保护( s e l f - p r o t e c t i o n ) :系统能够检 测和识别敌意或入侵行为,并采取自主措施,使自己不易受到未经授权 访问和使用、病毒、拒绝服务性攻击及一般故障的破坏。( 4 ) 自修复 ( s e l f - h e a l i n g ) :系统能够检测、诊断包括可能导致部分组件失效的各 种故障,并自动地进行故障恢复,提供不问断的业务应用可用性。 针对数据库自管理问题多样化的特点,当前的自管理数据库研究试 图从两条不同的途径来解决此问题。一方面,人们研究这些自管理问题 的共性,试图探索一些一般性原则和方法来指导自管理系统的实现;另 一方面,研究者们采用不同的数学模型和算法来解决特定的调优问题。 二者相互影响、相互促进。 ( 1 ) 一般性问题。 比如基础构架问题。许多学者提出采用控制理论中的反馈控制环路 作为系统实现的基础构架,并将其运用到了一些原型系统的体系结构的 4 中国石油大学( 华东) 硕士论文第l 章前言 设计中。例如德国s a a r l a n d 大学的w e i k u m 等人闭将这样一个反馈控制 环路抽象为三个模块:监视( o b s e r v a t i o n ) ,预测( p r e d i c t i o n ) ,执行 ( r e a c t i o n ) 。其中监视模块负责收集、汇总、管理和报告与负载及性能 有关的数据;预测模块对监视模块提供的性能数据分析,在系统性能下 降时对各种候选的调优方案可能带来的性能影响进行预测,从而选择最 优的方案;而执行模块负责调优方案的执行。在国内,北京大学的王千 祥在文中指出,自适应软件的理论基础和基本模型为传统的反馈控制理 论,由“收集决策一控制”等构成一个完整的反馈与控制回路是自适 应软件的基本框架1 2 7 。华中科技大学的董爱华嗍利用反馈控制机制实 现d m 4 数据库网络子系统和i 0 子系统的自管理。 2 0 0 3 年5 月,在微软关于数据库研究的自评估大会上,提出把基于 规则的专家系统和可调控的数据库联系起来实现数据库的自动调优咧。 也有研究认为,为了实现完全自管理的数据库,必须重新设计其系 统构架,而不是在原有的基础上进行扩展。w e i k u m 等提出了一种简化的 ( 类似精简指令集计算机风格的,r i s e - s t y l e ) ,高度组件化的软件架构, 各组件功能相对简单,组件之间通过有限的a p i s “粘合”到一起,使相 互间的交互作用降到最低,从而使该组件的数学模型容易建立,以实现 组件自身的自管理特性【3 0 】。 ( 2 ) 特定问题。 动态资源调优。该问题是最早被关注的自管理问题,其目标是研 究如何在系统运行期间自动调整各项资源参数以满足系统的性能且标。 数据库系统的资源可分为物理资源和逻辑资源两类。物理资源指硬件方 面的资源,其取值受系统硬件条件的限制,例如内存、磁盘空间等;逻 辑资源指d b m s 提供的资源,其取值受d b m s 的限制,如工作线程的数目、 锁的数目等。其中内存的自动调优研究相对较多,内存自动调优的途径 有缓冲池自动调优,分布式内存的利用及猜测的预取数据等【3 1 】;另外还 有多道程序级别( m u l t i p r o g r a m m i n gl e v e l ,肝l ) ,即允许并发执行的最 大数目的自动调整等闭。 5 中国石油大学( 华东) 硕士论文第1 章前言 物理数据库设计。 索引及物化视图的自动选择。索引的自动选择经历了经典方法、专 家系统方法和代价评估方法三个阶段,前二者未能很好地结合工作负载 和查询优化器的特点,因而很难得到最优的选择方案,代价评估方法则 较好地解决了这一问题。微软的c h a u d h u r i 3 2 1 等人提出了一系列算法和 框架用于确定候选索引和物化视图。 统计数据的自动选择。查询优化器使用代价模型来选择查询计划, 每个查询计划的代价的计算基于对谓词选择度的估计,而谓词选择度的 估计又进一步取决于数据库的统计信息,如柱状图等。创建适当的统计 信息对于查询计划的生成和选择至关重要,而由d 队来决定需要哪些统 计信息是相当困难的。c h a u d h u r i 等人 3 3 1 提出了魔数敏感度分析法等一 组算法,用于实现根据特定工作负载来自动选择创建哪些统计信息。 数据库的物理划分。为了提高i 0 性能,常常将一个数据库中的数 据对象如表、索引、物化视图等分布到多个物理磁盘驱动器上。这种方 法可以通过提高i 0 操作的并行度来缩短i 0 操作的时间。选择能得到 最小i o 响应时间的划分方案的问题是一个n p 完全问题。a g r a w a l 等人 刚在此方面进行了一定的探索,提出了该问题的形式化定义和启发式算 法t s - g r e e d y 。 ” 查询优化的改进。查询优化作为提高关系d b m s 查询性能的一种 重要手段,已经研究了多年,但是仍然存在进一步提升的空间。其中最 成功的要数基于统计信息的成本模型。但该模型有一些假设条件,比如, 假设统计信息与数据库当前状态完全一致。当这些假设不成立时,代价 模型的计算会产生错误,这些错误足以对计划的选择产生负面影响。在 此,自调优的目的就是使系统能在运行过程中自动调整假设与现实间的 这些误差。 有关数据库的两个主要的国际会议v l d b ,s i g m o d 分别在2 0 0 4 年, 2 0 0 5 年的年会上,邀请c h a u d h u r i 等人作了关于数据库自管理和自优化 技术的报告 3 4 ,鲫。报告是针对想致力于这方面研究的学者跟学生 6 中国石油大学( 华东) 硕士论文第1 章前言 ( r e s e a r c h e ra n dg r a d u a t es t u d e n t s ) 而作。c h a u d h u r i 等人对数据 库自管理的起源与发展,各商业数据库已有的自管理特性,以及实现这 些特性所用到的具体算法、模型及其存在的问题等进行了详细地阐述, 最后提出了一些需要研究与解决的问题,其中就包括与本文研究内容密 切相关的如何根据负载的变化对数据库系统进行动态地调优。 目前自管理数据库主要有以下几个研究领域【3 6 】: ( 1 ) 利用统计模型或数据挖掘技术,探索与研究数据库负载的特性 以及趋势,从而实现系统能够根据负载的变化动态地调整与优化。本文 的研究内容正是属于这个领域。 一 ( 2 ) 数据库体系结构的研究。当前自管理数据库的研究主流是针对 现有商用d b m s 进行改造和扩充。但是已经有学者指出,现有d b m s 体系 结构的复杂臃肿正是导致自管理数据库研究难以取得重大突破的主要原 因,应采用新的体系结构来重新实现系统。因此,新的体系结构和原型 系统的研究可能在未来成为热点。 ( 3 ) 研究如何对特定的问题建立有效的性能数学模型,从而可以以 此来预测在不同的数据库参数调整下所能达到的性能。 ( 4 ) 当前的数据库系统的各个功能模块之间的关系是错综复杂的, 如何对系统整体建立有效的能够反映其之间关系的模型,从而达到系统 整体上的性能优化,更是一个研究难点。 总之,数据库的自管理技术的思想已经得到了业界的普遍认可,但 是设计和开发完全实现自管理特性的数据库系统还有许多问题需要解 决。而关于系统如何根据负载的变化进行动态地调整与优化更是亟需研 究的问题。 1 3 技术路线与组织结构 本文主要研究自管理数据库中负载的自动识别问题,这是实现数据 库系统能够根据系统负载的变化动态地自我调整与优化的重要一步。识 别问题,其实为模式识别、机器学习、数据挖掘和人工智能领域广泛研 7 中国石油大学( 华东) 硕士论文第1 章前言 究的分类问题。分类的算法多种多样,因而需要根据本问题的具体要求, 分类算法的评价标准以及各种算法的优缺点,选择最适合的算法,并进 行相应的改进。然后再按照分类问题的解决步骤,分样本属性的选取、 样本数据的获取、分类算法的学习和实验检验等几步逐步实现负载的自 动识别。接下来就是如何应用所获得的负载识别分类模型( 或称为负载 识别器) 到实际的数据库系统中。 具体章节的内容安排如下: 第一章:绪论。主要介绍本课题的来源、背景及意义,负载识别及 自管理技术的国内外研究现状,课题盼技术路线与组织结构。 第二章:数据库负载的自动识别。先简单介绍与比较了两种主要的 数据库应用o l t p 和0 l a p ,以及在实际的数据库系统中两种应用下系 统默认的参数设置的不同;因为负载识别实际上是一个分类问题,接下 来便按照区分负载类型的属性的选择、样本数据的获取、分类算法的选 择、分类算法的学习等步骤逐步实现数据库负载的自动识别。重点研究 了c 4 5 算法和b o o s t i n g 算法,解决了两者结合所遇到的问题,并通过对 算法的改进,实现了识别结果为类别隶属度的负载识别要求。最后通过 三次实验对该分类模型的准确性、鲁棒性、通用性以及本文所提出的分 三步来实现识别结果为类别隶属度的方法进行了检验,并对实现的负载 识别系统进行了介绍。 第三章:负载的预测。对于负载类型呈现周期性变化的系统,提出 了一个负载预测的框架,该框架主要包含三部分:训练数据模型、离线 模块和在线模块。通过该框架便可预测出负载发生变化的时间以及变化 类型,并在相应的时间内通过负载识别器对所预测的结果进行验证,进 而决定是否进行调优以适应新的负载类型。本章详细介绍了该框架各个 部分的主要功能,最后以一个含有具体数据的实例对该框架的具体应用 进行了演示。 第四章:总结与展望。对目前的研究成果进行总结,指出研究的不 足,提出进一步研究的方向。 8 中国石油大学( 华东) 硕士论文第2 章数据库负载自动识别 第2 章数据库负载自动识别 对数据库进行调整与优化时,负载的类型是要考虑的关键因素之一。 从类型上看,数据库负载大致上可分为联机事务处理o l t p ( o n l i n e t r a n s a c t i o np r o c e s s i n g ) 和联机分析处理o l a p ( 0 1 1 l i n ea n a l y t i c a l p r o c e s s i n g ) 两大类。两种不同的工作负载对系统资源的分配有着不同的 要求,因而对系统的调优策略有着重要的影响。例如,o l t p 类型负载中 含有大量的更新事务,而o l a p 类型负载以复杂的只读查询事务为主, 所以在两种类型负载下系统关于重做日志相关参数的设置肯定不同。 一个现代商业应用中往往兼有这两种类型的负载,并且其比例在系 统运行期间不断变化。例如,在某银行数据库系统中,日常营业时间其 负载类型都类似于o l t p ,但是在月末、周末甚至每天晚上,其负载类型 更类似于o l a p ,因为此时通常会执行复杂的查询产生统计结果和财务 报告。负载类型的经常变化,就决定了仅依靠d b a 来动态地进行调整与 优化,不仅要耗费大量的人力物力,也无法时刻都保证能达到所要求的 性能水平。 如果数据库能够自动识别出负载的类型及其变化,就可以据此来进 行参数的重新调整和资源的重新分配。因此对数据库负载自动识别技术 的研究,是迈向自管理数据库的重要一步。 2 1o l t p 与0 u i p 的比较 当今的数据库应用可以分成两大类:联机事务处理o l t p ( o n l i n e t r a n s a c t i o np r o c e s s i n g ) 和联机分析处理o l a f ( o n l i n ea n a l y t i c a l p r o c e s s i n g ) 。o l t p 是传统的关系型数据库的主要应用,主要是基本的、 日常的事务处理,具有很高的并发性( 大量的交互式用户) ,并且是更新 密集型的,s o l 语句主要以插入、更新和删除为主,要求具有较快的响 应时间,以银行系统,订票系统为代表。而o l a p 是数据仓库系统的主要 应用,支持复杂的统计分析操作,侧重决策支持,并且提供直观易懂的 9 中国石油大学( 华东) 硕士论文第2 章数据库负载自动识别 查询结果,s q l 语句主要以复杂的查询为主,响应时间通常以分钟来计 算,而不像0 l t p 应用那样以秒来计算,当然对于不同的需求,响应时间 的要求也有很大不同。在0 l a p 应用中,并行性( c p u 和i o ) 对复杂查 询的响应时间影响很大,而对0 l t p 应用,影响却不那么明显。表2 一l 列 出了0 l t p 与0 l a p 之间的比较。 表2 - 1o l t p 与0 i a p 的比较 0 l t po l & p 用户操作人员,支持日常操作决策人员,高级管理人员 功能日常操作处理分析决策 d b 设计面向应用面向主题 数据当前的,最新的,细节的,历史的,概括的,多维的 二维的,孤立的集成的,统一的 存取及规模读写数条( 甚至数百条)读上百万( 甚至上亿) 条 记录 记录 使用重复性的即席的 工作单位简单的事务复杂的查询 用户数数百个一数千、万个数个一数百个 d b 大小1 0 0 仍- g b 1 0 0 g b t b 衡量标准事务吞吐量查询吞吐量,响应时间 2 1 1 不同应用下的数据库参数设置 两种不同应用下,数据库的参数设置,以及资源的分配策略都有较 大不同。以实际数据库o r a d e9 i 为例,在使用d b c a 创建数据库时,需 根据具体应用的不同选择相应的模板:t r a n s a c t i o np r o c e s s i n g 、d a t a w a r e h o u s e 和g e n e r a lp 疆p o 辩。这三种模板分别对应着o l t p 应用,o l a p 应用和混合应用选择不同的模板,从而为不同的数据库应用指定不同 1 0 中国石油大学( 华东) 硕士论文第2 章数据库负载自动识别 的参数,下面就简单介绍一下在不同应用中需设置不同值的数据库参数。 d b _ b l o c k _ s i z e :数据库最小物理单元“块”的大小,以字节为单位。 对于o l t p 类型应用,该参数一般设置地小一点,如2 0 4 8 ( 2 k ) ,4 0 9 6 ( 4 k ) 等;而对于o l a p 类型的应用,该参数一般设置地大一点,如1 6 3 8 4 ( 1 6 k ) , 3 2 7 6 8 ( 3 2 k ) 等,因为o l a p 应用下需要进行很多全表扫描,此参数值设 置得大一些,可加快扫描的速度。当然为了同时兼顾两种应用,一般设 置为8 1 9 2 ( 8 k ) 。 d b _ f i l e _ m u l t i b l o c k _ r e a d _ c o u n t :o r a c l e 在执行全表扫描时一次 读取的b l o c k 的数量。当然该参数的最大有效值受系统和磁盘本身的i o 能力的影响。在o l a p 类型应用下该参数设置的值要比o l t p 应用下大, 这样可以加快全表扫描的速度。 d b _ c a c h e _ s i z e :数据缓冲区的大小( 字节) 。在o l a p 类型应用中, 太大的数据缓冲区是没有多少用处的,一般设置的值要比o l t p 类型的应 用要小许多。 h a s h _ j o i n _ e n a b l e d :如果设置为t r u e ,优化程序将在计算最有效的 联接方法时考虑哈希联接。o r a c l e 建议o l a p 类型应用设为t r u e 值。 q u e r y _ r e l r r i t e _ e n a b l e d :启用或禁用对物化视图的查询重写。如果 该参数设置为t r u e ,并且一个在基表上的查询能够被物化视图满足,则 o r a c l e 会自动将此查询用查询物化视图来替代。o r a c l e 建议o l a p 类型 应用使用t r u e 值,从而使查询能够被相应的物化视图所替代,加快查询 的速度。 s o r t _ a r e a _ s i z e z 指定排序操作所能使用的最大内存量。排序完成 并且结果返回后,该内存将释放。如果所需内存超过了该参数的值,将 使用临时表空间来进行排序,所以增大该值可以提高复杂排序的效率。而 o l a p 类型应用要进行许多复杂的排序操作,所以此类型应用下该参数设 置的值要大于o l t p 应用。 s t a r _ t r a n s f o r r m t i o n _ e n a b l e d z 确定基于成本的查询转换是否将被 应用到星型查询中。如果设置为t r u e ,优化程序将考虑将基于成本的转 中国石油大学( 华东) 硕士论文第2 章数据库负载自动识别 换应用于星型查询中,转换后的查询将使用位图索引,加快查询速度。 o r a c l e 建议o l a p 类型应用使用t r u e 值。 u n d or e t e n t i o n :设置回滚段中的被提交或回滚的数据强制保留时 间,单位是秒。o l t p 类型应用下该参数设置的值要小于o l a p 类型应用 下。 p g a _ a g g r e g a t e _ t a r g e t :此参数用来指定所有会话( s e s s i o n ) 总计 可以使用最大p g a 内存。这个参数可以被动态地更改,这是从o r a c l e 9 i 开始,o r a c l e 引入了自动p g a 管理的新特性。o l a p 类型应用下,该参数 设置的值要大于o l t p 应用下。 一 l o g _ b u f f e r :s g a 中重做日志缓冲区的大小。该缓冲区暂时保存数 据库内所有数据块的更改记录。更新密集型的o l t p 应用,会产生大量的 重做日志,所以其设置的值大于o l a p 应用。 表2 2 列出了为不同的应用选择不同的模板而指定的不同的数据库 参数值,当然在不同的软硬件环境下,具体值可能有所差异。 表2 - 2 三种模板下各个参数的默认值 数据库参数名称o l t p 应用混合应用o l a p 应用 d bb l o c ks i z e4 0 9 68 1 9 28 1 9 2 d b _ f i l e _ m u l f i b l o c k _ r c a d _ c o u n t 一 81 6 3 2 d b _ c a c h e _ s i z e 3 3 5 5 4 4 3 22 5 1 6 5 8 2 41 6 7 7 7 2 1 6 h a s h _ j o i ne n a b l e d f a l 距c u e 刀0 【西 q u e r y _ r e w r i t e _ e n a b l e d f a l s ef a l s e刀i ,g s o r t a r e a s i z e 5 2 4 2 8 85 2 4 2 8 81 0 4 8 5 7 6 s t a rt r a n s f o r m a t i o n _ e n a b l e df a l s e t r i j et r l 7 e u n d o _ r e t e n t i o n 9 0 01 0 8 0 01 0 8 0 0 p g aa g g r e g a t e _ t a r g e t 1 6 7 7 7 2 1 62 5 1 6 5 8 2 43 3 5 5 4 4 3 2 l o g _ b u f f e r 1 0 4 8 5 7 61 0 4 8 5 7 65 2 4 2 8 8 中国石油大学( 华东) 硕士论文第2 章数据库负载自动识别 2 2 负载自动识别介绍 数据库负载的识别,本质上是一个分类问题。分类问题在数据挖掘、 机器学习、模式识别和人工智能等领域都得到了广泛地研究。分类问题 的基本框架如图2 1 所示。它通过某种分类算法对训练数据集学习生成 一个分类函数或分类模型,也称作分类器( c l a s s i f i e r ) ,通过该函数或模 型把数据记录映射到给定类别中的某一个,从而可用于数据预测。 图2 1 分类问题的基本框架 训练数据集由一组训练样本构成,每个训练样本是一个由属性值或 特征值组成的特征向量,而且每个训练样本还有一个类标号属性。具体 的样本形式为:( v l ,v 2 ,v n ;c ) ;其中v i 表示属性值,c 表示类标号。 更具体地讲,数据库负载的自动识别是一个关于o l t p 类型负载和 o l a p 类型负载的二分类问题,而要分类的数据记录为数据库运行过程 中对代表负载特征的属性执行快照获得的,分类函数或模型是通过对训 练样本集使用某种分类算法学习而生成。 根据负载识别以及自管理数据库的特点,负载的自动识别方法必须 满足下列四个要求: ( 1 ) 识别过程中所需信息,只能从数据库和操作系统自身获取,不 能有人为的干预。 ( 2 ) 方法必须是简单的,不能使数据库的性能受到很大的影响。 1 3 中国石油大学( 华东) 硕士论文第2 章数据库负载自动识别 ( 3 ) 不能因系统软硬件环境或数据库参数的修改,而影响识别的准 确性。 ( 4 ) 不仅仅要识别出是o l t p 还是o l a p 类型负载,还要给出类别 的隶属度,因为该值的大小决定了后续的性能自调优过程中资源调整与 分配的强度,以及性能优化策略的选择。 本章后面几节将分别介绍刻画负载特征的属性的选择,样本数据的 获取,分类算法的选择,负载自动识别分类模型的生成,实验验证以及 结果分析。 2 3 样本数据 2 3 1 属性的选取 分类问题中的数据样本为( v l ,v 2 ,v n ;c ) ,其中v i 表示属性。与负载识 别方法的整体要求类似,用于刻画并区分不同负载的样本属性的选取, 也有如下要求: ( 1 ) 所选择的属性,必须能够区分两种类型的负载,就是说,在两 种负载下,该属性取值具有较大不同。 ( 2 ) 所选择的属性,必须很容易地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论