数据库性能优化:五招让IT反败为胜

  当数据库的性能变得糟糕时,IT人员能扭转局面。

  生产数据库的性能会随着业务和数据的增长而严重迟钝。每一个关键数据库性能的降低都可能会导致全面的业务损失。

  从技术上讲,性能优化可以从许多不同的层次下手应用程序可以优化,数据库可以调整,或建立新的系统架构。但是,在生产中,这些问题往往会由IT运维来解决,采取某些对系统破坏性最低的措施实现提速。

  以下是IT专业人员对付性能下降问题的一些新方法:但是,必须首先达成共识:为什么应该由IT人说了算?

  数据库管理员和开发人员有许多方法可以实现数据库性能调优。他们可以调整配置文件以便更好地适应数据库和底层架构条件,添加索引,执行存储过程,甚至修改架构(累个半死)!将一些表非规范化。

  开发人员会显着影响使用数据库技术路线;需要处理哪些数据,如何检索这些数据都由他们决定。开发高手们会灵活运用SQL十八般武艺优化客户端查询、实现缓存,并有效控制应用程序端带宽。或者,他们重写应用程序以便用上有前途的新数据库平台,例如NoSQL的衍生品。

  然而,所有类型的数据库最终都会出现一定程度的性能退化。更糟的是,许多开发人员单纯地认为,如果生产系统中有哪里变慢了,只需要让IT人员简单地添加更多的基础设施就能搞定,但这显然不是最佳的选择。

  定位数据库性能问题的五种方法

  1.基础设施纵向升级。投入更多的计算资源是解决问题的通常办法,但这办法实际上并不一定会让性能获得提升。即使扩充了正确的资源池,能被有效利用的资源数量仍然是有限的。对于承载于物理设备上的数据库而言,添加基础设施具有一定难度,而但虚拟或云托管的数据库则非常容易调配计算资源。

  2.横向扩展。一些类似群集化MySQL的数据库是可扩展的。然而,群集的实际规模限制或对分区技术的要求影响了应用程序一致性或可靠性。群集还要求改变系统管理模式,执行新的数据保护计划。

  3.激活归档。有时可以通过归档较旧的数据来保持性能。存档通常意味着一些数据不再是完全有用,但今天也有象Rainstor或Oracle内置的混合列式压缩选项可以处理静态相关数据。由于数据变得更加静态和被压缩处理,对这些归档数据的分析查询性能实际上增加了。

  4.利用闪存加速。闪存是一种很受欢迎的性能解决方案。当从战略上部署时,它可以加速的远不仅仅是一个数据库。闪存加速的一大优点是,闪存对数据库系统是透明的。闪存能被用作服务器或存储缓存(例如Fusion-io)或固态驱动器,还可以放在网络中,例如Astute VisX全闪存存储。一些供应商,如PernixData,将服务器闪存汇集到自己的存储层,使得存储和服务器的界限变得模糊。闪存目前仍然非常昂贵,而且一些解决方案仅针对读取IO进行了优化,并不一定能够消除当前的数据库瓶颈。

  5.数据库引擎升级。对数据库性能进行优化的一个有意思的新办法是升级数据库内部引擎。例如,对于流行的MySQL和MongoDB数据库,你可以从Tokutek找到高性能(免费、开源的)版本的内部引擎进行替换。替换数据库引擎的过程对应用程序是透明的,不需要对基础设施进行任何更改。

  额外的好处是,由于数据库索引和写入数据的机制得到更新,数据库I/O操作也自然被一起优化,更充分发挥闪存的优点。

  在面对关键性能退化时,IT部门常常被被迫作出缺乏可靠回报的巨额投资。为了避免在未来遇上越来越多基础设施性能问题,不妨多留心以上列出的优化选项。更好的做法是,将这些选项放到第一位来主动探讨,你将可以避免数据库性能问题。

文章相关课程 Oracle数据库系统工程师培训(内存结构、物理结构、备份和恢复、安全审计、性能调优)
深入探究IBM AIX高级系统管理(LVM、HACMP双机互备) Oracle数据库精讲课程之性能调优(SQL语句调优、体系结构调优、主机调优和数据库设计调优)

时间: 2024-11-03 11:05:25

数据库性能优化:五招让IT反败为胜的相关文章

MySQL数据库性能优化妙招

通过在网络上查找资料和自己的尝试,我认为以下系统参数是比较关键的: (1).back_log: 要求 MySQL 能有的连接数量.当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程. back_log 值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中.只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值 对到来的TCP/IP连接的侦听队列的大小.你的操作系统在这个队列大小上有它自

历年双11实战经历者:我们是如何做数据库性能优化及运维-CloudDBA和天象

8月24日阿里云数据库技术峰会上,阿里云高级DBA专家玄惭带来面对超大规模的数据库集群,尤其是在每年像双11这样重大促销活动中,阿里云是如何进行运维和优化的.本文主要介绍了天象和CloudDBA两个产品,包括他们的起源.基于系统画像仓库的应用.产品化等,最后对RDS产品的可诊断性建设和可运维性建设作了补充.   随着云数据库时代的到来,它的运维体系不仅仅包括保持数据库集群的稳定,同时我们还要关注用户体验.在业务上,体量大,用户各类,例如有公有云小客户,也有企业大客户,每类客户的需求都各式不一,众

Oracle数据库性能优化技术开发者网络Oracle_oracle

正在看的ORACLE教程是:Oracle数据库性能优化技术开发者网络Oracle.介绍:细处着手,巧处用功.高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些.电脑小技巧收集最新奇招高招,让你轻松踏上高手之路.  摘要: Oracle数据库是当前应用最广泛的大型数据库之一,而其性优化直接关系到系统的运行效率.本文以数据库性能优化的基本原则为出发点,阐述了在数据库设计阶段如何避免竞争和如何优化数据访问,在数据库运行阶段如何从操作系统和数据库实例级别上调整内存和I/O来达到数据库性能优化的各种技

oracle数据库性能优化方案精髓整理收集回顾

oracle数据库性能优化总体法则: 一.减少数据访问(减少硬盘房访问次数) 二.返回更少的数据(减少网络传输或磁盘访问) 三.减少交互次数(减少网络传输) 四.减少服务器开销(减少cpu及内存开销) 五.利用更多的资源(增加资源) ===================具体说明================= 一.减少数据访问(减少硬盘房访问次数) 1.减少数据访问 1.1.创建并使用正确的索引 索引会大大增加DML(增删改)的开销[合理的索引会大大提高效率100倍.1000倍,但不合理的索

突破瓶颈 数据库性能优化“路线图”

数据交互复杂度与频度的提升,导致了数据库在运维.迁移和规模扩展进程中的性能问题.作为一项确保企业IT基础部件健康运营的关键技术,数据库性能优化的实现路径和IT系统管理架构越来越密不可分. 南方某省级电信运营商的计费业务营账系统在上线运行后不久即出现性能问题.主要问题表现在最终用户的交互响应达不到预期,特别是在业务繁忙时段无法做出及时响应.从主机系统的角度观察,问题主要集中在系统的I/O(输入/输出)等待较大.而该营账系统由业务应用程序.甲骨文数据库.IBM AIX主机.IBM企业级存储服务器等部

Oracle数据库性能优化技术

摘要: Oracle数据库是当前应用最广泛的大型数据库之一,而其性优化直接关系到系统的运行效率.本文以数据库性能优化的基本原则为出发点,阐述了在数据库设计阶段如何避免竞争和如何优化数据访问,在数据库运行阶段如何从操作系统和数据库实例级别上调整内存和I/O来达到数据库性能优化的各种技术. 关键词:Oracle数据库:性能优化:内存:I/O 1. 引言 随着网络应用和电子商务的不断发展,各个站点的访问量越来越大,数据库规模也随之不断的扩大,数据库系统的性能问题就越来越突出,因此,如何对数据库进行调优

阿里云数据库CloudDBA智慧解决数据库性能优化和问题诊断难题

背景 我要申请CloudDBA免费体验     阿里云数据库为何推出CloudDBA?问题诊断(trouble shooting) 和 性能优化(performance tunning) 一直都是数据库领域的专业问题,需要资深DBA的专业技能才能胜任解决,但这样的人才是稀缺的,无法及时满足大部分的企业紧急需求.如果有一款产品能够在大多数情况下,客户借助它非常迅速的找出数据库性能隐患点.排查出问题症结所在,这将无疑协助客户解决燃眉之急,可以大大降低风险和提高效率.        先来分析下为什么数

MySQL数据库性能优化之表结构优化

很多人都将<数据库设计范式>作为数据库表结构设计"圣经",认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求.殊不知,在N年前被奉为"圣经"的数据库设计3范式早就已经不完全适用了.这里我整理了一些比较常见的数据库表结构设计方面的优化技巧,希望对大家有用. 这是 MySQL数据库性能优化专题 系列的第二篇文章:MySQL 数据库性能优化之表结构优化 系列的第一篇文章:MySQL 数据库性能优化之缓存参数优化

【性能优化】ORACLE数据库性能优化概述

   为了保证ORACLE数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略.优化策略一般包括服务器操作系统参数调整.ORACLE数据库参数调整.网络性能调整.应用程序SQL语句分析及设计等几个方面,其中应用程序的分析与设计是在信 分析评价ORACLE数据库性能主要有数据库吞吐量.数据库用户响应时间两项指标.数据库吞吐量是指单位时间内数据库完成的SQL语句数目:数据库用户响应时间是指用户从提交SQL语句开始到获得结果的那一段时间.数据库用户响应时间又可以分为系统服务时间和

DBA不失业:云时代的数据库性能优化全攻略

性能问题是数据库中最重要也是最迫切要解决的问题之一,随着业务的发展和数据的不断加增,用户对于系统的响应速度的要求越来越高.而归根结底就是要提高数据库系统的性能.对于大部分的DBA来说,性能优化并不是一件容易的事情,造成性能问题的原因多种多样,在现实中,优化过程也会受到重重阻碍,随着云时代的到来以及自动化智能化运维的发展,那么云时代的DBA该如何优化数据库的性能呢? 在今年的数据技术嘉年华上,我们邀请了来自国内外各大企业的性能优化专家,从不同的角度分析云时代数据库性能优化的技术与技巧. 重点嘉宾与