MySQLTwitterカスタム版が公開されたようです
こんにちは。
ニュースを読んでいると、こんなページを見つけました。
MySQL at Twitter
http://engineering.twitter.com/2012/04/mysql-at-twitter.html
どうやら、MySQLをTwitterでカスタムしたものを公開したようです。
Twitterのデータストアとしては、現状MySQLがもっとも大きい模様。
Interest GraphやTimeLine、ユーザデータ、Tweet等、
保存されているデータは多岐にわたるようです。
公開先はこちら。
MySQL at Twitter(GitHub)
https://github.com/twitter/mysql
とりあえず、面白そうだったので一体何についてカスタムしているかを確認してみました。
設定値の追加(特に、InnoDBの設定について追加)
この設定値群の追加によって、ワークロードの把握が容易になり、より確実にシステムの負荷を測ることが可能になるそうです。
初っ端から中々大きい追加機能ですね。
内部を知っているからこその機能だとは思います。
NUMA システムに対した最適化
起動時にInnoDBのバッファを起動時に最大限確保、
メモリが使用できない場合は失敗と扱い検知可能、
高負荷状態でもパフォーマンスを保つようチューニング・・と、
大容量のメモリを持つシステムで性能を発揮できるように改修してあるそうです。
不要なサーバサイドのStatement実行タイムアウト時の対応を除去
これによってミリ秒単位の粒度でタイムアウト設定が可能になったとのこと。
複数の構成要素を組み合わせたシステムでは厳密に各々のタイムアウト切れないと
システムとして組みあがりませんからね。