MySQLの高度な管理ツール「Maatkit」
最近のWebサービス開発ではオープンソースのデータベースを利用することが多くなってきた。それだけ信頼性や安定性も向上してきたということだろう。以前はPostgreSQLの方が人気があったが、最近ではMySQLを選ばれる方が多いようだ。
mk-parallel-dumpのヘルプ
そうした中で、必要になってくるのがMySQLの管理ツールだ。特に規模の大きな開発を進める上で、デフォルトのツールだけでは物足りないと感じていた人は、こちらのさらに洗練されたツールを使ってみよう。
今回紹介するオープンソース・ソフトウェアはMaatkit、MySQL向けのコマンドラインツール群だ。
MaatkitはPerlで作られたソフトウェアで、MySQLの高度な操作を可能にするツールが幾つも提供されている。それらはmk-ではじまる名前のコマンド名になっている。執筆時点では19の機能がある。
コマンド一覧
主なコマンドとして、mk-archiver(MySQLのテーブルをファイルや他のテーブルにアーカイブする)、mk-deadlock-logger(デッドロックに関する情報表示)、mk-duplicate-key-checker(重複したキーを調べる)、mk-find(findのようにテーブルやアクションを調べる)、mk-heartbeat(レプリケーションの遅延を調べる)、mk-parallel-dump(テーブルを平行してダンプ)、mk-parallel-restore(平行してリストア)、mk-query-profiler(クエリのプロファイル)、mk-show-grants(権限を表示)、mk-slave-delay(スレーブのラグについて)、mk-slave-find(スレーブを調べる)、mk-slave-move(スレーブの階層構造移動)、mk-slave-restart(スレーブの再起動)、mk-table-sync(テーブルの同期)、mk-visual-explain(実行計画の表示)などがある。
こうしてコマンドを見ると、スレーブとマスタを使った構成になっている時に特に有効そうだ。つまり簡易的な仕組みではなく、より規模が大きなシステムを組んでいく中で便利に使えるライブラリと言うことだ。
こうしたユーティリティは得てして先人の知恵がいきている。ツールの使い方を知るだけでも、より規模の大きなサービスに対応したシステムを構築する方法が分かってくるはずだ。
via SQLyog Job Agentの分析記事 [CakePHP のおいしい食べ方]
**Maatkit: a toolkit of utilities and tools for MySQL
SourceForge.net: Maatkit