MySQL主従とクラスタの違い
MySQLのマスター-スレーブ複製とクラスタリングは、異なるアーキテクチャアプローチです。
マスタースレーブリプリケーションとは、MySQLデータベースにおいて、主データベースのデータを複数台の従データベースへ同期するものです。主データベースは書き込み処理を担当し、その書き込み内容をバイナリログに記録します。従データベースは主データベースのバイナリログを複製することでデータの同期を行います。マスタースレーブリプリケーションは読取りと書き込みを分離でき、データベースの読取り性能を高めることができますが、書き込み処理に関しては依然としてシングルポイントオブフェイジャーが残ります。
MySQLクラスタとは、複数のMySQLインスタンスをクラスタとして構成し、すべてのインスタンスが同じデータを共有することです。クラスタ内の各インスタンスは読み書き操作を処理し、データはインスタンス間で自動的に同期され、データの一貫性が保たれます。MySQLクラスタは高可用性と耐障害性を備えており、データベースのパフォーマンスと信頼性を向上させることができます。
つまり、主従複製は読み込み操作が多いシーンに適しており、読み取りパフォーマンスを向上させます。一方、MySQLクラスタは読み書き操作が多いシーンに適しており、高い可用性と障害復旧能力を提供します。