データレプリケーションとは?
このページでは、データ・レプリケーションをより深く理解するために、以下の内容を説明します:
データ・レプリケーションとは、1つまたは複数のレコードをある場所から別の場所にコピーするプロセスである。これらの場所は、非常に類似している場合もあれば(同じデータベース内のファイルをコピーするような場合)、より異なる場合もあります(あるデータベースから別のデータベースへデータをコピーするような場合)。データレプリケーションという用語は、通常、ソースから宛先までデータを最新に保つことを意味しますが、レプリケーションの速度と自動化レベルはデータの一貫性に影響を与える可能性があります。
データ複製用語
データレプリケーションを理解するための一般的な用語のリストです:
単方向と双方向: 一方向の関係とは、データが送信元から送信先にのみ流れることを意味する。双方向関係とは、データが双方向に流れることを意味する。
アクティブ-アクティブ対アクティブ-パッシブ: アン アクティブ・アクティブ クラスタは常にすべてのノードに負荷を均等に分散します。対照的に、アクティブ-パッシブクラスタには、アクティブノードが過負荷になった場合にのみ引き継ぐバックアップノードがあります。
同期と非同期: 同期レプリケーションはプライマリノードとレプリカに同時にデータを書き込む。非同期レプリケーションでは、まずプライマリ・ノードにデータを書き込み、それからレプリカにコピーする。
バッチ処理とリアルタイム処理: バッチ処理は、スケジュールされた間隔でグループまたはバッチ単位でデータを収集し処理するもので、一般的に大量のデータを処理するのに適している。リアルタイム処理は、データが生成または受信された時点で処理するため、時間に敏感なアプリケーションに適している。
インクリメンタルとフル: インクリメンタルデータレプリケーションとは、レコードの更新された要素のみを複製することを意味します。フル・データ・レプリケーションとは、レコードの要素が変更されたときにレコード全体をレプリケートすることを意味します。
フィルターを通した: ソースからのデータは、特定のサブセットまたは選択されたデータのみがデスティネーションにレプリケートされるようにフィルタリングすることができる。
変身した: データ変換とは、データをあるフォーマットや構造から別のフォーマットや構造に変換し、分析、報告、または保存先での保存に適したフォーマットや構造にするプロセスである。
データレプリケーションの利点
データのレプリケーション 多くの用途と利点.これらには以下が含まれる:
高可用性(HA): 複数の場所にデータの最新コピーを維持することで、障害発生時のデータ損失を防ぐことができる。通常、リアルタイム・レプリケーションは一方向に行われ、ソースと1つ以上のレプリカの間で行われる。ソースが利用できなくなった場合、レプリカの1つが自動的に引き継ぎます。
ディザスターリカバリー(DR): HAと密接に関連するディザスタリカバリは、災害時にデータのコピーが利用可能であることを保証する。
スループットの拡大: このプロセスは、データの複数のコピーを使用して、リクエストに対応するシステムの容量を増加させる。通常、読み込みトラフィックに使用され、書き込みトラフィックにはあまり使用されない。
二次アクセス: インデックス作成とも呼ばれるこの作業では、データを別のシステムに複製し、別の方法でアクセスする。2つ目のシステムは、同じデータベース内(インデキシングの場合)でも、外部でも構わない。使用されているテクノロジーにもよるが、次のような仲介者がいる。 カフカ ソースと外部システム間でデータを転送する必要がある場合もある。
注:データレプリケーションの利点として「バックアップ」を意図的に除外しているのは、変更によってバックアップが更新されることがないからです。理解しておくべき重要なポイントは、データレプリケーションはアプリケーションレベルでのデータの破損や削除の影響を受けやすいが、バックアップはそうではないということだ。バックアップをHAやDRの代替と考えるべきではありませんし、HAやDRがバックアップを代替すべきでもありません。
データレプリケーションの課題
どのようなデータレプリケーション戦略でも、次のようなトレードオフを余儀なくされる:
- スピード
- 一貫性、可用性、パーティション耐性( CAPの定理)
- リソースの使用量とコスト(RAM、ディスク、CPU、ネットワーク)
例えば、こうだ:
- 複数のレプリカを維持することで、障害が発生した場合のデータの安全性は高まりますが、リソースの使用量とコストは高くなります。複数のレプリカを使用してリードをスケーリングする場合も同様です。
- 同期レプリケーションでは、ソースの書き込みが遅くなる(あるいは完全に失敗する)可能性があります。しかし、非同期レプリケーションでは、レプリケートできる速度よりも速くレコードを書き込むと、リソースの使用量が増える可能性があります。また、非同期レプリケーションでは、レプリケーション・テクノロジーがいかに高速で信頼性が高くても、ソースとデスティネーション・データに不一致が生じる可能性があります。
- インクリメンタル、フィルタリング、および変換レプリケーションは、ネットワーク・リソースの使用量が少なくなる可能性がありますが、これらのタイプのレプリケーションは動作が遅くなる傾向があり、ソースにはより高性能なCPUが必要になります。
データレプリケーションのベストプラクティスは、ユースケースの要件や使用しているテクノロジーの機能によって大きく異なります。
RDBMSにおけるデータ複製
各データベーステクノロジーは、データレプリケーションに異なる機能とオプションを提供しています。歴史的に、リレーショナルデータベース管理システム(RDBMS)は、ログシッピングによって、あるデータベースインスタンスから別のデータベースインスタンスへデータを複製します。新しいデータベース、例えば Couchbase NoSQLデータベースは、RAMから直接データを複製し、速度と信頼性を大幅に向上させます。
結論
データレプリケーションは、さまざまなデータベース機能を支える中核となる概念であり、レプリケーションにはさまざまな形態があり、それぞれ異なる課題と利点があります。組織にとって最適なデータレプリケーションの選択は、何を達成する必要があるか、どのようなテクノロジーを使用しているかによって異なります。
データレプリケーションとCouchbaseのデータレプリケーション機能の詳細については、これらのリソースを参照してください:
クロスデータセンターレプリケーション (Couchbase Capella™)
クロスデータセンターレプリケーション(Couchbase Server)
をご覧ください。 データベースハブ を参照して、データ管理のその他の重要な概念について学んでください。