jetpants:mysql批量管理工具

被雅虎以11亿美金收购的轻博客服务Tumblr,是互联网世界中最大的MySQL用户之一。在2012年,他们有600亿条关系型数据,21T容量。一年之后的2013年,他们处理的数据容量达到54T,关系型数据条数达到2292亿条!。

因此,Tumblr开发了Jetpants,这是一个用来管理大型MySQL数据拓扑分片的自动化工具。Tumblr以此来扩展写,同时去除单点失败故障。

Tumblr绝大部分的数据库实例都使用MySQL或是Percona Server的5.1或是5.5版本,同时准备迁移到5.6。但是,当他们合并数据分片时,使用了MariaDB 10.0作为聚合节点,因为它支持多来源复制。它可以将数据从各个分片中导出,并一起导入到MariaDB聚合节点,然后再将其推送到新的主数据库中。

jetpants是处理mysql集群实例的自动化管理工具。对于日常的数据库管理操作像主从复制、负载分片、执行主节点提升来说是很棒的。它以简单易用的工具包而著称,而且它还提供一个强大的Ruby 库,你可以使用它来开发自己需要的一些数据迁移脚本和一些自动化脚本。

jetpants支持range-based sharding scheme(根据范围进行分片),这样你就可以对  MySQL上的数据进行快速的分片,Jetpants 可以在数据库不加锁、不当机、不产生数据不一致、不产生查询错误的条件下完成这些工作。动态的根据范围进行分片可以使你很高效的对mysql数据库进行水平扩展。

 

项目目的:

Tumblr开发Jetpants 是为了管理自己的数据库设施。它可以对很多的数据库操作认为进行自动化。到了2013五月它处理了包括215 个数据库服务器。处理了超过2000亿行的数据。

工具命令包特性:

jetpants是一个Ruby 模块,你可以使用它开发一些自己数据迁移脚本和开发一些自己订制的自动化任务。

  • 高效克隆slaves ,支持多机并发
  • 根据范围分割N从而产生新的分片,不产生当机
  • 主节点提升
  • 在REPL环境中以 jetpants console模式和你的数据库拓扑结构进行交互

Jetpants已经开源,感兴趣的同学可以点击这里去GitHub查看。

对Tumblr如何使用MariaDB处理2292亿条数据感兴趣的同学,可以点击这里下载相关演讲的PDF。

收藏

资源整理者简介:sunbiaobiao

(新浪微博:@sunbiao将军) 个人主页 · 贡献了178个资源 · 10


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1440 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer