频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

DBA管理心得

作者: 佚名 出处:计世网 2007-09-21 13:08    砖    好    评论   进入论坛
阅读提示:为了防止数据库出现瓶颈,DBA必须利用缓存技术和传输流的智能平衡技术,实现数据库与应用请求的隔离。重要的是,它找到了如何让缓存无缝地在应用层之下的代码中运行的方法,使缓存能够透明地工作……

最近一段时间,将有大量新的数据库管理软件包涌入市场。甲骨文刚刚发布的数据库11g,承诺将为DBA提供超出DBA理解范围的新特性;微软的SQL Server 2008即将于08年2月发布,成为SQL Server 2005的继任者;Informix推出了新的“Cheetah”版本,IBM希望利用该产品夺回失去的市场份额;FileMaker公司的同名软件第9版,该厂商表示该产品已经为Web 2.0准备就绪,同时保持了良好的易用性。

新产品的功能可能相当诱人,但有经验的DBA一定明白,新版本通常具有更多特性,但这也意味着任何性能的提升,可能来自伴随数据库升级而来的昂贵的硬件升级,而不是数据库升级本身。同时,性能提升可能也是有限的,如果基本的设计缺陷或操作问题依然存在的话。

正如旅游运营商Globus公司的DBA Amy Stuemky所说:“利用硬件解决问题永远是错误的。”那么,如何在不把大笔的钱花在咨询师或新硬件上的前提下,解决数据库应用的常见问题呢?一些DBA表示,解决这样的问题需要的是一点智慧和许多汗水,以及精心选择的第三方工具。

修补不良SQL代码

对于钢铁制造企业Lone Star Steel公司的数据库与系统管理员DeWayne Treadway而言,数据库问题表现在公司的两个甲骨文数据库“整体速度缓慢”,但却不能确定其中的原因。

Treadway两年前来到这家公司时,公司的数据库在IBM AIX服务器上运行Oracle8i,其中的一台服务器是16路System p570,另一台是较老的RS/6000 M80。Treadway感到问题与SQL代码有关,这些代码是由承包商在5年前编写的,当时数据库从大型机迁移到了Unix服务器。

Lone Star Steel遇到的情况比较普遍。开源PostgreSQL数据库的开发者之一Josh Berkus就表示:“数据库应用就像是不老松。一个‘临时的一次性’应用的平均寿命长达4年,目前仍有60年代编写的代码在运行。”所以,找出问题代码并非易事。

在分析了多个数据库性能优化软件包后(包括Oracle Enterprise Manager和Quest Software的Spotlight on Oracle),Treadway选择了Confio Software公司的Ignite for Oracle。利用这款工具的“等待时间分析”特性,Treadway能够迅速确定造成数据库一半延迟的三段SQL代码。例如,Treadway能够重写Ignite确定的一段代码,使以前运行需要4分钟的一个进程只需运行10秒钟。

自从一年前开始使用Ignite后,Treadway把数据库的性能提高了30%。他说他可以通过进一步的调整,再将系统性能提高50%,不过他没有这样做,因为公司已经打算从Oracle 8i迁移到Oracle 10g R2。然而,Treadway估计通过使用Ignite,在部署新的甲骨文数据库时,他依然能够更好地测试其运行情况。

正确构建数据库支持网站

近几年,支持动态内容或电子商务网站已经成为最流行的数据库应用之一。不过, Walmart.com的前CIO Neil Day表示,绝大多数网站并不是以高效率的方式构建的。Day指出,在典型的三层Web应用架构中,数据库会承载很大的负荷。为了防止数据库出现瓶颈,DBA必须利用缓存技术和传输流的智能平衡技术,实现数据库与应用请求的隔离。

为此,Walmart.com建立了节点,每个节点由4台轻型商用PC服务器构成。Day说:“没有使用一台Cisco、Sun或EMC设备,我们使用的全是廉价的x86机器,以及其他廉价的硬件。”由于整个应用栈包括大型Walmart.com数据库,因此,每个节点都能缓存某个用户可能发出的所有传输流请求。这就大大减少了瓶颈和由此而来的延迟,并且确保用户的请求始终保持在本地。

Day说,Google采取的将搜索索引数据库复制到数万台PC服务器上来获得速度和冗余性的战略(“分片”方法),就是与他们的方法类似且不太复杂的版本。不过,“分片”并不适合用于媒体内容网站和像Walmart.com这样的电子商务网站。因为,Walmart.com拥有巨大的商品目录以及数以百万的图形元素和图像,所以,拥有比Google数据库容量大得多的数据库。

Day并不愿透露更多细节。不过他说,“利用目前的战略,尽管我们运行在价值两百万美元的硬件上,但Walmart.com仍能够成为世界上最大的电子商务网站之一。”

对于对Walmart.com的方法感兴趣但又不想重建基础设施的DBA,Day的建议是,不妨考虑采用前Walmart.com首席设计师Ari Zilka开发的Terracotta公司的开源Java群集软件。他说:“Terracota为应用中使用的数据提供真正高级、智能的缓存。重要的是,它找到了如何让缓存无缝地在应用层之下的代码中运行的方法,使缓存能够透明地工作。”

当升级出现问题时

对Globus公司的资深DBA Amy Stuemky来说,数据库瓶颈出现在公司的关键任务网站中。Stuemky说:“网站常常会瘫痪,没人知道原因。我们不知道是数据库的问题、Web服务器的问题,还是应用造成的。”

Globus拥有50个从版本8到版本10g的甲骨文数据库,以及30个微软SQL Server 2000数据库。而Stuemky是唯一的DBA。这就使Stuemky很难把更多时间用在寻找网站中到底哪里出现了问题上。旅行代理和越来越多的消费者都在通过这个网站预订旅游行程。

Stuemky甚至做了她不知道是否有效的事情,就是给SQL Server数据库添加了两个额外的CPU。

Globus最终也选择了Confio的Ignite。Stuemky表示,Ignite的表现优于SQL Server内置的性能监测工具。把Ignite安装在客户端后,一天内就返回了数据库诊断结果:SQL Server存在一个“巨大的锁定问题”。有了这些数据后,Stuemky就能够从微软支持人员那里获得一个Hotfix补丁。

修改业务流程而不是数据库

简单调整公司的业务流程常常能比技术修补带来更大的回报。据Orapub公司前甲骨文优化的独立数据库咨询师Craig Shallahamer说,实际上,一些操作,比如调整SQL代码,常常只会将瓶颈由一个地方转移到另一个地方。相比之下,减少数据库工作负载或重新平衡工作负载可以取得更大的成效。

那么,为什么很少有人会采取这种方法呢?Shallahamer说,这个问题属于典型的DBA的性格问题:即内向和偏爱解决问题。Shallahamer回忆与一位DBA一起工作的经历。这位DBA管理的甲骨文系统在月底高峰期“变得不堪重负”。这位DBA提到了有一些每秒都在运行的SQL语句,这些SQL语句组成传递应用的一部分。他说:“我问他是否有什么办法把这些SQL语句的运行频率减少到1分钟运行一次。他说他首先要与用户协商。用户说:‘噢,没问题。’因此,这实际上全取决于你如何提出问题。”

他说,DBA还“常常感到没有足够的能力去推动流程改造。”Shallahamer说,正如前面提到的例子所证明的那样,这也是一种误解。DBA可以得到他们“创造令人惊奇案例”所需要的全部信息(例如工作负载的分布情况等)。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606】

关于 DBA  管理  心得
专题
系统应用日志分析管理
网络管理系统如何支撑ITSM
网吧管理软件
Oracle较真SAP-商业管理软件之战一触即发
互联网接入管理与控制专题
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·SQL Server入门到精通 (查看120205次)
·SQL Server 2008/2005全解 (查看100798次)
·Oracle数据库开发指南 (查看48189次)
·MySQL数据库备份 (查看46621次)
·Oracle SQL 内置函数大全 (查看44460次)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。