米Twitter、同社がMySQLに加えた独自コードを「Twitter MySQL 5.5」として公開
米Twitterは4月9日、オープンソースのデータベース「MySQL」の拡張機能版「Twitter MySQL 5.5」を公開した。サーバーのステータスにアクセスできる変数の追加やNUMA環境下でのメモリ確保の最適化など、同社で開発した機能が追加されている。
Twitterの開発者によると、Twitterではタイムラインやユーザーデータ、ツイート、インタレストグラフなどにMySQLを使用しているという。同社ではMySQLに独自の機能追加を加えて利用しており、これらのコードや情報を共有することを目的としてコードを公開した。
改良点は、MySQLのステータスにアクセスできる変数の追加やNUMA環境下におけるメモリアロケーションの最適化、サーバーサイドにおけるクエリのタイムアウトサポートの強化、InnoDBバッファプールのエクスポートおよび復元機能、SSD向けの最適化の5点。
追加された変数では、ストレージエンジンInnoDBのファイルとテーブルスペースに関する情報、デッドロックに遭遇した数などの情報などを取得できる。これらを利用して、運用環境におけるワークロード処理時の振るまいについて理解を深められるという。
NUMA関連では、InnoDBのバッファプールにメモリを配分する際の非効率性といった問題を緩和するため、起動時に強制的にバッファプール全体をプリアロケートするオプションを加えた。このほか、mysqld_safeに2つのオプションが追加されている。
Twitter MySQLはGitHubのページより入手できる。ライセンスは修正BSDラインセンス。ただし、Twitter外部でこれらのコードを直接利用することは意図していないとし、またこれらのコードを利用するTwitter外のユーザーに対して今後のバグフィックスやメンテナンス、互換性、安定性などは一切保証しないことを警告している。
米Twitter
http://www.twitter.com/
GitHubのページ
https://github.com/twitter/mysql