[发明专利]一种数据库全局性自动化优化预警装置及其处理方法有效
申请号: | 201310345363.4 | 申请日: | 2013-08-08 |
公开(公告)号: | CN103390066A | 公开(公告)日: | 2013-11-13 |
发明(设计)人: | 程永新;宋辉;梁铭图 | 申请(专利权)人: | 上海新炬网络技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 金碎平 |
地址: | 200063 上海市普*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 全局性 自动化 优化 预警 装置 及其 处理 方法 | ||
技术领域
本发明涉及一种数据库工具及其处理方法,尤其涉及一种数据库全局性自动化优化预警装置及其处理方法。
背景技术
随着企业关键IT业务系统越来越受到重视,IT需求也水涨船高。要求IT系统应该有更好的高可靠性,更加快速,更加易用和更加适应业务的变化发展。现代企业IT系统的在线处理事务量大,数据交互频繁,对系统的可用性、实时性要求都十分高,对性能指标要求十分严格。
从另一方面来说,企业的业务为适应广大客户群体的需要,又源源不断的变更原有业务、推出新生业务,IT系统开发部门就必须不断发布新的应用版本、变更IT系统数据库对象(表、索引等)来配合业务的发展需要。伴随着企业业务的快速发展,业务数据量持续快速增长,从而对性能带来冲击。
如何保证业务系统的性能优越,并且在不断的变更中依然保持性能稳定,这是众多企业现在面对的一个很重要的课题。现实中,一个技术框架固定、数据库架构稳定的业务系统,其运行性能的好坏绝大部分取决于数据库的性能变化,而一套整体合理的索引方案对数据库性能提升及稳定起着至关重要的作用。
数据库中的索引对象是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。就如同书籍的目录作用一样,能帮助读者快速的定位到具体内容,是数据库整体性能提升的一个非常有效和有力的手段。在数据库中,索引存储了两部分的信息:表中的键值和相应的rowid(其包含数据行的物理地址),rowid可唯一标识一行记录。在合适的列上合理地使用索引,仅通过少量的IO读写,就能从巨大数据量的表中定位需求查找到表中数据的某个块的具体位置,从而快速获取到所需要的数据,减少数据查找的时间和数据库资源的开销。
但是索引亦是一把双刃剑,如果在不合适的列上使用不合理的索引,则会带来负面的效果。一方面,使用不合适列上的索引,查询优化器就必须从索引中多次检索,得出所有的rowid,然后再通过rowid从表中读取同样多的次数,才能获取到所需要的数据,这样使用索引查询反而比不使用索引更慢;另一方面,索引本身是存在维护代价的。对于频繁插入、删除的表,如果创建较多的索引,或者在经常进行更新操作的字段上创建索引,索引的维护会影响这些DML操作(包括插入、删除、更新等操作)的效率。因此,为了保证索引的合理性,需要同时兼顾考虑查询操作和DML操作。
对于数据库来说,如何创建和维护一套合理的索引方案,需要着眼全局、总体衡量,不能只抓住一条SQL语句、一张表、一个字段就片面的判定是否创建一个或多个索引。
对于数据库索引的创建及维护,目前主要分如下两种情形来执行:
1)、在应用系统设计、开发、测试阶段,或者是在新增业务正式上线前,设计人员、开发人员等凭借自身对业务的理解和模型测试的效果,预估相应业务表的数据量、变化量、数据值分布、访问频率等指标,然后基于这些评估值在相应的业务表上批量创建初始索引;
2)、在系统正式运行过程中,当发现某一条SQL语句执行效率低下:
情形1)维护人员凭借个人经验手工分析此单条SQL语句,如判定缺少合适的索引所致,即在原有索引方案基础上,新增创建所需要的索引;情形2)维护人员使用如Oracle提供的tuning advisor工具,由此单条SQL出发,根据相关业务表的统计信息给出有限的优化建议,如工具建议新增索引,维护人员则综合判断,然后创建相应的索引。
情形2,主要是修正情形1所创建的初始索引方案,解决运行过程中因缺少合适索引而引发的性能问题。流程图如图1所示,包括如下步骤:1)实时监控数据库等待事件,是否有异常等待发生;2)根据数据库诊断报告,是否有资源消耗比较突出的TOP SQL;3)如果流程1、2发现低效SQL,手工或使用如Oracle SQL tuning advisor工具分析SQL及相关联的业务表和索引分布情况,从而确定是否需要创建合适的索引来提升SQL效率;4)根据索引优化方案,新增索引或修改现有索引;5)让SQL原来的执行计划失效,并重新生成执行计划;6)查看该SQL新的执行计划、相应cost开销和等待事件;7)验证问题是否解决;8)如果没有解决,那么迭代分析,直至问题解决。
系统正式上线前初始创建的索引方案,由于人为评估的误差、仿真测试与实际生产的差距、数据量不断增长、访问习惯变化、业务需求变化、应用程序变更等因素,后期对索引方案的优化(或修正)必不可少,数据库索引优化是一个长期持续进行的过程。由上可见,现有数据库索引创建及维护存在如下缺点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络技术有限公司,未经上海新炬网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310345363.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种真空泵及真空泵的抽气调节系统
- 下一篇:EGR混合器