データパイプラインとは何ですか?
公開: 2024-01-12堅牢なビジネス インテリジェンス、戦術的洞察、分析のためのデータの整理は、常にデータ パイプラインから始まります。 しかし、ほとんどの企業は、さまざまなソースから生成され、さまざまなクラウド インフラストラクチャに格納され、さまざまな形式で利用可能な膨大な量のデータを扱います。 その結果、サイロ化は避けられない結果となります。
データの包括的かつ統一された理解を確立することは、情報に基づいた意思決定を行い、生産性を向上させ、深い洞察を発見するために重要です。 そのため、データ パイプラインとは何か、そしてそれを運用する方法を知ることが重要です。
- データパイプラインの定義
- データ パイプラインの重要性と利点
- データ パイプラインを構築する方法
- データ パイプラインのコンポーネント
データパイプラインとは何ですか?
データ パイプラインは、特定のビジネス要件に焦点を当てて、あるシステムから別のシステムへのデータ転送、そのストレージおよび処理技術の維持、管理および保存を可能にする一連のタスクとツールで構成されます。
さらに、パイプラインにより、多数のソースからのデータの自動取得と、その後の単一の高性能データ ストレージ システムへの変換および統合が容易になります。 これは、IT とデジタルに大きな依存関係を持つ現代の企業にとって非常に重要です。
自分自身を、人々があなたのブランドとどのように関わっているかを実証する、さまざまな種類のデータのアナリストであると考えてください。 これには、ユーザーの位置、ガジェット、セッション記録、取引履歴、顧客サービスでのやり取り、ユーザーが提供したフィードバックが含まれる場合があります。 その後、このデータは CRM にリンクされたウェアハウスに収集され、顧客ごとに固有のプロファイルが生成されます。
分析ツールの構築と保守、または戦略的および運用上の意思決定を行うためにデータを必要とするすべてのデータ ユーザーは、データ パイプラインによって可能になる集約のおかげで、簡単かつ機敏にそれを行うことができます。 これらの個人は、マーケティング担当者、データ サイエンス グループ、BI 専門家、最高製品責任者、またはデータに大きく依存するその他の専門家です。
今日の CIO にとって、エンタープライズ データ パイプラインの適切なアーキテクチャと運用を確保することは、CIO の責任の中心部分です。
データ パイプラインが必要な理由は何ですか? 主な利点
ある程度のレベルのデータの出入りがシステムから発生しますが、データ パイプラインがなければ、構造化されていない非効率なプロセスが形成されます。 逆に、CIO と IT マネージャーは、データ パイプラインに投資することで次のことが可能になります。
データ品質の向上
データフローは、さまざまな点で障害や破損に対して脆弱です。 ただし、データ パイプラインは、データの継続的な整理に役立ちます。 これらにより、すべてのユーザーが監視を容易にし、利用できるようになります。 さらに、さまざまなソースやシステムからのデータを統合して、情報の信頼性、正確さ、使いやすさを向上させます。
データ操作を自動化する
データ パイプラインを反復可能なステージに分解すると、自動化が容易になります。 人的エラーの可能性を最小限に抑えることで、シームレスなデータ送信が可能になり、処理が迅速化されます。 また、冗長なステージを排除して自動化することで、複数のデータ ストリームを同時に処理できるため、効率が向上します。
より正確な分析を強化
多様なソースから抽出されたデータは独自の特性を持ち、さまざまな形式で提供されます。 データ パイプラインは、固有の属性に関係なく、さまざまなデータ セットの編集と変換をサポートします。 分析を最適化するための統合に重点が置かれており、ビジネス インテリジェンス アプリとのよりシームレスな統合が可能になります。
データパイプラインの構築
データ パイプラインを構築する場合、テクノロジー リーダーは通常、バッチ処理とストリーミング データ パイプラインの 2 つのオプションのいずれかを選択します。 以下で説明するように、それぞれが異なる使用例に適しています。
バッチ処理パイプライン
名前が示すように、バッチ処理は、あらかじめ決められた時間間隔でデータの「バッチ」をリポジトリにロードします。 バッチ処理タスクは頻繁に大量のデータを管理するため、システム全体に負担がかかります。 したがって、このプロセスは、他の割り当ての中断を最小限に抑えるために、ピーク時以外の営業時間中にスケジュールされます。
一般に、バッチ処理は、特定のデータセットの即時分析を必要としない月次会計などのタスクに最も適したデータ パイプライン方法と考えられています。
この例のステップは一連の連続したコマンドで構成され、1 つのコマンドの結果が次のコマンドの入力として機能します。
この好例としては、単一のコマンドがデータの取り込みアクションを開始する場合が挙げられます。 別のものは特定の列のフィルタリングをトリガーすることができ、さらに別のものは集計を担当する可能性があります。 このコマンド シーケンスは、データが包括的な変換を受けてリポジトリに追加されるまで続きます。 Hadoop と MongoDB は、このタイプのデータ パイプラインが機能している例です。
ストリーミング データ パイプライン
逐次処理とは異なり、ストリーミング データは、データの継続的な更新が必要な場合に使用されます。 たとえば、アプリや POS システムでは、製品在庫や販売履歴を更新するためにリアルタイム データが必要です。
ストリーミング データ パイプラインのコンテキストにおける「イベント」は、ソフトウェア製品の販売など、単一の出来事です。 たとえば、トランザクションに項目を追加することは、「トピック」または「ストリーム」と呼ばれます。 これらのイベントは、Apache Kafka などのメッセージング インフラストラクチャを通過します。
ストリーミング システムでは、発生するデータ イベントが即座に処理されるため、シーケンシャル システムに比べて遅延が短縮されます。
メッセージが誤って削除されたり、メッセージが多すぎるとキューが詰まる可能性があるため、一括処理パイプラインよりも信頼性が低くなります。
この問題に取り組むために、メッセージング システムには「スルー確認」と呼ばれる機能が追加されています。 このフェーズでは、データ パイプラインがデータ メッセージが正常に処理されたかどうかを確認し、メッセージング システムがデータ メッセージをスタックから削除できるようにします。
CIO は、データ パイプラインを評価する際に、組織と各ビジネス ユニットの具体的なニーズを考慮する必要があります。 ただし、アプリケーションにどのパイプラインを選択するかに関係なく、パイプラインはいくつかの主要なコンポーネントで構成されます。
データ パイプラインの必須コンポーネント
データ パイプラインには次のものが含まれます。
起源:
オリジンは、データが入力されるデータ パイプラインの開始点です。 ビジネスの IT 環境には、多数のデータ ソース (トランザクション アプリ、コネクテッド デバイス、ソーシャル ネットワークなど) とストレージ施設 (データ ウェアハウス、データ レイクなど) があり、これらはすべてオリジンとして機能します。
データフロー:
これは、データの発信元から最終宛先までのデータの転送であり、転送中の調整と通過するデータ リポジトリの両方に及びます。 このコンポーネントは、多くの場合、摂取と呼ばれます。
準備:
実装前に、正規化のためにデータのクレンジング、集約、変換 (ファイル形式の変換を含む)、および圧縮が必要になる場合があります。 準備とは、分析に適したものになるようにデータを変更するプロセスです。
行き先:
データ送信は「宛先」と呼ばれる場所で終了します。 宛先は用途に応じて異なります。 たとえば、データを取得して、データの視覚化やその他の分析ツールを強化および拡張できます。 あるいは、SIEM のようなセキュリティ自動化システムを促進する可能性もあります。
ワークフロー:
ワークフローは、データ パイプライン内での一連のアクションとその相互作用を確立します。 アップストリーム ジョブは、データがパイプラインに到達するリソースに近いデータに対して実行されるタスクです。 下流の活動は最終製品に近いところで行われます。
結論: データ パイプライン ツールキットの選択
データ パイプラインの構築と強化を検討している組織は、次の実装を検討する必要があります。
- データ レイク: データ レイクは、機械学習や AI イニシアチブのためのデータ パイプラインを構築するために組織によってよく使用されます。 大量のデータに対して、AWS、Microsoft Azure、Google Cloud、IBM などのクラウド サービスの主要プロバイダーはすべてデータ レイクを提供しています。
- データ ウェアハウス: これらの中央リポジトリは、処理されたデータを特定の目的のために厳密に保持します。 Teradata、Amazon Redshift、Azure Synapse、Google BigQuery、Snowflake は、一般的なウェアハウジングの代替手段です。
- ETL (抽出、変換、ロード) ツール: ETL は、Oracle Data Integrator、IBM DataStage、Talend Open Studio など、データの統合と準備のためのさまざまなツールを備えています。
- バッチ ワークフロー スケジューラ: Luigi や Azkaban などのプログラミング ツールは、相互依存関係のあるタスクのセットとしてサブプロセスの作成をサポートします。 これらのワークフローを監視して自動化することも可能です。
- データ ストリーミング ツール: これらのツールは、IoT やトランザクション システムなどのソースから収集したデータを永続的に処理できます。 Google Data Flow、Amazon Kinesis、Azure Stream Analytics、SQLstream はその例です。
Uber は、Apache 上に構築されたストリーミング パイプラインを使用して、運転手/ドライバーおよび乗客のアプリケーションからリアルタイム データを収集します。 メイシーズは、オンプレミス システムと Google Cloud の両方を網羅するデータ チャネルを活用することで、店舗で購入する場合でもオンラインで購入する場合でも、すべての顧客が同様に魅力的なエクスペリエンスを享受できるようにしています。 業界に関係なく、効率的なデータ パイプラインは最新のデータドリブン ビジネスにとって不可欠です。
模範的なパイプライン アーキテクチャと最適なツールキットに焦点を当てることで、データを使用してオペレーションを強化できます。