- データが一定の間隔でバッチで収集され、転送されるバッチ・データインジェスト。
- ストリーミング・データインジェスト。リアルタイム(またはニアリアルタイム)でデータが収集され、ほぼすぐにターゲットの場所にロードされる。
ほとんどの企業では、手元にあるデータが膨大で、何をすればよいのかわからない状態です。しかし、これらの情報を収集することは最初のステップにすぎません。企業データを最大限に活用するには、1つまたは複数のソースからデータを移行し、一元化されたデータウェアハウスに転送して効率的な分析とレポートを作成する必要があります。
こうしたプロセスについて参照すると、「データインジェスト」と「ETL」という言葉をよく耳にします。しかし、データインジェストとETLは密接に関連した概念ですが、正確には同じものではありません。では、データインジェストとETLの違いは実際の現場においてどう異なるのでしょうか?
- データインジェストとは?
- ETLとは?
- データインジェスト vs. ETL: その違いは?
- データインジェスト vs. ETL: 使用例
- データインジェスト vs. ETL: 何を重要視するか?
- Integrate.ioがお役に立てること
データインジェストとは?
「データインジェスト」という用語は、データをある場所から別の場所に転送して、さらなる処理や分析のために取り込 むことができるようにするあらゆるプロセスを指します。特に、「インジェスト」という言葉の使用は、データの一部またはすべてが社内システムの外部にあることを示唆しています。データのインジェストには、主に2つのタイプがあります。
バッチ・データインジェストとストリーミング・データインジェストには、それぞれ長所と短所があります。ストリーミング・データインジェストは、ユーザーが最新のデータや洞察を必要とする場合に最適ですが、バッチデータ・インジェストは、取り込みにかかる時間が重要でない場合には、より効率的で実用的な手法です。
データインジェストは、複数のデータソースを統合しようとするデータ統合の概念に似ていますが、それとは異なります。データ統合では、ソースは完全に自社システム内にあるかもしれません。一方、データインジェストでは、データの少なくとも一部が別の場所(ウェブサイト、SaaSアプリケーション、外部データベースなど)から取得されることを示唆しています。
ETLとは?
ETL(extract、transform、load)という用語は、定義された3段階のプロセスに従うある特定のタイプのデータインジェストまたはデータ統合を指します。
- まず、データはソースまたはソース(ファイル、データベース、SaaSアプリケーション、Webサイトなど)から抽出されます。
- 次に、データは特定のビジネス・ルールに従って変換され、情報をクリーンアップし、ターゲット・ロケーションのスキーマと一致するように構造化されます。
- 最後に、データはターゲット・ロケーションにロードされます。ターゲットとしては、データウェアハウス(ビジネスインテリジェンスやアナリティクスで使用するための構造化されたリポジトリ)やデータレイク(非構造化データや生データを収容できる非常に大規模なリポジトリ)が挙げられます。
ETL はデータインジェストの 1 つのタイプですが、それだけではありません。ELT (extract, load, transform) は、データを(場合によっては)変換する前に、最初にターゲットの場所にデータをロードするデータインジェストの別の形式を指します。この代替アプローチは、すべてのデータを変換する必要がある(または可能性がある)非構造データやデータレイクに適しています。
データインジェスト vs. ETL : その違いは?
前述したように、ETLはデータインジェストの特殊なケースで、ソースから抽出されたデータとターゲットの場所に読み込まれたデータの間に、一連の変換をはさんでいます。
ETL変換のほんの一部を紹介します。
- 集約:2つ以上のテーブルを1つに統合する。
- クレンジング。不正確な情報、無関係な情報、不完全な情報を削除すること。
- 重複排除:情報の重複コピーを削除すること。
- 結合:結合。結合:一致する列を共有する2つ以上のデータベーステーブルを結合すること。
- スプリット:単一のデータベーステーブルを2つ以上のテーブルに分割する。
- サマリ集計:様々な計算を実行して新しいデータを作成する(例:チーム内の各営業担当者の売上を集計する)。
- 検証:データが正確で、高品質で、標準フォーマットを使用していることをチェックする(例:すべてのタイムスタンプをグリニッジ平均時間に変換)
データインジェストは、大量のビッグデータを効率的に処理することでETLのバックボーンとして機能しますが、変換がなければ、それだけでは現代の企業のニーズを満たすには十分ではないことが多いでしょう。組織は、必要に応じてデータを変換する自動化されたETLパイプラインを確立しなければ、持続的にデータをクリーンアップ、マージ、検証することはできません。
いくつかの新しいデータウェアハウスソリューションでは、データがすでにインジェストされ、データウェアハウスにロードされているときに、ユーザーがデータの変換を実行できるようになっています。では、なぜETLが必要なのでしょうか?
実際、多くのユースケースでは、データインジェストよりもETLの方が正しい選択だといえます。例えば、あるデータを何度もクエリしなければならないような処理の場合は、生データのインジェストよりもETLの方が望ましいでしょう。一方、ウェアハウス側での変換処理では、アドホックなクエリを実行するたびにデータを繰り返し変換する必要があり、アナリティクスの実行時間が大幅に遅くなる可能性があります。
そこでIntegrate.ioの登場です。多くのお客様がデータウェアハウスの上に構築されたビジネスインテリジェンスダッシュボードを持っていて、新しい変換で頻繁に更新する必要があります。Integrate.ioを使って変換ステップを実行すると、ダッシュボードの更新プロセスが劇的にスピードアップします。
データインジェスト vs. ETL : 使用例
ETL 使用例
ETLは、現代の企業では、データドリブン型のユースケースとして様々な可能性があります。例えば、マッキンゼー・アンド・カンパニーの調査によると、顧客分析を積極的に使用している企業は、顧客獲得に成功する可能性が23倍、利益率が19倍になります。
ETLの一般的な使用例としては、より多くの顧客を獲得し、維持する方法について貴重な洞察を見つける必要がある営業・マーケティング部門が挙げられます。これらのチームは、セールスコールからソーシャルメディアまで、大量のデータソースにアクセスできるため、分析ワークロードを実行する前に、このデータをフィルタリングして処理するためにETLが必要となります。
ETLは、レガシーシステムから新しいITインフラストラクチャへのデータ移行にも広く利用されています。ETLソリューションは、ソースとなるレガシーシステムからデータを抽出し、必要に応じて新しいアーキテクチャにフィットするよう変換し、最終的に新しいシステムにロードすることができます。
ETLの変換フェーズは、複数のソースからのデータを組み合わせる場合に特に重要です。データクレンジング、重複排除、サマリ、検証などの変換により、企業のデータを常に可能な限り正確で最新の状態に保つことができます。
データインジェスト 使用例
ビッグデータは膨大な量、速度、多様性を特徴としているため、データインジェスト(変換なし)の使用例は稀です。例えば、データインジェストは、必ずしもデータ自体を変換しなくても、IT環境に関する情報を含む生のテキストファイルを保存する必要がある場合に、ロギングやモニタリングに使用されることがあります。
少し調整すれば、データインジェストはデータレプリケーションの目的にも使用できます。データレプリケーションとは、データの高可用性をサポートするために、同じ情報を複数の場所(異なるサーバーやノードなど)に保存することです。サーバーやノードのいずれかがダウンした場合でも、別の場所でレプリケーションされたデータにアクセスし続けることができます。
データレプリケーションとデータインジェストの間にはわずかな違いしかありません。データインジェストが1つ以上のソース(外部ソースを含む)からデータを収集するのに対し、データレプリケーションはある特定の場所からもう1つの別の場所にデータをコピーします。データレプリケーションはデータを変換せずにコピーするので、ここではETLは不要であり、代わりにデータインジェストを使用することができます。
データインジェスト vs. ETL : 何を重要視するか?
データインジェストを使用する企業では、一般的にデータをある場所から別の場所へ、可能な限り迅速かつ効率的に取得することが重要視されています。一方、ETLは言葉の定義上、一連の変換を組み込んでいるため、ETLは、データが何らかの方法で必然的に変更されたり再構築されたりするシチュエーションに適しています。
例えば、ETLはデータのマスキングを行うために使用することができます。データベース内の個人の名前や社会保障番号は、各文字列の長さを同じに保ったまま、ランダムな文字や数字でスクランブルされるます。こうすることで、データベースのテスト段階においてリアリティのある(ただし本物ではない)データを処理できるようになります。
Integrate.ioがお役に立てること
データインジェストとETLの問題に関しては、ここで知っておくべきことがあります。
- データインジェストとは、ある場所から別の場所へデータをインポートすることを指し、ETLとは、データを抽出してからロードするまでの間のデータの変換を含む特定の3段階のプロセスを指します。
- データインジェストは、データ自体の移行にのみ焦点を当てていますが、ETLはデータ変換も配慮されています。ETLは、データがデータウェアハウスに保存される前に何らかの変換が行われる場合に必要となります。例えば、ETLは、ユーザーのプライバシーやセキュリティを保護するためのデータのマスキングや暗号化などの特殊な使用例に適しています。
ETLとデータインジェストのすべてのニーズに対応する、パワフルでユーザーフレンドリーなデータ統合プラットフォームをお探しですか?Integrate.ioを試してみてください。Integrate.ioのローコード、ドラッグアンドドロップのインターフェイスと100以上の事前に構築されたコネクターにより、ソースやSaaSアプリケーションから選択したデータウェアハウスやデータレイクへのデータパイプラインをこれまで以上に簡単に構築することができます。使用を開始するには、まずはオンラインデモを申し込んでください。