米Googleは21日(米国時間)からGoogle Codeにおいて「google-mysql-tools」を公開している。google-mysql-toolsは、Googleによって開発されたMySQL関連ツール。MySQLを管理/メンテナンスするためのツールやデータベース自身の改善が施されている。
同梱されている成果物の主な内容は次のとおり。
- mypgrep.py - pgrepに似たMySQLコネクションを管理するツール
- compact_innodb.py - すべてのテーブルをダンプ/リロードすることでInnoDBデータファイルを圧縮するツール
- MySQL 4.0.26に対する機能追加/拡張パッチ
google-mysql-toolsの開発者であり、GoogleのソフトウェアエンジニアであるMark Callaghan氏は、23日(米国時間)付けの自身のブログで同ツールについて解説している。それによると、Googleでは、検索エンジン以外のいくつかのアプリケーションでMySQLをデータベースとして活用しているが、管理の容易性と高い可用性を実現するためにMySQLそのものを拡張しているという。同氏はこれらの変更がMySQL本体に取り込まれることを希望しており、それまでgoogle-mysql-toolsという形で成果物を公開するとしている。
同成果物では高可用性を実現するための準同期レプリケーション機能、マスタからスレーブへのbinlogミラーリング機能、フェイルオーバ時の迅速なプロモート、クラッシュリカバリ時にスレーブのInnoDBとレプリケーション状態の整合性を保つ機能、管理の容易性を実現するためにテーブルやアカウント関連のリソースを監視する新しいSQL命令などが導入されている。
なお、プロジェクトページを見ると、成果物はApache License Version 2.0のもとに公開されることになっているが、Mark Callaghan氏のブログではMySQLコミュニティへ向けてGNU GENERAL PUBLIC LICENSE Version 2のもとで公開したと説明している。同梱されているライセンスファイルを確認しても、GNU GENERAL PUBLIC LICENSE Version 2が正しいようだ。MySQLへの取り込みを意識したライセンス体系にしているのだろう。
執筆現在で提供されている成果物はMySQL 4.0.26に対するものだが、近いうちにMySQL 5系に対するパッチも公開される見通しだ。