データ・レプリケーションとは、組織全体でデータの可用性、信頼性、レジリエンスを確保する方法として、異なる場所に同じデータのコピーを複数作成し、維持するプロセスのことです。
ソース・ロケーションから1つまたは複数のターゲット・ロケーションにデータをレプリケートすることにより、組織のグローバル・ユーザーがレイテンシーの問題に悩まされることなく、必要なデータにすぐにアクセスできるようにします。
同じデータのコピーが異なる場所に複数存在する場合、災害、機能停止、その他の理由により1つのコピーがアクセスできなくなった場合でも、別のコピーをバックアップとして使用できます。この冗長性により、ダウンタイムとデータ損失を最小限に抑え、事業継続性を向上させることができます。
データのレプリケーションは、クラウドだけでなく、ストレージ・エリア・ネットワーク、ローカル・エリア・ネットワーク、ローカル・ワイド・エリア・ネットワーク上でも行われます。複製は同期的に行うことも、非同期的に行うこともできます。つまり、オペレーションの管理方法によって異なります。
同期レプリケーションではデータが失われることはありませんが、非同期レプリケーションでは必要な帯域幅が大幅に少なく、コストも低くなります。
効果的なデータ・レプリケーション戦略を採用することで、次のようなメリットを得ることができます。
データ・レプリケーションは、増加するトラフィックとワークロードの需要に対応するためのスケーリング戦略の一部として使用できます。レプリケーションは、データを複数のノードに分散することで拡張性を高めます。これにより、処理能力が向上し、サーバーのパフォーマンスが向上します。
データのコピーをさまざまな場所に保持しておくと、停電、サイバーセキュリティー攻撃、自然災害が発生した場合にデータの損失とダウンタイムを最小限に抑えることができます。リモート・レプリカからの復元機能は、システムの堅固性、組織の信頼性、セキュリティーの確保に役立ちます。
データベースが世界中に分散していると、エンドユーザーまでの移動距離が短くなります。これにより、ゲーム・システムやレコメンデーション・システムでのリアルタイム・ベースのワークロード、またはデザイン・ツールなどのリソースを大量に消費するシステムでは特に重要なレイテンシーが減り、速度とサーバーのパフォーマンスが向上します。
レプリケーションの冗長性により、フォールト・トレランスが向上します。データのコピーの1つが破損したり、障害が発生したりした場合、システムは他のレプリカの1つにフォールバックできます。これにより、データの損失を防ぎ、中断のないオペレーションを実現できます。
データのアクセス要求を複数のサーバーまたは場所に分散することで、データ・レプリケーションによって個々のサーバーのストレスが軽減され、サーバーのパフォーマンスが最適化されます。この負荷分散は、大量の要求を管理し、より応答性の高いユーザー・エクスペリエンスを確保するのに役立ちます。
データ・レプリケーションは、複製プロセスの方法、目的、特性に基づいて、トランザクション・レプリケーション、スナップショット・レプリケーション、マージ・レプリケーションの3つに分類できます。
トランザクション・レプリケーションは、プライマリー・サーバー(パブリッシャー)からデータベースが丸ごとコピーされ、セカンダリー・サーバー(サブスクライバー)に送信されます。データの変更はすべて一貫して継続的に更新されます。データはリアルタイムで複製され、プライマリー・データベースからセカンダリー・サーバーに発生順に送信されるため、トランザクションの一貫性が保証されます。このタイプのデータベース・レプリケーションは、サーバー間の環境で一般的に使用されます。
スナップショット・レプリケーションでは、データベースのスナップショットがプライマリー・サーバーからセカンダリー・サーバーに配信されます。データは継続的に更新されるのではなく、スナップショットの時点で存在していたまま送信されます。このタイプのデータベース・レプリケーションは、データ変更があまりない場合や、パブリッシャーとサブスクライバーの間で初めて同期を開始する場合に推奨されます。スナップショットの複製はデータの変更を監視しないため、データのバックアップには役に立ちませんが、誤って削除した場合の復元に役立ちます。
マージ・レプリケーションとは、2つのデータベースを1つのデータベースに結合することです。データの変更は、パブリッシャーからサブスクライバーまで更新することができます。両者(プライマリー・サーバーとセカンダリー・サーバー)がデータに変更を加えることができるため、複雑なタイプのデータベース・レプリケーションです。このタイプのレプリケーションは、サーバーからクライアントへの環境での使用にのみ推奨されます。
レプリケーションのスキームとは、データ・レプリケーションを実行する際に必要な操作とタスクのことです。3つの主要なスキームは、完全レプリケーション、部分レプリケーション、およびレプリケーションなしです。
完全レプリケーションでは、プライマリー・データベース全体が分散システム内のすべてのサイトにコピーされます。このグローバル分散スキームは、高いデータベース冗長性、レイテンシーの低減、クエリ実行の高速化を実現します。完全レプリケーションの欠点は、同時実行性を実現するのが困難であり、更新プロセスに時間がかかることです。
部分レプリケーション・スキームでは、データベースの一部のセクションが一部またはすべてのサイトに複製されます。部分レプリケーションを使用すると、重要なデータや複製する必要があるデータに優先順位を付けて、フィールドのニーズに応じてリソースを分散できます。
複製なしとは、すべてのデータを単一のサイトにのみ保管する方式です。この場合、データの復旧が容易で、また同時実行を達成できます。一方で、複製なしのデメリットとして、可用性への悪影響と、クエリの実行速度の低下があります。
データ・レプリケーションの手法とは、プライマリー・ソースから 1 つ以上のターゲット・システムまたはロケーションにデータを複製するために使用される方法とメカニズムを指します。最も広く使用されている手法は、フルテーブル・レプリケーション、キーベース・レプリケーション、ログベース・レプリケーションです。
フルテーブル・レプリケーションでは、すべての新規および既存のデータを含め、すべてのデータがデータ・ソースから宛先にコピーされます。この手法は、レコードが定期的に削除される場合や、他の手法が技術的に不可能な場合に推奨されます。データ・セットが大きいため、フルテーブルの複製にはより多くの処理とネットワーク・リソースが必要であり、その費用も高くなります。
キーベースの増分レプリケーションでは、前回の更新以降に追加された新しいデータのみが複製されます。この手法では、コピーする行の数が減るため、効率的です。キー・ベースの増分レプリケーションの欠点の1つは、物理削除された以前の更新からのデータの複製ができないことです。
ログベースのレプリケーションは、データベースのログ・レコード(ログファイルまたはChangeLog)を監視することによって、データソースでデータに加えられた変更をキャプチャします。これらの変更はターゲット・システムに複製され、サポートされているデータベース・ソースにのみ適用されます。ログベースのレプリケーションは、ソース・データベース構造が静的である場合に推奨されます。
データ・レプリケーションは、データの可用性、フォールト・トレランス、パフォーマンスを向上させるためにさまざまな業界やシナリオで役立つ多用途の技術です。最も一般的なユースケースには、次のようなものがあります。
データ・レプリケーション戦略を導入するにあたって、システムの複雑さが増し、サーバー間の物理的距離が増えると、次のようなリスクが生じます。
データ・レプリケーション・ツールは、すべてのレプリカ間でデータの一貫性を確保する必要があります。複製の遅延、ネットワークの問題、または同時更新の競合により、null数、タイプの変更、スキューなどのデータ・スキーマやデータ・プロファイリングの異常が発生する可能性があります。
データ複製はデータのバックアップや災害復旧によく使われますが、すべての複製ストラテジーがリアルタイムのデータ保護を提供するわけではありません。 障害が発生した際に、データの変更とその複製の間に遅延があると、データ損失が発生する可能性があります。
ネットワーク上でデータを複製すると、遅延が生じ、帯域幅が消費される可能性があります。ネットワークの遅延が大きかったり、帯域幅が限られたりすると、複製の遅延が発生し、データ更新の適時性に影響を与える可能性があります。
複数のロケーションにデータを複製すると、セキュリティー・リスクが生じる可能性があります。組織は、使用するデータ・レプリケーション・ツールが、すべての複製中および保存中のデータを適切に保護することを保証する必要があります。
規制の厳しい業界で事業を展開する企業は、データ・レプリケーション慣行が業界固有の規制やデータ・プライバシー法に準拠していることを確認する必要があり、レプリケーション戦略が複雑化する可能性があります。
データ・レプリケーション・プロセスを監督および監視するデータ管理システムを導入することで、関連するリスクを大幅に軽減できます。SaaS(Software as a Service)ベースのデータ・オブザーバビリティー・プラットフォームは、そのようなシステムの1つで、次を保証するのに役立ちます。
レプリケーション・プロセスに関与するデータ・パイプラインを監視することで、DataOpsエンジニアは、パイプラインを流れるすべてのデータが正確で完全であり、信頼できることを確認できます。これにより、利害関係者は各インスタンスに複製されたデータを信頼して使用できるようになります。監視に関しては、効果的なSaaS可観測性プラットフォームには次のような特徴があります。
パイプラインを追跡することで、体系的なトラブルシューティングが可能になります。これにより、ユーザーは分析において、更新された信頼性の高い正常なデータから常にメリットを得られるようになります。追跡できるさまざまなタイプのメタ・データには、タスクの期間、タスクのステータス、データの更新日などがあります。異常が発生した場合、追跡(およびアラート)によって、DataOpsエンジニアはデータの正常性を確保できます。
データ・パイプラインの異常アラートは、観測可能性のループを閉じるために不可欠なステップです。アラートを活用することで、DataOpsエンジニアは、データの正常性の問題がさまざまなインスタンス間でのデータ・レプリケーションに影響を与える前に修正できます。既存のデータ・システム内では、データ・エンジニアは次のアラートをトリガーできます。
アラートを積極的に設定し、ダッシュボードやその他の好みのツール(Slack、PagerDutyなど)を通じて監視することで、組織はデータ・レプリケーションのメリットを最大化し、事業継続性を確保できます。
直感的なグラフィカル・インターフェースでスマートなストリーミング・データ・パイプラインを作成、管理できるため、ハイブリッド環境やマルチクラウド環境でのシームレスなデータ統合を促進します。
データ・パイプライン用の可観測性ソフトウェア、IBM Databandをご紹介します。メタデータを自動的に収集して履歴ベースラインを構築し、異常を検知し、データ品質の問題を修復するためのワークフローを作成できます。
IBMのデータ統合ソリューションを活用して、生成AIへの取り組み、リアルタイム分析、ウェアハウスのモダナイゼーション、運用上のニーズに合わせて、レジリエンスがあり高性能でコスト最適化されたデータ・パイプラインを構築しましょう。