DBA在系统设计、开发中的重要性

来源:不详 责任编辑:栏目编辑 发表时间:2013-07-01 17:22 点击:
关键字:DBA在系统设计
许多应用系统的性能或稳定性并不理想,这在系统上线后不久就逐渐变为棘手的问题,造成这些问题的原因,往往体现了一点:开发设计这些系统的人,对数据库本身不是很了解!而DBA又不了解业务!这就导致了很多本来可以避免的问题产生;另一方面,随着数据库自我调整、管理的能力不断加强,而应用又往往是系统性能最大的杀手,所以,DBA的工作范畴,从只负责数据库服务器维护,逐步走向管理应用系统的设计、开发,是必然的趋势!
  许多应用系统的性能或稳定性并不理想,这在系统上线后不久就逐渐变为棘手的问题,造成这些问题的原因,往往体现了一点:开发设计这些系统的人,对数据库本身不是很了解!而DBA又不了解业务!这就导致了很多本来可以避免的问题产生;另一方面,随着数据库自我调整、管理的能力不断加强,而应用又往往是系统性能最大的杀手,所以,DBA的工作范畴,从只负责数据库服务器维护,逐步走向管理应用系统的设计、开发,是必然的趋势!

  一、 现阶段DBA对系统性能及稳定性所做的调整工作

  目前DBA对系统性能的调整工作大致是这么几个方面:

  1、 在硬件层面进行调优,这通常就是直接花钱,买设备、扩容。

  2、 在DB层面进行调优,比如调整初始化参数,调整数据库物理结构。

  3、 对应用的SQL进行优化,比如在数据库分析statspack,调整Top SQL。

  4、 只有非常少数的,通常是对系统稳定要求较高的一些公司的应用,才会在新的应用上线前,让DBA对sql进行充分的审核与评估。

  问题:在应用系统的分析、设计、开发阶段,就目前情况看,很少有DBA参与,而应用系统上线或者开发工作基本结束后,DBA所能做的调优工作其实是很有限的。

  二、 许多应用系统的性能或稳定性仍不理想

  许多应用系统的性能并不理想,或者系统数据会出现一些难以重现的奇怪的错误,这些问题(尤其是性能问题)有时并不是在系统初期就会体现出来,但是随着系统的运行、数据的增多而逐步变得难以解决,给系统后期的功能扩展和用户使用上带来了不少麻烦,造成这些问题的原因,往往体现了一点:开发、设计这些系统的人不了解数据库!以基于Oracle的应用为例,简要举例说明:

  底层数据结构不合理

  由于缺少专业DBA的协助,很多系统设计出来的底层数据库表结构问题重重。而做过系统的人都知道,底层数据库结构不合理,带来的改造代价之大几乎等于一次重构!我见过一个OLTP系统,其核心表竟有100个字段,平均一条记录超过8K,如果按Oracle默认的8K一个Block,一半以上的行必须产生行链接!

  而最糟糕的是,设计这样表结构的人还认为自己充分利用了冗余来降低表之间的连接,事实上,其人根本不晓得什么是范式、什么是更新异常,按照范式,这个表应该拆分为两个表的,但如果要改几乎所有的程序都要改!虽然范式不是越高越好,但绝对是设计的人必须吃透的一个东西。在冗余上,相信大多数DBA都认为,级联更新的代价是非常高的,因此冗余应当避免发生级联更新的情况,对于关系型数据库设计中冗余的使用,绝不是门很容易掌握的技巧。

  不合理的底层数据库结构设计,给系统的性能埋下了重磅的定时炸弹,这个系统在客户那里跑不到一年,数据量稍微上去些,性能、稳定性就直线下降,而重构的成本又极高,买新服务器肯定是只能治标。而假如底层数据表结构是资深DBA设计的又会如何?当然,如果完全让DBA去做数据库表结构的设计,DBA就必须非常清楚地了解整个系统的业务细节信息,这在DBA来说,人力资源上是有一定困难的,毕竟维护好线上服务器就已经占用了DBA很多的资源,并且领导们通常更看重这点。

  很少有领导能认识到DBA在系统开发设计中所起到的作用,和维护线上系统、处理DB故障相比,对整个系统的稳定性和性能,是同样重要的!

  SQL性能问题

  系统的开发,通常和DBA是没有什么关系的,但是,如果DBA对系统有足够的
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • SQL注入攻击及其防范检测技术研究
    • Sql-Server应用程序的高级Sql注入
    • 学生信息管理系统数据库原理课程设计报告
    • sql常见面试题
    • SQL SERVER 2005性能之跟踪
    • 经验总结:登录和优化IBM DB2的执行速度
    • db2管理工具小结
    • MySQL服务器的启动与停止
    • 浅谈数据库的接口技术
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1