用語集 最終更新 2026.06.19

リードレプリカ

リードレプリカ (read replica) は、書き込み用のデータベース (主系) とは別に用意する、読み取り専用の複製 です。 参照 (SELECT) が多いシステムで、読み取りをレプリカに振り分け、主系の負荷を下げる目的で使われます。

まず押さえたいポイント

  • 書き込みは主系、読み取りはレプリカ、と役割を分ける (読み書き分離)
  • データは レプリケーション で主系から同期される
  • レプリカは複数台に増やせるので、読み取りのスケールアウトがしやすい

どんなときに効くか

  • 読み取りが書き込みより圧倒的に多い (ニュース、ECの商品閲覧など)
  • 集計・分析の重いクエリを、本番の主系から切り離したい
  • 主系のスペックを上げる (スケールアップ) だけでは読み取りをさばけない

主系との役割分担

アプリ側で、書き込み (INSERT / UPDATE / DELETE) は主系へ 読み取り (SELECT) はレプリカへ と接続先を振り分けます。 フレームワークによっては、この振り分けを設定で自動化できるものもあります。レプリカを増やせば読み取りの処理能力は伸ばせますが、全レプリカが主系から同期を受ける ため、主系の書き込み能力そのものが上限になる点は変わりません。

注意点

レプリケーションは多くの場合 非同期 のため、主系に書いた直後にレプリカを読むと、まだ反映されていない古いデータが返ることがあります (レプリケーションラグ)。 書き込み直後に必ず最新を見せたい処理 は主系から読む、それ以外はレプリカ、というように使い分けます。書き込み自体の負荷分散にはならない (書き込みは主系に集中する) 点も押さえておきます。

マネージドDBRDS ではリードレプリカを設定だけで追加できます。DBサーバーを分ける構成の段階は、DBサーバーを分ける必要性とは?Webと同居の限界・分離するメリットと判断基準 で整理しています。