非同期レプリケーションとは

非同期レプリケーションは、データベースやストレージシステムにおいて、データの更新をまずプライマリサイトに書き込み、その完了を待たずにセカンダリサイトに遅れて複製する手法のことです。

非同期レプリケーションの概要と目的

非同期レプリケーション(Asynchronous Replication)は、データ冗長化の手法の一つであり、プライマリサイト(主系)とセカンダリサイト(副系)間でデータを複製します。

このプロセスにおいて、プライマリサイトはデータ更新を完了すると、その更新がセカンダリサイトに複製されるのを待たずに、次の処理に移ります。これにより、ユーザーからの書き込み操作に対する応答時間が短縮されるという大きな利点があります。

主な目的は、地理的に離れたデータセンター間でのデータ保護と災害対策です。応答時間の遅延を最小限に抑えつつ、遠隔地にもデータのバックアップを確保することで、プライマリサイトが災害などで利用不能になった場合でも、セカンダリサイトに切り替えてサービスを継続できます。

非同期レプリケーションの仕組み

非同期レプリケーションは、以下のステップで動作します。

  1. 書き込みの完了
    • ユーザーからのデータ更新リクエストがプライマリサイトに到着し、書き込みが完了します。
  2. 応答の返却
    • プライマリサイトは、セカンダリサイトへの複製処理を待たずに、ユーザーに書き込み完了の応答を返します。
  3. 遅延して複製
    • プライマリサイトは、バックグラウンドで更新データをセカンダリサイトに送信し、複製を実行します。この間、プライマリとセカンダリのデータにはわずかな時間差(レプリケーションラグ)が生じます。

この仕組みにより、プライマリサイトのパフォーマンスはセカンダリサイトの遅延に影響されません。

非同期レプリケーションの利点と課題

利点

  • 低遅延
    • ユーザーの書き込み操作が遠隔地へのデータ転送を待つ必要がないため、ネットワークの遅延が応答時間に影響しません。これは、プライマリサイトとセカンダリサイトの距離が遠い場合に特に有効です。
  • 高いパフォーマンス
    • プライマリサイトの処理が高速化されるため、システム全体のパフォーマンスが向上します。

課題

  • データ損失のリスク
    • プライマリサイトに障害が発生した場合、まだセカンダリサイトに複製されていない最新のデータが失われる可能性があります。このデータの時間差は、RPO(目標復旧時点)という指標で管理されます。
  • 複雑なフェイルオーバー
    • 障害発生時に、セカンダリサイトへの切り替え(フェイルオーバー)を行う際、失われたデータをどのように扱うかを考慮する必要があります。

同期レプリケーションとの比較

非同期レプリケーションは、同期レプリケーション(Synchronous Replication)と対比されることが多いです。

  • 同期レプリケーション
    • プライマリサイトでの書き込みと、セカンダリサイトへの複製完了の両方が確認できて初めて、ユーザーに書き込み完了の応答を返します。
  • 長所
    • データの整合性が完全に保たれるため、障害発生時のデータ損失がありません(RPOがゼロ)。
  • 短所
    • セカンダリサイトへのデータ転送の遅延が、ユーザーの応答時間に直接影響します。遠隔地では、この遅延が大きくなりすぎることがあります。

非同期レプリケーションは、データ損失のリスクを許容できるが、パフォーマンスと低遅延が非常に重要なシステムに適したソリューションです。

関連用語

データ冗長化 | 今更聞けないIT用語集
目標復旧地点(RPO) | 今更聞けないIT用語集
ソフトウェアエンジニアリング

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。