MySQL におけるフラッシュ
MySQLの「フラッシュ」とは、メモリ上のデータをディスクに書き込むことです。メモリ上のデータが変更されると、MySQLは通常、これらの変更をすぐにディスクに書き込まず、まず変更をログファイルに記録し、その後、状況に応じてフラッシュを実行します。
刷盤操作を大まかに分けると、3ケースとなります
- バックグラウンドフラッシュ:MySQLは定期的にメモリ内のデータをディスクに書き込み、データの一貫性と永続性を保ちます。このプロセスはバックグラウンドスレッドによって自動的に完了します。
- データの安全性を確保するために、特定の操作を実行すると、MySQLはメモリ内のデータを直ちにディスクに書き込む強制的なフラッシュを実行します。FLUSH LOGSコマンドを実行すると、ログファイルをディスクに強制書き込みします。
- ログへの書き込み: MySQL はメモリ上の変更をログファイルに記録し、定期的にログファイルをディスクに書き込みます。このプロセスは、システムクラッシュなどの障害が発生した場合にデータを復元できるように、redo log と binlog を使用して実行されます。
ディスクの書き込み操作はMySQLにおいて極めて重要なものとなり、データの整合性と永続性を担保するほか、システムの高可用性や障害耐性を実現する上で重要な鍵となります。