首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 开发技术 >> 正文

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

    系统架构的问题
    DBA不是系统架构师,但数据库是一个应用系统核心的部分,同时,由于数据库服务器不像应用服务器那样便于扩展,因此往往也是整个系统性能的瓶颈所在,所以架构师在设计系统架构时,应该充分考虑DBA的意见,要考虑到DBA对数据库中的SQL进行性能调整的便利性甚至是可行性!

    否则就可能导致DBA及开发团队对系统的性能问题反应过慢甚至束手无策!我曾经见过一个架构,它无法实现oracle最普通的分页SQL!绑定变量就根本不在考虑中!再就是有些第三方组件或架构,能够帮助我们的系统生成SQL,这当然很省事,能够加快开发速度,可是在这样的系统中,DBA如果想要优化一条SQL可能很难,因为开发人员要修改的东西相对较多,修改的工作量大、耗时长,并且工作量多肯定就更容易带来新的错误!Oracle大师Tom Kytes也曾在经典著作Export one on one中反对使用这种自动产生SQL的组件或架构,这种东西很可能给你的系统带来性能和维护上的问题!

    这些问题,如果咨询过资深DBA,相信会尽早发现并在架构上得到修复或调整。而到了系统开发的后期,架构的问题已经很难做本质的调整了。假如你的系统要求非常高效,并且并发访问较大,那么建议架构师倾向于尊重DBA的意见,这对整个系统的性能以及持续地调优将非常重要。而DBA,对系统架构也要有一定的认识,并明确自己在现有架构中遇到的困难是什么。

    三、 提高应用系统的性能、稳定性

    除了DBA原本的DB调优、SQL调优、服务器维护等日常工作以外,扩展DBA的工作范畴,强化DBA在系统开发过程中的控制能力和决定权。

    1、 让DBA参与到需求分析中去,并充分理解用户需求,从DB的角度来理解和考虑这些需求实现的成本。

    2、 Schema的设计必须由DBA设计确定或者审核确定,这点也要求DBA必须了解业务系统,才能整理出正确的、有良好扩展性的E-R关系。

    3、 让DBA更深入的参与系统的设计,尽可能地让DBA了解应用的业务设计细节,这对于DBA审核数据流是起到决定性作用的,如果有条件,业务的数据流应当作为系统的文档之一,以便将来的反复核查。

    4、 在系统上线之前,由DBA审核sqltrace中的sql以及数据流逻辑,最好是能给出一些重要业务功能在DB成本(比如I/O)上的评估结果。

    5、 系统上线后的性能监控,及时作出调整甚至一定范围内重构优化数据访问逻辑。

    如上所述,则DBA的人力资源必然不足,因此,细化DBA的工作,进行分工是正确并且高效的,在一些公司,已经将DBA分为专管线上服务器的产品DBA和专管开发、参与系统设计的开发DBA,从不同方面全面保障系统的稳定和高效,值得借鉴!

上一页  [1] [2] 

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航