欢迎来到天天文库
浏览记录
ID:9669419
大小:51.50 KB
页数:3页
时间:2018-05-05
《dba在企业可持续发展中的价值--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、DBA在企业可持续发展中的价值>> 在当今竞争激烈的市场环境下,成本控制毫无疑问是各个企业提升竞争力非常重要的一个部分,由于众多竞争对手会提供同质化产品和服务,企业必须从控制内部成本做起,做为企业内部开销相对比较大的IT部门,应该首当其冲最大化得挖掘系统的潜力。DBA要引进新方法,新思路,扩展自己的视野,不仅仅局限在数据库维护本身。总的来说,DBA能为这个目标做的事情基本上可以分为系统优化,应用优化,流程优化三个方面。 首先谈到系统优化,这是大部分dba都要接触到的工作。企业定出一个商业目标,IT主管需要把这个商业目
2、标转换成系统的承载能力,要保证系统不会成为拖累。这个目标到了DBA这里,DBA需要把它分成主机与操作系统,存储,数据库3个部分。 主机方面的优化会从硬件选型开始,我们需要确定我们的系统目标容量是什么,需要采购什么硬件能够支撑这个容量,要有可量化的指标,有了可量化的指标后我们可以通过测试得出什么机器能满足性能,最后要综合成本考虑,选定一款能符合目标容量并且性价比最高的机器。由于硬件的升级换代非常迅速,一般2年时间就有新一代主机推出,所以在选择机器的时候只选够用的机器而不去追求一次采购到位,任何高端的机器2年过后必然被更高
3、端的机器所代替。一般来说在企业发展的初期,采用LINUX的pcserver是最优化的方案,相比较e的监控。DBA首先要做到能做正确的事(为不同的应用选对合适的系统),其次要能做到正确的做事(关注技术细节,关注性能,把知识合理得运用到优化中去)。 数据库上的优化DBA首先要做的是找到一种阶段化的优化手段,一般来说针对数据库优化都会经过下列步骤: 1.设定优化目标 2.记录当前性能 3.寻找当前瓶颈 4.优化瓶颈所在 5.实施优化策略 6.测量并记录优化后的性能 7.重复步骤3-6直到达到优化目标为止。 一
4、般来说在企业里面优化目标基本会跟数据库的吞吐量,数据库请求响应时间挂钩。在确定优化目标后,我们可以去查看当前性能,查看数据库性能监控报表,查看数据库的等待事件,查看topnsql,联合操作系统上的性能报表一起定位到瓶颈,然后对这些瓶颈做出相应的优化,再比较优化前后性能的差别,反复这个过程,最终达到优化目标。因为企业的应用系统可能天天在变化,dba必须每天都关注性能问题,优化是一个长期持续的过程,最终目标都是为了发挥出系统的最大能量。 接下来说到应用优化,其实很多时候当系统负载比较高的时候都是因为应用里面有性能很差的sq
5、l语句引起的,控制sql语句的质量是dba的头等大事。我自己也曾经帮别人优化过很多系统,通常出现问题的时候都是由于sql语句写的不好,该建立的索引没有建,不需要关联的语句去关联,高并发的全表扫描导致系统负载相当高,这时候一些公司的就会考虑去升级硬件,升级存储,升级主机,通常会选用高出实际容量很多的硬件,能用pcserver的去选用小型机,能用小型机的选用rac,实际上如果有一个比较专业的dba,那么经过优化后的系统完全没必要升级,这其中的IT投入都可以省掉。 对于自己开发应用程序的公司,Dba要主动建立sql培训体系,
6、定期给开发人员讲解sql相关知识,最好是把已经出现问题的sql做为案例分析进行讲解,这样效果会比较明显。这样做的目的是因为sql语句是程序员写在应用里面的,很多时候dba等到应用上线后才发现性能有问题的语句,这个时候通常已经给业务系统带来或大或小的影响了,dba需要把问题消灭在开始阶段。当然只有培训是不够的,dba需要借助测试部门的力量把有问题的语句在测试阶段尽量都发现,这样就必定要搭建一套完整的开发数据库和测试数据库,开发库和测试库与产品库的表结构和对象要保持一致,以oracle为例,dba可以自己利用pl/sql脚本
7、对比两个库的数据结构并自动同步,还可以做到从产品库定时同步数据到开发测试库,尽量保证开发测试库数据的有效性,不会因为开发测试库数据的确失导致测试中不能发现有问题的语句。 另外,对应用系统架构的优化也是需要dba参与其中,举个例子,很多时候我们可以在数据库前面做一层cache服务器,保存已经被访问过的页面或者java对象,这个工作将由开发人员去完成,dba可以提供访问最频繁的语句,访问最频繁的对象,然后由开发人员通过程序实现cache这些东西,当应用请求进来,先去cache服务器访问,如果需要访问的页面或对象在cache
8、服务器上已经存在,那么将不需要请求数据库,这样的话数据库的压力会减少非常大,由于cache服务器基本上是由pcsevercluster组成,横向可扩展性比较强而且价格比较便宜,所以当企业发展到一定规模后可以考虑从应用层上添加cache层而不是急于去升级数据库硬件,dba要有这个意识,要能挖掘一切能优化的地方,换个角度
此文档下载收益归作者所有