コニファ・マメ知識:レプリケーション(replication)
レプリケーション(replication)
最低限必要な量より多めに設備を用意し、メインの設備に障害が発生しても継続して稼働できるように構築したシステムにおいて、設備間で一貫性を保ちながら情報を共有する処理をレプリケーション(replication)と呼びます。
データベースのレプリケーションは、多くのデータベース管理システムが採用している機能のひとつです。マスター側のコンピュータ上のオリジナルデータベースとまったく同じ内容のレプリカ(複製)をスレーブ側の別なコンピュータ上に作成し、通信ネットワークなどを通じて常に同期します。このマスタースレーブ関係は、負荷分散や耐障害性の向上などを目的に構築するRAIDなどと同様です。
また、耐障害性の更なる向上をはかって、複数のレプリカを作成することも少なくありません。この場合もどこか一カ所でデータが更新されると、マスターとすべてのレプリカで同じ更新が反映し、一貫性を保ちます。
東日本大震災以後、業務継続計画(BCP:Business Continuity Plan 災害などの緊急事態に遭遇して被害を受けても主要業務の継続、中断した場合でも早期復旧を可能とするため、平常時にそれらを実現するために取り決めておく手段や方法などの計画)のソリューションとしてのノンストップ型運用に対応するため、データベースレプリケーションのニーズが高まっています。
バックアップとレプリケーションの比較
- 設備費用の違い
バックアップは、ストレージなどのバックアップ容量を満たすデバイスがあれば良いので、デバイスを追加するだけでよく、比較的安価で済みます。 レプリケーションでは、データベース管理システムが稼働するコンピュータ2台分以上のコストがかかります。
- 運用の違い
バックアップは、スケジュールに従い、数日、または数週間の間をあけて定期的にすべてを複製(フルバックアップ)し、日々は差分のみ複製するのが一般的です。データ量が多いため、複製に時間がかかります。復旧時のリストアの際にも同様の時間がかかります。その間、業務の継続性は保てません。また、ネットワークなどに大きな負荷がかかることを考慮しなければなりません。そして、次のバックアップ開始まで時間をあける必要があります。復旧したデータは一定時間を経過したものになります。
レプリケーションは、ノンストップ型運用が目的のため、データが更新される度に、更新データを複製します。復旧時、業務の継続性を保ったまま、短時間でデータをリストアできます。復旧したデータは直近のものになります。ネットワークなどへの負荷はあまり問題になりません。