转载

MySQL在Twitter的应用以及Mysos介绍

自创立以来,MySQL一直是Twitter使用的关键数据存储技术之一。他们的数据存储在数以百计的模式中,最大的集群有数以千计的节点,每秒为数以百万计的查询提供服务。近日,网站可靠性工程部门高级经理Pascal Borghino 撰文 介绍了MySQL在Twitter的应用以及正在孵化中的Mysos项目。

在Twitter,MySQL主要有两个用法:

  • 作为数据服务的一部分:在Twitter自己的“分片(sharding)”框架内将MySQL用作分布式数据存储的存储节点,这样,既可以在单个存储节点上利用MySQL的可靠性和高性能,又可以借助分片框架管理数据分布,实现高可用性。
  • 作为关系型数据存储:利用MySQL Replication的容错功能和读可扩展性,使用集群支撑大规模的读操作。

Twitter不只是从MySQL社区获益,他们也向社区 贡献了许多补丁 。Twitter还是 WebScaleSQL 项目的发起者之一,该项目刚刚获得了MySQL社区 2015年企业贡献奖 ]。它的目标是,使MySQL社区中大规模使用MySQL的成员通力合作,向MySQL增加适合于大规模部署的特性。

另外,为了提高MySQL集群的可扩展性,他们正在开发一个名为Mysos的新框架。Mysos项目基于 Apache Mesos 构建一个面向MySQL的可扩展的数据库服务。Mesos为Mysos提供了调度、监控MySQL实例及与之通信的原语,极大的简化了MySQL集群的管理。根据设计,它将提供如下特性:

  • 通过多租户实现高效的硬件利用率;
  • 出现故障时保留MySQL状态,并可以自动备份到 HDFS 或从HDFS恢复,具备高可靠性;
  • 有一个自动化的自助服务选项,可以启动新的MySQL集群;
  • 借助MySQL主数据库故障自动转移实现高可用性;
  • 允许用户通过更改从数据库实例的数量实现MySQL集群的扩展和收缩。

该项目尚处于起步阶段。将来,Twitter会围绕它构建一个独立的开源社区。

感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 MySQL在Twitter的应用以及Mysos介绍 )。

正文到此结束
Loading...