0

Twitter 已经开源了他们的 Mysql 源代码。

这篇博文http://engineering.twitter.com/2012/04/mysql-at-twitter.html提到了不同的变化。

我曾使用 Mysql 作为开发人员执行查询,但从未深入挖掘其源代码。我尝试浏览 github https://github.com/twitter/mysql上的源代码,但不知所措。所以想我会在这里发帖并获得一些帮助。

  1. 我想更好地了解 Twitter 的更改如何改进了 Mysql,而不是 Oracle 的版本。

  2. 如果我要在 Oracle 的版本和 Twitter 的版本之间做一个苹果对苹果的比较,那么两者之间的具体优势和劣势是什么。

还有更多的问题出现在我的脑海中。

我知道这是一个高级数据库主题,但我很想了解它。

4

1 回答 1

0

他们将这些变化描述为:

添加额外的状态变量,特别是来自 InnoDB 的内部。这使我们能够更有效地监控我们的系统,并在处理生产工作负载时更好地了解它们的行为。

优化大型 NUMA 系统上的内存分配:在启动时完全分配 InnoDB 的缓冲池,如果内存不可用,则快速失败,即使服务器处于内存压力下,也能确保随着时间的推移性能。

通过改进的服务器端语句超时支持减少不必要的工作。这允许服务器主动取消运行时间超过毫秒粒度超时的查询。

使用安全轻量级的方法导出和恢复 InnoDB 缓冲池。这使我们能够以最小的痛苦构建工具来支持我们的服务的滚动重启。

针对基于 SSD 的机器优化 MySQL,包括页面刷新行为和减少对磁盘的写入以延长使用寿命。

这些对于 Twitter 规模的网站很重要。如果您正在构建必须扩展到该大小的东西 - 是的,这些更改会有所帮助。但是,如果您正在构建的东西更像世界上所有其他温和流行的网站,您可能不需要关心它们的变化。大多数运行 MySQL 的大型网站直接从发行版运行它。

于 2012-04-11T13:57:56.677 回答