在甲骨文全球大会OpenWorld 2011数据库圆桌会议上,来自社交网站Facebook的MySQL数据库工程师Rob Wultsch分享了DBA在进行服务器管理时的一些经验:保持KISS原则,即keep it simple, stupid。
KISS在计算机领域是一个非常常见的缩写术语,表示简单是软件设计之美, 简单的设计使得软件产品易于开发,易于维护。 简单代表着高质量,少加班,每个人都希望自己的工作是简单的。对于Facebook来说,就是快速地搭建服务器,减少单点故障并增加自动化。
在Wultsch的准则中,最重要的一条就是当服务器发生故障时,数据库、系统管理员需要平衡他们之间的简单性。将硬件单元(SKU)降到越少越好,操作系统和固件之间的协作越长越好。否则升级和维护对于每一位DBA来说都是非常复杂的。Wultsch表示,如果只有一个SKU是最好的了,一个大的服务器和一个小的服务器组成一个单元。
Wultsch透露,Facebook网站的MySQL数据库服务器部署比他之前公司GoDaddy.com的要好很多。当服务器环境越来越大,DBA需要确保在硬件、操作系统、数据库和软件层面上的同质性,这对于处理变更、备份以及回滚等操作是非常关键的。他给DBA提出了以下几点建议:
确保有备用的服务器,如果机架有空间的话,越多越好,时刻准备好;
能够快速地搭建并重配主机。在Facebook中,如果想在服务器上安装一个新的操作系统,你只需运行一个命令,然后去吃午饭,等你回来就已经自动安装完毕了;
确保能够得到来自外部的支持。
当然,同管理好技术一样重要的是如何维护好MySQL数据库团队。DBA可能算是比较高级的IT技术职位,但也是一个压力非常大的工作,这也就是为什么有那么对DBA望而却步。IT环境复杂情况下的DBA必须有很好的编程功底,Wultsch介绍在Facebook公司,DBA必须能够熟练掌握P语言,比如Perl或者Python,必须掌握Linux操作系统以及Bash脚本相关知识,当然数据库知识是必备的。
谦虚谨慎也是一名合格DBA必须具备的素质。有时候我们认为正确并一再坚持的事情,很可能并非我们所想。这也是成功团队中,每一个成员需要牢记的。
在大型公司里,一般上手和培训的是需要花很长时间的。Wultsch介绍,在Facebook,新入职的DBA通常要至少6个月培训和实际操作才能体现价值,而1年之后才能真正上手。许多其他大型的互联网公司也是如此。