LoginSignup
0
0

More than 3 years have passed since last update.

レプリケーションってなんぞや?(初心者編)

Posted at

レプリケーション?そんなのわからないよ

初めて聞く人にも説明させて頂きます

レプリケーションとはストレートに日本語訳すると複製ですね。
ではレプリケーション(複製)とはデータベースの分野で言うと、Aのデータベース(MySQL)があるとしてまったく同じBのデータベースをレプリカを複製するということですね。
image.png

ではなぜこんなことするのか?

(意外に情報として既に周知されてるので僕みたいなビギナーは当初はなぜだかわからなかったです。ですのでくどいですが説明させて頂きます。)

レプリケーションを利用した場合以下のことができます
 
データをリモートサイトに転送(ディザスタリカバリ等に利用)
 
データのフルバックアップを取得(マスターサーバの負荷軽減と手順の簡素化)
 
スタンバイサーバ(マスターサーバがクラッシュした際に切り替える。ただし、データの転送は非同期なので、マスターがクラッシュした場合にはデータが少し失われる可能性があります。)
 
参照系クエリの負荷分散スレーブを多数用意することで、参照系のクエリを、ロードバランサーを用いて負荷分散させる
ではマスターとスレーブってなに?
  • マスターサーバとは 複数のスレーブをもてるのもマスターの特徴 マスターで変更した内容をスレーブに転送すること データの変更

*スレーブサーバとは
マスターでの変更内容を受け取る
変更内容をデータベースに反映
スレーブは1つのマスターのみ持てる

レプリケーションのメリット

参照性能の向上
参照処理の負荷が高い場合は、スレーブサーバを追加することで、負荷分散による性能向上が実現できる

高可用性構成の実現
マスターの障害時に、スレーブをマスターに昇格することで高可用性を実現可能

地理的冗長性の実現
地理的に離れた場所に、災害対策サイトを構築可能
NW経由で離れたロケーションでマスタースレーブ構成を構築可能

バックアップサーバとしての利用
スレーブサーバでバックアップを取得することで、マスターサーバに影響を与えずにバックアップを取得可能
-例)マスターサーバは常時かどうさせつつ、スレーブサーバでDBを停止してコールドバックアップを取得する

マスターとスレーブに歴史が関わり、呼び名について論争が10年前からあるので暇なときに拝見して見ては面白いと思います。押下してもらえればリンク飛べます。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0