Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

データレプリケーションの説明:例、タイプ、およびユースケース

データレプリケーションとは何ですか?

データレプリケーションは、データをコピーして、すべてのデータリソース間ですべての情報がリアルタイムで同一であることを保証する方法です。データベースレプリケーションは、情報をキャッチし、情報がクラックを通り抜けて失われ続けるネットと考えてください。データが停滞することはほとんどありません。それは常に変化しています。これは、地球の反対側にある場合でも、プライマリデータベースからのデータがレプリカにミラーリングされることを保証する継続的なプロセスです。

最近では、「瞬時」は十分な速さではありません。レイテンシーをミリ秒未満の間隔に短縮することが、普遍的な目的です。このような状況は以前にも見たことがあります。ウェブサイトの更新ボタンを押して、情報が更新されるのを永遠(秒)のように感じるのを待っています。レイテンシーはユーザーの生産性を低下させます。 ほぼリアルタイムを達成する 目標です。ゼロタイムラグは、あらゆるユースケースにとって新しい理想です。

データレプリケーションはどのように機能しますか?

データレプリケーションとは、あるホストから別のホストにデータをコピーすることです。たとえば、2つのオンプレミス間、または1つのオンプレミスからクラウドなどです。重要なのは、どこからデータにアクセスしていても、すべてのユーザーのデータとのリアルタイムの一貫性を実現することです。ゲーム業界と同様に、データ駆動型ビジネスモデル(DDBM)は、リアルタイムデータを通じて取得された分析に大きく依存しています。 DDBMにリアルタイムのアクセシビリティがどれほど必要かをより明確に理解するには、以下のビデオをご覧ください。

データレプリケーションのメリットは何ですか? 信頼性の向上/災害復旧

緊急の場合、プライマリインスタンスが危険にさらされた場合、代わりに交換できるレプリカでミッションクリティカルなアプリケーションを保護することが重要です。ディザスタリカバリレプリケーションの方法は、バックアップジェネレータと同様に機能します。重要なヒューズを吹くと想像してみてください。そうしないと、電力網が暗くなります。代わりに急降下してライトを稼働させ続ける予備発電機があるので、心配する必要はありません。

レプリカインスタンスはプライマリインスタンスの正確なコピーであるため、プライマリに何が起こっても、パフォーマンスが低下しないことを保証できます。プライマリとレプリカの間のリンクが切断された場合でも、プライマリが部分的な再同期を実行し、切断中にレプリカに配信されなかったコマンドを収集するため、パフォーマンスは保証されます。不可能な場合は、スナップショットを使用して完全な再同期が開始されます。

アプリのパフォーマンスの向上

データを複数のインスタンスに分散することで、読み取りパフォーマンスの最適化に役立ちます。複数の場所でデータにアクセスできるようにすることでパフォーマンスも最適化されるため、遅延の問題が最小限に抑えられます。また、レプリカがほとんどの読み取りを処理するように指示されている場合、これにより、プライマリが書き込みの手間のかかる作業のほとんどに取り組むためのスペースが開かれます。

より効率的なITチーム

データを手動で複製するためのIT労力の削減。

完全なデータレプリケーションと部分的なレプリケーションについて

完全なデータベースレプリケーション プライマリデータベース全体が、使用可能なすべてのレプリカインスタンス内でレプリケートされるときに発生します。これは、既存の新しいデータと更新されたデータをすべての宛先にミラーリングする全体的なアプローチです。このアプローチは非常に包括的ですが、かなりの処理能力を必要とし、コピーされるデータのサイズが大きいため、ネットワークの負荷を妨げます。

完全レプリケーションとは異なり、部分レプリケーション データの一部、通常は最近更新されたデータのみをミラーリングします。部分レプリケーションは、特定の場所にあるデータの重要性に従って、データの特定のビットを分離します。たとえば、ロンドンに本社を置く大規模な金融会社は、ボストンにオフィスを置き、クアラルンプールにオフィスを置くなど、世界中に多くの衛星オフィスを置くことができます。

部分的な複製により、ロンドンのアナリストは、英国に関連するデータのみをサイトに持ち、そのデータのみをニーズに合わせて一貫して複製することができます。米国とマレーシアにある他の衛星オフィスは、それぞれ同じことを実行でき、1つのシステムを停止させることはありません。これにより、パフォーマンスが向上し、ネットワークトラフィックが最小限に抑えられます。

データレプリケーションの例

トランザクションレプリケーション

この形式のデータベースレプリケーションでは、プライマリデータベースで行われた順序でこれらの変更をミラーリングすることにより、データをリアルタイムでレプリカインスタンスにレプリケートするプライマリデータベースからのデータを確認します。これにより、一貫性が最適化されます。レプリケーションは、プライマリ内のデータの「スナップショット」と呼ばれるものを取得し、そのスナップショットを他の場所でレプリケートする必要があるものの青写真として使用します。トランザクションレプリケーションを使用すると、必要に応じて変更を追跡および配布できます。トランザクションレプリケーションを使用すると、必要に応じて変更を追跡および配布できます。

データレプリケーションの説明:例、タイプ、およびユースケース データレプリケーションの説明:例、タイプ、およびユースケース

このプロセスの増分的な性質を考えると、バックアップデータベースオプションを探す場合、トランザクションレプリケーションは最適な選択ではありません。トランザクションレプリケーションは、すべてのデータの場所でリアルタイムの一貫性が必要な場合、変更の全体的な影響だけでなく、各小さな変更を考慮する必要がある場合、およびデータが1つの特定の場所から定期的に変更される場合に便利な選択肢です。

スナップショットレプリケーション

その名前が示すように、スナップショットレプリケーションは、特定の瞬間に表示されるプライマリからデータの「スナップショット」を取得し、それをレプリカに移動します。写真のように、スナップショットレプリケーションは、データがプライマリからレプリカに移動したときに表示される、ある時点でのデータの外観をキャプチャしますが、後で更新される方法は考慮していません。したがって、バックアップを作成するためにスナップショットレプリケーションを使用しないでください。

ストレージに障害が発生した場合、スナップショットレプリケーションには更新された情報へのパスがありません。情報の一貫性を保つために、スナップショットから始めることができますが、プライマリに加えられたすべての変更がすべてのレプリカに渡されるようにします。

一方、この方法は、誤って削除した場合の回復にはかなり役立ちます。 Googleドキュメントのバージョン履歴のように考えてください。 4時間前と同じようにプレゼンテーションに取り組むことができたらいいのにと思いませんか? Googleドキュメントが1時間間隔で作業のスナップショットを取得する場合は、4時間前のそのバージョン、つまり「スナップショット」をクリックして、そのときの情報を確認できます。

マージレプリケーション

この方法は通常、データのスナップショットから始まり、そのデータをレプリカに配布し、システム全体間のデータの同期を維持します。マージレプリケーションの違いは、各ノードがデータに個別に変更を加えることができる一方で、それらすべての更新を統合された全体にマージできることです。

マージレプリケーションは、各ノードで行われた各変更も考慮します。以前のGoogleドキュメントの例に戻ると、同僚とドキュメントを共有したことがあり、その同僚がドキュメントにコメントや編集を残したことがある場合は、誰がいつどのような変更を加えたかがわかります。非常によく似た方法でレプリケーション機能をマージします。

キーベースのレプリケーション

キーベースの増分データレプリケーションとも呼ばれるこの方法は、レプリケーションキーを利用して、最後の更新以降に変更された特定のデータのみを識別、検索、および変更します。その情報を分離することにより、バックアッププロセスが容易になり、必要なだけの負荷で作業できます。キーベースのレプリケーションは、新しいデータを迅速に更新する方法を提供しますが、削除されたデータのレプリケーションに失敗するという欠点があります。

アクティブ-アクティブな地理的分布

Active-Active Geo-Distribution、ピアツーピアレプリケーションとも呼ばれます は、ノードを介した一定のトランザクションデータに依存しているため、トランザクションレプリケーションのように機能します。アクティブ-アクティブでは、同じネットワーク内のすべてのノードが、データベースを対応するすべてのノードと同期することにより、常に相互にデータを送信しています。すべてのノードも書き込み可能です。つまり、世界中のどこからでも誰でもデータを変更でき、他のすべてのノードに反映されます。これにより、世界中のどこで変更が発生しても、リアルタイムの一貫性が保証されます。

競合のない複製データ型(CRDT)は、このデータの複製方法を定義します。レプリカまたはノードの1つでネットワーク障害が発生した場合、他のレプリカでは、そのノードがオンラインに戻ると、必要なすべてのデータを複製できるようになります。これは、世界中に複数のデータセンターを配置する必要がある企業向けの堅固なソリューションです。 Active-Active Geo-Distributionのユースケースの例については、以下のビデオをご覧ください。

同期/非同期レプリケーション

同期レプリケーションでは、データはプライマリとレプリカの両方に同時に書き込まれるため、この名前が付けられています。一方、非同期レプリケーションは、プライマリで書き込みがすでに行われた後でのみ、データをレプリカにコピーします。非同期レプリケーションは、可能ではありますが、リアルタイムで発生する傾向はありません。非同期のバッチで発生する傾向があるスケジュールされた書き込み操作のため、ほとんどの場合、フェイルオーバーイベントが発生すると、データが失われることがあります。それでも、リアルタイムコンポーネントはミッションクリティカルな要素ではないため、長距離でデータを複製する必要がある場合は、非同期が適切なソリューションです。

一般的なデータレプリケーションの実装の課題は何ですか?

複数のインスタンス間でデータを維持するには、一貫したリソースのセットが必要です。 コスト 多くの場合、複数のレプリカインスタンスを持つプライマリを持つことは非常に高くなる可能性があります。これらの操作を維持し、システム障害が発生しないようにするには、専任チームが必要です。 専門家の。また、アーキテクチャによっては、ネットワークの帯域幅 新しいプロセスが導入されると過負荷になり、レイテンシ、読み取り、書き込みに影響を与える可能性があります。

Redisは、データレプリケーションを便利で、費用効果が高く、実装が簡単にします。 Redis Enterpriseの治療の準備はできていますか?


  1. Excel でデータを取得して変換する方法 (4 つの適切な例)

    データを取得して変換する方法を探している場合 Excelで 、それなら、これはあなたにぴったりの場所です。場合によっては、Excel ワークブック、テキスト/CSV、Web などの外部ソースからデータセットを取得する必要があります。いくつかの簡単な手順に従って、このデータセットを取得して Excel ワークシートに変換できます。ここに 4 があります データを取得して変換する簡単な方法 エクセルで . データの取得と変換とは Get を使用できます &変身 エクセルで 外部データをインポートまたは接続し、列の削除、データ型の変更、テーブルの結合など、ニーズに合わせてデータを変更します。その後

  2. Excel でデータ モデルを使用する方法 (3 つの例)

    エクセル 膨大な量のデータを解釈できますが、データ モデル ツールを使用してデータを整理していない場合は、作業が忙しすぎる可能性があります。このツールを使用すると、共有列に基づいて関連付けを作成することで、多くのテーブルのデータを組み合わせることができます。この記事では、Excel データ モデルの使用方法を紹介します。 次の Excel ワークブックをダウンロードして、理解を深め、自分で練習してください。 Excel でのデータ モデルの使用方法の 3 つの適切な例 このアプローチは、バックグラウンドで動作している間、ピボットテーブル オブジェクトとその他のレポート機能を合理化します。た