レプリケーションとは
DBサーバーのレプリカ(複製)を、複数持つことができる機能
マスタースレーブ構成とは
主となるDBサーバーをマスター(サーバー)
、レプリカをスレーブ(サーバー)
という。
マスターとスレーブのセットを、マスタースレーブ構成
という。
基本的には、リアルタイムでマスターとスレーブは同期されている
マスターとスレーブは 1:N
の関係にある。
メリット
- マスターに障害が起きた時、スレーブを使うことができる。
--> システムを止めることなく、高い可用性を実現することができる。
デメリット
- DBサーバーを複数置くことになるので、DBサーバー台数分の料金がかかる。
- 常にマスターとスレーブは同期しているので、マスターに何か問題があると、その状態もスレーブに複製されてしまう
レプリケーション遅延とは
レプリケーション遅延とは、マスターの状態をスレーブに同期するまでの時間が遅延してしまうこと。
例えば、レプリケーション遅延している時にマスターサーバーがダウンした際、マスターとスレーブの整合が取れなくなってしまう恐れがある。
レプリケーション遅延回避策
- 巨大なSQLを流さないこと
- 大量データを更新する場合は、N件ずつ分けて更新するようにする
- RDSやCloudSqlを使っている場合は、コンソールで負荷をみながら進めること