リードレプリカ【read replica】読み取りレプリカ

データベースへのアクセスは、大半が「読み取り」操作で占められることが多い。検索や一覧表示といった参照リクエストが集中すると、システムへの負荷が増大し、応答が遅くなる。リードレプリカはこうした参照操作を引き受けることで、元になる複製元のデータベース(マスターまたはプライマリという)の負荷を軽減し、全体のレスポンスを安定させる効果がある。
リードレプリカはマスターのデータを自動的に同期して保持する。この複製処理は多くの場合、データ自体の記録・更新とは非同期に行われるため、マスターへの書き込みが即座にレプリカへ反映されるとは限らない。この微小な遅延を「レプリケーションラグ」と呼び、最新データを厳密に必要とする処理には向かない場合もある。
複数のリードレプリカを用意することで、読み取り処理を複数台に分散させることができる。利用者数の増加に応じてレプリカを追加するだけで対応できるため、スケールアウト型の負荷分散を実現しやすい。Amazon RDS、Google Cloud SQL、Azure Databaseといったクラウドサービスでも標準的な機能として提供されている。
障害対応の観点でも活用される場合がある。製品によっては、マスターに障害が発生した際、レプリカをマスターに昇格させて処理を引き継がせることが可能である。ただし、この昇格処理は自動化されている場合もあれば手動対応が必要な場合もあり、システム構成によって異なる。