Facebook揭密:如何让MySQL数据库集群自主运行

facebook datacenter

Facebook运行着全球最大的MySQL数据库集群,该集群分布在两个大洲上的多个数据中心中数以千计的服务器上。让人不解的是,Facebook只动用了一个很小的团队来管理这个庞大的MySQL数据库集群。

近日Facebook的Shlomo Priymak在Facebook博客上发文揭开了这个秘密。Facebook的秘诀就是Facebook自己开发的MySQL Pool Scanner(MPS),MPS能完成一个MySQL数据库管理员(BDA)的几乎所有运营维护工作,使得Facebook的数据库集群运营能够实现高度的自动化。

Facebook  MySQL Pool Scanner

据Priymak介绍,MPS非常复杂,代码大部分由Python写成,不但能够保证集群的可用性,同时还让管理员能够轻松完成很多复杂任务(升级内核、调整分区大小、升级控制器固件等),例如只用单条命令就拷贝整个Facebook数据中心的数据集。以下是一些常见的能用单条命令操作的数据库集群维护工作:

  • 将任意数量的数据库机架清空维护,并移出生产环境。(大多数操作在24小时内完成)
  • 在特定的并发数时刻重新镜像数千台机器(例如进行内核升级)
  • 将任意数量的可用资源分配给新的项目或者测试任务。例如一次分配200台服务器用于测试。
  • 为整个新数据中心建立拷贝,例如Facebook的吕勒奥数据中心。

第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom

   

除非注明,本站文章均为原创或编译,未经许可严禁转载。

相关文章:


关于作者

隐私已经死去,软件正在吃掉世界,数据即将爆炸