データエンジニアリングリソース
データレプリケーションの基礎
リーダー、チーム、ライン・オブ・ビジネスアナリストは、レポート、ダッシュボード、分析ツールに依存して、データから洞察を得て、パフォーマンスを追跡し、健全でデータ駆動型の意思決定を行っています。データウェアハウス、ひいてはそれらのデータウェアハウスへのデータレプリケーションは、データを効率的に保存してデータの入出力 (I/O) を最小化し、数百から数千のユーザーに同時にクエリ結果を迅速に配信することで、これらのレポート、ダッシュボード、分析ツールを支えています。エンタープライズデータレプリケーションにより、組織はデータを中核的なデータウェアハウスに集中化し、重要なセキュリティ、ガバナンス、可用性を備えた数百、さらには数千のユーザー間でペタバイト規模のデータを共有できます。
この記事では、データレプリケーションの基礎、プロセスの仕組み、エンタープライズデータレプリケーションソフトウェアを使用する利点について説明します。最後に、特定のユースケースに最適なソリューションを選択する方法についてのガイダンスを提供します。データウェアハウジングの詳細については、エンタープライズデータウェアハウジングの記事 をご覧ください。
データレプリケーションとは
データレプリケーションとは、通常は多数のエンタープライズデータソースからエンタープライズデータをコピーして、保存とオンデマンド使用のために中央データベースまたはデータウェアハウスに格納するプロセスです。データレプリケーションの主な目的は、システムの堅牢性と一貫性に加えて、データの可用性とアクセシビリティを向上させることです。プロセスとしてのデータレプリケーションは、データのアクセシビリティを向上させます。アクセスを許可されたすべてのユーザーは、世界のどこにいても、まったく同じデータを共有できます。
組織の要件に応じて、レプリケーションプロセスは 1 回だけ実行することも、継続的に実行することもできます。データレプリケーションソリューションは、各コピーが元のソースを正確に反映した最新の状態を維持できるように、データを継続的に処理します。最終的な結果は、ユーザーが同僚のデータを台無しにしたり、元のデータソースを何らかの方法で破損したりすることを心配せずにアクセスできる、主要な場所にある戦略的なデータコピーのセットです。
データレプリケーションがもたらすメリット
データレプリケーションから期待できるメリットは多数あります。以下は、組織がデータレプリケーションの取り組みを行う主なメリットと最も一般的な理由です。
データの信頼性と可用性
データレプリケーションにより、データのバックアップと保存が可能になり、将来および組織横断的な使用のためにデータへの簡単なアクセスが保証されます。これは、さまざまな場所に分散している多国籍組織にとって特に重要です。ハードウェア障害が発生した場合でも、データは他のサイトで引き続き利用できます。
ディザスタリカバリ
レプリケーションの主なメリットは、ディザスタリカバリとデータ保護の観点から現れます。災害やシステム侵害が発生した場合に、一貫したバックアップが維持されることを保証します。したがって、システムが動作しなくなった場合でも、別の場所からデータにアクセスできます。
サーバーパフォーマンス
データレプリケーションは、サーバーパフォーマンスを強化および向上させることもできます。これは、企業が異なるサーバー上で多数のデータコピーを実行する場合、ユーザーがデータにはるかに迅速にアクセスできるためです。
ネットワークパフォーマンスの向上
トランザクションが実行されているさまざまな場所に同じデータのコピーを保持することで、アナリストやクライアントがデータをより迅速に取得できるようになります。
360 度分析のためのデータ集中化
通常、データ駆動型企業は、ビジネスインテリジェンスを促進するために、多数のソースからデータウェアハウスやデータレイクなどのデータストアにデータを複製します。これにより、さまざまな場所にいる分析チームが共有プロジェクトに取り組みやすくなります。
テストシステムパフォーマンスの向上
レプリケーションにより、より高速なテストのために迅速なアクセシビリティを必要とするテストシステムのデータの配布と同期が簡素化されます。
データレプリケーションの仕組み: データレプリケーションのタイプ
データレプリケーションは、たとえば、同じまたは異なる場所にある 2 つのオンプレミスホスト間など、ある場所から別の場所にデータをコピーすることで機能します。オンデマンドで、スケジュールに従ってバルクまたはバッチでデータをレプリケートできます。データは、さまざまなレプリケーション手順を介して複製できます。
完全レプリケーション
完全レプリケーションとは、特定のデータソースからデータセット全体がレプリケートされることを意味します。これには、ソースから同期先にコピーされる新しいデータや更新されたデータ、および既存のデータが含まれます。処理能力とネットワーク帯域幅の要件が高いため、このレプリケーション方法は一般的にコストが高くなります。ただし、完全なテーブルレプリケーションは、ハード削除されたデータの復旧や、レプリケーションキーが欠落しているデータに関しては有益です。
部分レプリケーション
部分レプリケーションは、サブツリー内の指定されたエントリと、指定されたエントリの属性のサブセットのみをレプリケートする高度なレプリケーションプロセスです。レプリケートされるエントリと属性は、適切な権限を持つ LDAP 管理者によって指定されます。部分レプリケーションのサポートにより、LDAP 管理者は、特定のオブジェクトクラス値を持つエントリをコンシューマーサーバーにレプリケートできます。
部分レプリケーションは、比較的小さいボリュームを扱うため、完全なテーブルレプリケーションよりも高速であり、ネットワーク負荷と一貫性の問題が軽減されます。主に、保険調整者、ファイナンシャルプランナー、営業担当者などの移動型労働力に役立ちます。
継続的レプリケーション、または増分レプリケーション
継続的レプリケーション、または増分データレプリケーションは、データソースからデータベースまたはデータウェアハウスへの新しいデータまたは更新されたデータのみをレプリケートするプロセスです。継続的レプリケーションは通常、基盤となるデータソースと同期先の間の継続的なライブ接続を使用し、スケジュールに従って更新をスケジュールして、ソースから新しいデータをレプリケートします。
増分レプリケーションは帯域幅と時間を節約します。プロセスが増分でない場合、すべてのレプリケーションでデータソース全体 (スナップショット) がコピーされます。データソース全体を毎回コピーせず、更新されたデータのみをコピーすることで、同期の完了を待つ何時間もの時間を回避できます。残念ながら、すべてのデータソースが増分クエリ (リクエスト) をサポートしているわけではないため、常に可能とは限りません。
ログベースレプリケーション
ログベースの増分レプリケーションは、データベースソースにのみ適用されるレプリケーションの特殊なケースです。このプロセスは、データベースへの変更をリストするデータベースログファイルからの情報に基づいてデータをレプリケートします。この方法は、ソースデータベース構造が比較的静的である場合に最適に機能します。ログファイルから直接データを読み取り、本番システムへの負荷を軽減します。列が追加または削除された場合、またはデータ型が変更された場合、ログベースシステムの構成を変更を反映するように更新する必要があります。これは時間とリソースを大量に消費するプロセスであるため、ソース構造に頻繁な変更が必要になると予想される場合は、完全なテーブルまたはキーベースのレプリケーションを使用する方が良いかもしれません。
キーベースレプリケーション
キーベースの増分レプリケーション、またはキーベースの増分ロードとも呼ばれるこの方法は、データソースがレプリケーションキーと呼ばれる列を使用して新しいデータと更新されたデータを識別するレプリケーション方法です。各更新中にコピーされるデータの行が少ないため、キーベースのレプリケーションは完全なテーブルレプリケーションよりも効率的です。ただし、キーベースレプリケーションの主な制限の 1 つは、レコードが削除されるとキー値が削除されるため、ハード削除されたデータをレプリケートできないことです。
抽出、ロード、変換プロセス (ELT/ETL)
ELT は「Extract、Load、Transform」の略です。このプロセスでは、基本的な変換を行うためにデータウェアハウスを介してデータが活用されます。つまり、データステージングの必要はありません。ELT は、構造化、非構造化、半構造化、さらには生データタイプを含むすべての異なるタイプのデータに対してクラウドベースのデータウェアハウジングソリューションを使用します。
一方、ETL はデータの抽出、変換、ロードです。ETL では、さまざまなソースから収集および処理されたデータは、1 つのデータストアに統合され、そこで後で分析できる普遍的なモデルに準拠するために、統合/クレンジング/重複排除されます。企業は多くのデータソースにアクセスできますが、多くの場合、そのデータは企業にとってあまり有用でない方法で提示されます。その分析の結果は、ビジネス戦略と意思決定に情報を提供するために使用できます。
一般的なデータレプリケーションアプローチ
同期リモートレプリケーション
同期レプリケーションは、データが作成されると同時に 1 つ以上のセカンダリサイトにデータをコピーします。その結果、重複システムにはコピーが利用可能であることが保証され、誤って失われた場合のリスクが排除されます。データがプライマリ論理ユニット番号 (LUN) に書き込まれている場合、書き込み要求もセカンダリ LUN に送信されます。プライマリ LUN とセカンダリ LUN の両方が書き込み成功応答を返した後、ストレージシステムはホストに書き込み成功応答を返します。これにより、プライマリ LUN とセカンダリ LUN の間のリアルタイムデータ同期が保証されます。
非同期レプリケーション
非同期レプリケーションは、事後、つまり非リアルタイムでデータをコピーします。非同期レプリケーションは長距離で動作するように設計されており、使用する帯域幅も少なくなります。プライマリ LUN にデータを書き込む場合、プライマリサイトは変更されたデータを記録します。プライマリ LUN が書き込み成功応答を返した後、プライマリサイトはホストに書き込み成功応答を返します。次に、ユーザー定義のトリガー条件に基づいて手動または自動でデータ同期が実行され、プライマリ LUN とセカンダリ LUN 間のデータの整合性が保証されます。
SAN レベルレプリケーション
SAN から SAN へのレプリケーションは、保存またはアーカイブされたデータの集中リポジトリがリアルタイムで別の集中データリポジトリに複製されるサービスです。SAN ベースのレプリケーションは、インフラストラクチャの全部または一部をバックアップしようとしている企業にとって優れたソリューションです。ただし、この場合のソースとターゲットは VM ではありません。LUN 全体です。通常、単一の LUN 上で複数の VM が実行されており、VM のグループにデータ/時間の整合性が必要な場合に便利です。VMware SRM は SAN レプリケーションを使用して完全にオーケストレーションされた DR ソリューションを実現し、SAN 上にディスクを持つ物理サーバーもレプリケートできます。
ゲスト OS レベルレプリケーション
このタイプのレプリケーションは、ブロックレベルベースでターゲットマシンにデータを複製します。OS、アプリケーション、データはすべて、ブロックレベルベースでターゲットマシンにレプリケートできます。OS ファイルはターゲットマシン上で「ステージング」され、フェイルオーバーボタンをクリックすると、ターゲットマシンがソースマシンに「なり」ます。確かに素晴らしいテクノロジーです。
アプリケーションレベルレプリケーション
アプリケーションレプリケーションはトランザクションレベルで行われます。各トランザクションがキャプチャされ、複数のシステムで複製されます。これにより、データがアクセスできない期間である短い RTO、および許容可能なデータ損失量である RPO が提供されます。ただし、フェイルオーバー時に OS またはオペレーティングシステムが適切に維持されていることを確認する必要があります。このレプリケーションは SQL データベースで最も効果的に機能します。
検討すべきデータレプリケーションの課題
データレプリケーションは複雑な技術プロセスです。意思決定に利点を提供しますが、スムーズで一貫したプロセスを確保する場合に限ります。ここでは、最大の課題とそれに対してできることについて説明します。
一貫性のないデータ
分散環境での同時更新の制御は、集中環境よりも複雑です。さまざまなソースからさまざまな時間にデータをレプリケートすると、一部のデータセットが他のデータセットと同期しなくなる可能性があります。集中化されたウェアハウスでは、すべてのデータにインスタンスが 1 つしかないため、データポイントが最新かどうかを簡単に知ることができます。分散環境では、異なるデータセットが異なるマシン/場所にある可能性があるため、データを更新する際に、データセットのすべてのインスタンスが同期され、最新であることを確認する必要があります。レプリケーションプロセスは、十分に検討され、レビューされ、必要に応じて手順を最適化するために改訂される必要があります。
ストレージコストの増加
同じデータを複数の場所に保持すると、より多くのストレージスペースが消費されます。データレプリケーションプロジェクトを計画する際には、このコストを考慮することが重要です。
処理とネットワークコストの増加
分散サイトからのデータの読み取りは、より遠い中央の場所からの読み取りよりも高速かもしれませんが、データベースへの書き込みはより遅いプロセスです。レプリケーションの更新は処理能力を消費し、ネットワークを遅くする可能性があります。データおよびデータベースレプリケーションの効率化は、増加した負荷を管理するのに役立ちます。プロセスをスピードアップする 1 つのアプローチは、Exchange、Load、Transform、または ELT です。これは、基盤となるデータベースの処理能力を使用して、既にロードされた後にデータを変換します。
ニーズに合ったレプリケーションプロセスを選択することで、道のりの凸凹をスムーズにすることができます。
CData Sync の紹介: あらゆる場所へのシームレスなデータレプリケーション
CData Sync を使用すると、100 以上のエンタープライズデータソースから、今日組織全体で使用されているすべての一般的なデータウェアハウスおよびデータベースの同期先にデータをレプリケートできます。CData Sync を使用すると、すべてのデータソースを統合してデータをバックアップでき、データレプリケーションプロセスのためにコードを記述する必要はありません。すべてのデータレプリケーションおよび ETL/ELT プロセスをサポートし、レプリケーションを簡単に自動化してスケジュールし、今すぐデータ統合と管理を簡素化しましょう。
無料の CData Sync 30 日間無料トライアル をダウンロードして、データウェアハウジングとレプリケーションの取り組みを開始してください。
今すぐ始める準備はできていますか?
あらゆるデータソースから任意のデータベースまたはデータウェアハウスへのデータレプリケーションを、数回のクリックで自動化できます。
無料トライアル版をダウンロード:
無料トライアル