【れぷりけーしょん】

レプリケーション とは?

最終更新:
💡 データを複数サーバーに「自動で写し続ける」仕組み
📌 このページのポイント
レプリケーション(データベース複製) クライアント (書き込み) INSERT UPDATE プライマリ Master DB 同期 同期 レプリカ1 Replica 1 レプリカ2 Replica 2 クライアント (読み取り) SELECT 書き込み 同期(レプリケーション) 読み取り
レプリケーションの仕組み
ひよこ ひよこ
ペンギン先生 ペンギン先生
バックアップは定期的にデータをコピーして別の場所に保存する仕組みで、取得した時点のデータしかない。レプリケーションは「リアルタイムでデータを別のサーバー同期し続ける」もので、常に最新のデータが別サーバーにある状態を保つ。
ひよこ ひよこ
プライマリとレプリカって何?
ペンギン先生 ペンギン先生
プライマリ(マスターとも呼ぶ)が書き込みを受け付けるメインのサーバーで、レプリカ(スレーブ)がコピーを持つサーバー。プライマリに書き込みが来たら、その内容がレプリカに自動で転送・反映される。
ひよこ ひよこ
なんで読み込みをレプリカに分散するの?
ペンギン先生 ペンギン先生
データベースへのアクセスって、読み込みが書き込みより圧倒的に多いことが多いんだ。レプリカを増やして「読み込みはレプリカから、書き込みはプライマリに」と振り分けることで、プライマリの負担を減らして全体のスループットを上げられる。
ひよこ ひよこ
「レプリケーションラグ」って問題があるって聞いたんだけど?
ペンギン先生 ペンギン先生
同期レプリケーションだと、プライマリに書き込んだ直後はレプリカにまだ反映されていない「ラグ」が生じるんだ。この間にレプリカを読むと古いデータが返ってくる(「汚れ読み」に近い状態)。負荷が高いときほどラグが大きくなる。これを防ぐには同期レプリケーションにするしかないけど、今度はプライマリの書き込みがレプリカの確認を待つ分、書き込み性能が落ちるトレードオフがある。どちらを選ぶかがシステム設計の重要な判断ポイントなんだよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
レプリケーション」って出てきたら「データを複数サーバーに自動でコピーして冗長化する仕組みだな」と思えばだいたいOK!
📖 おまけ:英語の意味
「Replication」 = 複製・複写
💬 ラテン語の「replicare(繰り返す・折り返す)」が語源。データを「繰り返し」複数の場所に再現するイメージ
← 用語集にもどる