据Twitter工程博客透露,Twitter决定开源其使用的、经过优化的MySQL版本。
Twitter工程师Jeremy Cole和Davi Arnaut在博客中称:
引用
MySQL是Twitter大部分数据(如兴趣图谱、时间轴、用户数据和推文等)的主要存储技术。由于我们的规模,我们比其他公司更能推动MySQL的发展。当然,MySQL是开源软件,所以我们可以改进它,使之满足我们的需要。我们相信共享知识和开放源码有利于创新,我们已经决定在BSD许可协议下开源。 |
在该博客中,还列出了Twitter在MySQL上的主要改进工作,包括:
- 添加额外的状态变量,尤其是在InnoDB内部。这使我们能够更有效地监控我们的系统,以及更好地了解处理产品工作负载时的行为。
- 大型NUMA系统中的内存分配优化。在启动时充分分配InnoDB的缓冲池,甚至在服务器内存压力较高的情况下,确保服务器的性能。
- 通过改善服务器端的Statement Timeout(声明超时),来减少不必要的工作。这允许服务器主动取消超时间隔大于1ms的查询。
- 使用安全、轻量级的方法导出和恢复InnoDB缓冲池。
- 针对SSD优化MySQL,包括页面刷新(page-flushing)行为和减少磁盘写入,以提高磁盘寿命。
目前Twitter的MySQL源码托管在Github上,基于BSD许可协议。
源码地址:https://github.com/twitter/mysql
原文链接:http://www.iteye.com/news/24801
【编辑推荐】