Tag Archives: 技术

高效能 DBA 的七个习惯

邮件列表中有人推荐了 DMReview 的一篇文章 Seven Habits of Highly Effective DBAs, “高效 DBA 的七个习惯”, 这个题目应该是受了 《高效能人士的七个习惯》一书的启发。虽然颇有拾人牙慧之嫌,还是记录一下吧,就算是自己的学习笔记。”如人饮水,冷暖自知”
在开篇有一个关于什么是个”高效能 DBA” 的定义, 作者指的高效并不是说 DBA 每天都在忙于救火的那种”高效”,而是能够防患于未然.
1. 专业的多面手(Be an expert generalist)
熟知存储、操作系统等领域的知识, 跨平台数据库的技术也是必须要掌握的,不能离开了 Windows 环境到了 Unix 下什么都作不了. 看上去这一点似乎有些苛求,不过个人认为通过持续的学习能力加上良好的知识积累方法会让你无限接近这种能力.
2. 理解来自商业、用户的需求(Understand the business and user expectations).
如何把掌握的数据库知识应用到商业需求上,还不给用户一种“木匠拎着锤子,看什么都是钉子” 的感觉是需要一点艺术的。
3. 通过可量化的度量构建更加正规的服务级别协议(
Build more granular service level agreements (SLAs) via quantitative and easy-to-understand metrics)
用户(或你的老板)对你的数据库管理工作是否满意,总要有一个可以达成一致的地方,这个一致应该来自”服务级别协议”. 服务级别协议是很多 DBA 最容易忽略的一个地方。
4. 把环境分割为更小更易于管理的组成部分(Break down the environment into smaller, more manageable pieces)
一揽子计划不是个好主意,分而治之。这样也容易与委托方达成一致。
5. 关注于任务,而不是实现的细节(Be task-focused, not necessarily on how to accomplish it)
这一点应该是说于开发人员的关系的。DBA 不应该去关注太多程序设计的细节,而应该把注意力集中任务实现上–有效的与数据库交互. (这一点说起来似乎有些勉强,或许站在高效 DBA 的角度上就容易理解了,呵)
6. 隔离并委派普通任务(Segregate and delegate the mundane).
如果从一个技术领导者的角度上说,这是必须的。既然是高效DBA ,那么在没必要事必躬亲拘泥于一些琐碎的事情. 否则再高效也不成.
7. 淘汰特定环境下才可以用的那些玩意儿(Weed out the one-trick ponies)
特定的第三方工具、GUI 工具等只会使得整个环境更为复杂。一个高效的 DBA 应该致力于整个环境的简化与标准化。
说的是 DBA ,其实放到其他工种上也是蛮适合的。
从卓越到优秀,还是从普通到平庸,这是个问题.
EOF

技术人员的力量

很多销售型的企业往往比较忽视技术人员的力量,而很多高科技软件企业其实也是比较忽视面对客户的技术人员力量的,这样带来的后果是直接影响了商务行为.今天中午吃饭的时候聊起来一件有趣的事情就和这个有关.
话说国内某银行数据仓库产品招标, 是一个大单子, 候选的厂商是业界的三个巨头,”王婆卖瓜,自卖自夸”,各家的销售都在用有利于自己的性能数字来说话, 为得知三家产品的优劣, 该银行少不了要组织一场产品性能评测.各家也各派出了一些技术人员参予评测.结果比拼下来, 其中一家老牌数据库厂商得到的性能结果和其他两家相去甚远(Hash Join 查询速度远远低于其他产品). 这样的评测结果,他们自己的技术负责人也不相信, 在现场到处找原因,发现不了什么问题. 给一位公司之外的业界专家打电话求助, 最后才发现该厂商自己的测试人员(所谓的专业人员)在造数据的时候主表的很多数据是重复的,这样的数据来测试 Hash ,结果肯定差得一塌糊涂.他们本该最擅长的东西, 居然出了这么一个低级的错误.其不良后果可想而知.

继续阅读