Facebook揭密:如何让MySQL数据库集群自主运行
Facebook运行着全球最大的MySQL数据库集群,该集群分布在两个大洲上的多个数据中心中数以千计的服务器上。让人不解的是,Facebook只动用了一个很小的团队来管理这个庞大的MySQL数据库集群。
近日Facebook的Shlomo Priymak在Facebook博客上发文揭开了这个秘密。Facebook的秘诀就是Facebook自己开发的MySQL Pool Scanner(MPS),MPS能完成一个MySQL数据库管理员(BDA)的几乎所有运营维护工作,使得Facebook的数据库集群运营能够实现高度的自动化。
据Priymak介绍,MPS非常复杂,代码大部分由Python写成,不但能够保证集群的可用性,同时还让管理员能够轻松完成很多复杂任务(升级内核、调整分区大小、升级控制器固件等),例如只用单条命令就拷贝整个Facebook数据中心的数据集。以下是一些常见的能用单条命令操作的数据库集群维护工作:
- 将任意数量的数据库机架清空维护,并移出生产环境。(大多数操作在24小时内完成)
- 在特定的并发数时刻重新镜像数千台机器(例如进行内核升级)
- 将任意数量的可用资源分配给新的项目或者测试任务。例如一次分配200台服务器用于测试。
- 为整个新数据中心建立拷贝,例如Facebook的吕勒奥数据中心。
第一时间获取面向IT决策者的独家深度资讯,敬请关注IT经理网微信号:ctociocom
除非注明,本站文章均为原创或编译,未经许可严禁转载。
相关文章: