InnoDBとレプリケーションのさらなる進化

InnoDBとレプリケーションのさらなる進化

InnoDBは引き続き数々の機能改善を行っています。InnoDBのスレッドスケジューリングの改善やUNDOログ専用の表領域の追加などでさらなる性能向上を図っています。デッドロックの検出やバッファプールのフラッシュも高速化されています。サーバ停止時にバッファプールの内容を保存することも可能となったため、起動時に読み込むことであらかじめデータをキャッシュしておくこともできます。

INFORMATION_SCHEMAにはInnoDBに関する内部統計情報や利用状況を表示するテーブルが追加されています。例えばバッファプールの利用状況を表示するINNODB_BUFFER_POOL_STATSテーブルでは、未使用のバッファサイズだけではなく、バッファ内の各ページの利用状況も確認できます。他にもInnoDBのトランザクションやロックの状況、テーブルの詳細な統計情報を表示するテーブルなど、数多くのテーブルが利用可能となっています。

MySQL 5.5で準同期の方式が加わったレプリケーションでは、より信頼性と性能を高めるための改善を加えています。スレーブの障害発生時にも復旧を迅速にするためにリレーログの自動復旧やログのディスクへのフラッシュを実装したほか、レプリケーション・チェックサムやサーバUUID(Universally Unique Identifier)により、運用ツールから管理を簡素化します。さらに指定した時間分を遅延させてレプリケーションするオプションも加わり、より柔軟性が高くなります。

スレーブのSQLスレッドがマルチスレッド化が可能になり、リレーログからデータへの適用を並列化できます。MySQL 5.6.3の時点では別のデータベースへの変更を並列で適用してコミット可能になっています。今後テーブルごとに並列処理ができるように開発を行っています。

図2:マルチスレッドスレーブ(クリックで拡大)

2011年10月リリースのMySQL 5.6.3ではまだ実装されていない開発中の機能としては、例えばサブクエリ性能の向上、EXPLAIN文の出力の整形、およびオンラインでのインデックスの追加や再構成があります。最新ハードウェアへの対応という点では、CPUコアのより多い環境でのスケーラビリティ向上のための開発、またハードディスクとは異なる特性を持ったSSD向けの最適化やチューニングガイドの提供準備を行っています。

チューニングを支援するパフォーマンススキーマ

MySQL 5.5で実装されたパフォーマンススキーマは、MySQLサーバ内部での稼働統計を蓄積するスキーマで、どちらかというとMySQLサーバのプログラムそのものを最適化するときに役立つものでした。MySQL 5.6では、よりSQL文やサーバーパラメータなどのチューニングや性能監視に役立つことを目指しています。

例えば最もリソースを消費するSQL文を実行しているユーザーやアプリケーションの特定、テーブルアクセスやテーブルのロックを最も頻繁に行っているアプリケーションの特定も可能になります。ユーザーおよびセッションごとの負荷の確認も可能です。個別の情報だけではなく集計したテーブルも用意されています。

コミュニティからソースコードの提供をうけて開発されたのがホストキャッシュ内容の表示で、接続に関するエラーを原因を含めて表示をします。数多くのMySQLサーバを運用し、ユーザー数や接続数も多くなる大規模Webで要望の多かった機能を実装しました。

パフォーマンススキーマは内部の稼働統計をテーブルに記録していくため、性能に10%強の無視できないオーバーヘッドが発生するため、負荷の高い本番運用環境での利用は慎重に行ってください。可能であればテスト環境などでの動作確認時や性能テスト時に利用することを検討してください。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30