转载

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 会围绕它构建一个独立的开源社区。

正文到此结束
Loading...