SQL Serverの同期ができる。レプリケーションの仕組みと種類をご紹介!
障害に備えてバックアップを作成するなど、データの保護はシステム開発において必須といえます。
バックアップ以外にもデータを復旧させる手段は用意されており、その一例がレプリケーションです。レプリケーションとバックアップの違いを含めて、ここではレプリケーションの概要を解説していきます。
- SE
- レプリケーションって初めて聞きました。具体的にどういったことを指すのでしょうか?
- PM
- レプリケーションは「複製」ともいわれます。2基のハードウェアの状態を同期させて、片方がシステム障害を起こしても、もう片方ですぐにシステムを復旧させることができます。
レプリケーションとバックアップの違い
バックアップとレプリケーションはデータを守るという観点では同じですが、それぞれの意味は異なります。
バックアップ
バックアップは任意のタイミングで、データやシステム全体などを元ある場所とは別の場所に保存しておくことです。別の場所として、バックアップ専用のハードウェア(ストレージ)を準備して対応します。
任意の時点でのデータを復旧できますが、最終バックアップから障害が発生するまでのデータを復旧できない点は注意が必要です。またバックアップの取得は、システムが稼働していない夜間や休日にするのが一般的です。
レプリケーション
レプリケーションとは、複製(レプリカ)することです。「稼働系・待機系」といわれる2基のハードウェアを含めた環境を準備し、それらの間では、常に同期がとられている状態にします。そのため、稼働系のシステムに不具合が発生しても、すぐに待機系に切り替えることで、容易にシステムを復旧させることが可能です。
しかし、その一方で注意も必要です。稼働系のデータはリアルタイム(若干のデータ遅延あり)で待機系のデータを更新しますので、特定の状態に戻すといったことができません。誤って消去してしまったファイルなども、元の状態に戻すことは不可能です。
こうした理由から、レプリケーションと同時にバックアップを行うことも忘れてはいけません。
レプリケーションの仕組みをパブリッシングモデルで解説
レプリケーションの仕組みを理解するためには、それぞれの用語の意味を把握することが必要です。
※()内の文言はマイクロソフトの公式サイトと同様に、雑誌に例えた表現です。
-
- ■パブリッシャ(出版社)
ソースデータベースを保持しています。すべての変更内容をディストリビュータに送ります。
-
- ■ディストリビュータ(流通業者)
メタデータやトランザクションなどをディストリビューションデータベースに格納します。スナップショットレプリケーション、トランザクションレプリケーションにおいて、ディストリビュータは、重要な役割を担っています。通常はパブリッシャ(出版社)と同一のサーバに設定していますが、不可分散を行いたい場合には、別のサーバーを準備して対応することもあります。
-
- ■サブスクライバ(購読者)
データのコピーを保持し、変更を受け取ります。設定によっては、変更後のデータをパブリッシャに戻し、ほかのサブスクライバへ変更データをレプリケーションすることも可能です。
-
- ■アーティクル(記事)
テーブルやストアドプロシージャ、ビュー、ユーザー定義関数、フィルタされた部分を指します。
レプリケーションの種類
SQL Serverではいくつかの種類のレプリケーションが準備されています。
[table id=44 /]- SE
- レプリケーションもバックアップもどちらも大切なのですね。顧客のデータを守るためにも、併用したいと思います。
- PM
- データやアプリケーションを守るためには、二重三重と念には念を入れて対応を行うべきです。しっかりと意識しておきましょう。
レプリケーションも設定して、念には念を入れた対策を!
バックアップをこまめに行っているエンジニアも多いと思います。バックアップにプラスαとしてレプリケーションも追加して、システム障害に対応できる準備はしておきましょう。システムはどんなことで突然起動できなくなるか分かりません。できる対策は多めにしておいて損はないでしょう。
Search キーワード検索
Popular 人気の記事
-
【VB.NET入門】DataGridViewの使い方まとめ
公開: 更新:
reccomended おすすめ記事
-
【.NETが統合】.NET 5の概要と今後のリリース予定
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
蔦屋書新店オープンに関するアプリ開発/Oracle/東京都渋谷区/【WEB面談可】/在宅勤務
月給56万~59万円東京都渋谷区(神泉駅) -
資産運用会社向け残高管理システム運用保守/SQLServer/東京都中央区/【WEB面談可】
月給50万~60万円東京都中央区(銀座駅) -
資産運用会社向け残高管理システム開発のテスター/SQLServer/東京都中央区/【WEB面談可】
月給25万~35万円東京都中央区(銀座駅) -
放射線部門システムパッケージの運用保守/Oracle/東京都港区/【WEB面談可】
月給50万~60万円東京都港区(品川駅) -
放射線部門システムパッケージの開発のテスター/Oracle/東京都港区/【WEB面談可】
月給25万~35万円東京都港区(品川駅) -
営業フロントシステム運用保守/ASP.NET/東京都江東区/【WEB面談可】
月給50万~60万円東京都江東区(木場駅)