DBA 应该具备什么样的特质?招聘 DBA 时应看重些什么?

  1. 责任心
    数据库往往是企业的心脏,DBA 必须对于公司有超额恪尽职守的觉悟。不论是半夜三点还是隔着四分之一个地球,一个电话打过去就可以如临现场。
  2. 抗压
    数据库宕机的每一秒钟都在给企业造成损失,对内无法开工,对外无法服务。电话此起彼伏,几十双眼睛盯着他的时候,仍旧能保持沉着,方寸不乱。
  3. 能独立工作
    不仅和别人搭档的时候一切正常,独立要完成任务的时候也不会不知所措,不会怀疑自己做的对不对、质疑这样行不行。没有同事的时候,不会分心,也不偷懒。
  4. 善于情势判断
    两方面:一是数据库宕机时往往是连锁反应,症状复杂,此时要快速找到根源,所需要的排查能力;二是修复时能分清轻重缓急,知道应该先通知前端把网站转入维护状态,然后去换烧坏的硬盘控制器,最后才是去看上一次备份是在半个月 前还是半年之前。
  5. 细致周全
    Schema / Index / Temp table 设计合理。防御式 ETL,设定层级报警。文档写得细致干净,逻辑清晰。
  6. 做事规律
    知道上一次备份是在几小时之前;定期打补丁;定期查看系统记录;定期更换密码;硬盘排线要上束绳、打标签;记笔记——如果他不幸身故,同事可以通过他的笔记本迅速接过整个业务。
  7. 耐心
    解决问题或者和别人沟通时,不会轻易不耐烦 / 愤怒 / 产生挫折感 / 进入防御模式。
  8. 略有洁癖
    主要是对于数据上的。
  9. 善于沟通
    口拙做不了 DBA,不管是解释事故原因还是争取检修机会 / 硬件升级资金。
  10. 对硬件着迷
    不解释。
  11. 精通不包括 shell script 在内的至少一种脚本语言
    不解释。
  12. 不爱出风头
    其实没什么不好,但是这一条往往和以上所有品质不协调。

以上依照重要程度降序排列。

最适合担任 DBA 的人,是英语好,已婚,身体强健,生活稳定,无不良嗜好的中年工程师(不,我不是。这个答案本质上是在描述我的两个同事)。

——真正优秀的 DBA,是平时看起来无所事事的人,他们可以做救火英雄,但他们每天都在避免救火英雄故事的出现。请付出对得起他们的薪水。
原发布于 https://www.zhihu.com/question/20112937/answer/14017416