DB

【DATABASE】レプリケーション

レプリケーションとは

博士~。レプリケーションって何?

レプリケーションとは。。。

データベースを別のデータベースに複製して同期することじゃ。

バックアップとは違うの?

別物じゃ。
今日はそこのところを詳しく話すかの。

まず、バックアップじゃが。
以下のイメージじゃ。

上記のようにとあるデータベースAの
とある時点のデータベースの状態を別のデータベースや
バックアップファイルを作成することじゃ。

「とある時点」ということは常にデータベースがAとBで同じというわけではなく、とある時点のデータのベースの状態を取得する。ということなのじゃ。

要するに、
とある時点のコピーじゃ。

レプリケーションは?

レプリケーションじゃが、以下のイメージじゃ。

バックアップとの、大きな違いは同期というところじゃ。つまり、リアルタイムにデータベースの状態を一致させるのじゃ。

とある時点のコピーと同期によるリアルタイム一致

これがバックアップとレプリケーションの違いかぁ。

メリット

それぞれのメリットは何?

まずは、バックアップのメリットを以下にまとめるぞ。

バックアップ
任意の時点を指定して、データベースの復元が可能
仕組みが簡単(場合による)
データベースにもファイルにもデータを残せる
よく使用されているため、仕組み等のサンプルがネットに多くある

シンプルで情報が多いというのは、魅力的だなぁ。

次に、レプリケーションのメリットじゃ。

レプリケーション
データが同期してあるため、システム普及時の敏捷性◎
大量のデータでも対応しやすい
色々なデータベースでサポートされている
双方向にデータを同期できる

主なメリットはざっとこんなもんじゃ。

デメリット

それぞれのデメリットを教えて。

まずは、バックアップのデメリットじゃ。

バックアップ
システム普及時の敏捷性△
復旧時にレプリケーションと比べてやることが多い
バックアップの取得周期や単位によっては多くの容量が必要
取得周期によっては、直近の変更データが残らない

次に、レプリケーションのデメリットじゃ。

レプリケーション
ネットワークやシステムに常に負荷がかかる
不適切なデータもコピーされてしまう
コピーしたいデータベースと同様の設備が必要なためコストがかかる
やりたいことによっては設定が難しい

まとめ

どっちを使ってデータを守ればいいかわからないなぁ。

お金に余裕がある場合や、どうしてもシステムをストップさせることができない場合には、レプリケーションがおすすめじゃ。

お金に余裕がない場合や、そこまでデータの鮮度が求められない場合はバックアップがおすすめじゃ。

どちらも長所と短所があるので、よく考えて決めた方がよいのう。

あとは、システムを使用するユーザーに聞けるなら、
どっちを採用すべきか聞くのが手っ取り早いの。

その時は、この記事を参考にするとよいぞ。

博士、ありがとう!

ABOUT ME
中村満
2020年で7年目の現役SEです! 社会人から仕事でプログラムを触るようになり、なんとかここまでやってきました。 最近バイク(rebel250)を買いました。いつかキャンツーするのが夢です!