MySQLマスタースレーブレプリケーションの仕組み
MySQLのマスタースレーブリプリケーションの仕組みは、マスターデータベースのデータ変更操作をバイナリログ(binary log)に記録し、スレーブデータベースはそのバイナリログを読み取ってデータの同期を行うというものです。
主従レプリケーションのプロセスは、以下の手順に分割できます。
- 主データべースは、二分ログ(バイナリログ)にデータ変更操作を記録します。このデータ変更操作には、挿入、更新、削除などの操作が含まれます。
- データベースに接続して、バイナリログからデータの変更操作を読み出すようマスターから要求する。
- マスター・データベースから要求されたデータ変更をスレーブ・データベースに送信します。
- 取得したデータベースの変更操作を実行し、変更を自数据库へ適用する。
- データベースからバイナリログに実行したデータ操作の変更を記録し、必要に応じて他のデータベースのデータソースとして利用できる。
マスタースレーブ構成により、マスターDBとスレーブDBのデータ整合性を保ちつつ、読み込み処理をスレーブDBに分散することで、全体的な読み書き性能とスケーラビリティが向上します。また、マスタースレーブ構成では、データバックアップ、災害復旧、ロードバランシングなどの機能も提供します。