データパイプライン

データパイプラインとは、一連のデータ処理ステップのことです。 データが現在データプラットフォームにロードされていない場合、パイプラインの最初に取り込まれます。 次に、各ステップが次のステップへの入力である出力を提供する一連のステップがあります。 これはパイプラインが完成するまで続けられる。 データ パイプラインは、ソース、処理ステップ、およびデスティネーションという 3 つの主要な要素で構成されます。 一部のデータパイプラインでは、送信先はシンクと呼ばれることがある。 データ パイプラインは、たとえば、アプリケーションからデータ ウェアハウス、データ レイクから分析データベース、または決済処理システムへのデータのフローを可能にします。 また、データパイプラインは、ソースとシンクが同じで、純粋にデータセットを変更するだけのパイプラインである場合もある。

組織は、非常に特定の目的を果たす小さなコード ベースのアプリケーション (この種のアプリケーションは「マイクロサービス」と呼ばれる) を構築しようとしており、より多くのアプリケーション間でデータを移動しているため、データ パイプラインの効率はその計画および開発における重要な検討事項になっています。 1 つのソース システムまたはアプリケーションで生成されたデータは、複数のデータ パイプラインに供給され、それらのパイプラインは、その出力に依存する複数の他のパイプラインまたはアプリケーションを持つ可能性があります。 このイベントは、ソーシャルメディアへの言及をカウントするリアルタイム レポート、肯定的、否定的、または中立的な結果を出力する感情分析アプリケーション、または世界地図上の各記述をグラフ化するアプリケーションにデータを生成することができます。 データはすべてのケースで同じソースからですが、これらのアプリケーションのそれぞれは、エンド ユーザーが結果を見る前にスムーズに完了しなければならない、独自のデータ パイプライン上に構築されています。

ビッグ データ パイプラインとは何か

近年、データの量、種類、速度が劇的に増加しているため、設計者や開発者は「ビッグ データ」に適応しなければならなくなりました。 ビッグ データ」という用語は、扱うべき量が膨大であることを意味します。 このデータ量は、多くの例の中でも、予測分析、リアルタイム レポート、およびアラートなどのユースケースの機会を開くことができます。

データ アーキテクチャの多くのコンポーネントと同様に、データ パイプラインもビッグ データをサポートするように進化してきました。 ビッグ データ パイプラインは、ビッグ データの 3 つの特徴のうちの 1 つ以上に対応するように構築されたデータ パイプラインです。 ビッグデータの速度は、ビッグデータ用のストリーミングデータパイプラインを構築することを魅力的なものにしています。 データをリアルタイムで取り込み、処理することで、何らかのアクションを起こすことができる。 ビッグデータの量は時間と共に変化するため、データパイプラインはスケーラブルでなければなりません。 実際には、多くのビッグデータイベントが同時または非常に近いタイミングで発生する可能性があるため、ビッグデータパイプラインには、大量のデータを同時に処理できるスケーラビリティが必要です。 ビッグデータの多様性により、ビッグデータパイプラインは、構造化、非構造化、および半構造化といったさまざまな形式のデータを認識し、処理できることが必要です。 ETLは、”extract, transform, load “の略です。 これは、アプリケーションなどのソースから、通常はデータウェアハウスである宛先にデータを移動するプロセスです。 「抽出」はソースからデータを引き出すことを意味し、「変換」は宛先にロードできるようにデータを変更することを意味し、「ロード」は宛先にデータを挿入することを意味します。 しかし、リアルタイムのストリーミング イベント データ用のパイプラインの一部として、新しい種類のストリーミング ETL ツールが出現しています。 たとえば、パイプラインはストリーミング データを処理する必要があるのでしょうか。 どの程度のデータ量を想定していますか。 データパイプラインでは、どの程度の、どのような種類の処理を行う必要があるのか。 データはクラウドで生成されるのか、それともオンプレミスで生成されるのか、またそのデータはどこに送られる必要があるのか? マイクロサービスでパイプラインを構築する予定ですか?

アーキテクチャの例

データパイプラインは、いくつかの異なる方法でアーキテクチャされることがあります。 1 つの一般的な例は、バッチ ベースのデータ パイプラインです。 この例では、POS システムなどのアプリケーションが、データ ウェアハウスや分析データベースにプッシュする必要のある多数のデータ ポイントを生成する場合があります。

Data Pipeline Example
A basic example of a data pipeline.

A another example is a streaming data pipeline.以下は、そのような例の一例です。 ストリーミング データ パイプラインでは、販売時点情報管理システムからのデータは、生成されると同時に処理されるでしょう。 ストリーム処理エンジンは、パイプラインからの出力をデータ ストア、マーケティング アプリケーション、および CRM などのアプリケーションに供給したり、POS システム自体に戻したりすることが可能です。 データ ストリームは、ストリーム処理フレームワークによって管理され、そこで処理されて、アプリやソリューションに配信されます。 Lambda Architecture は、リアルタイムのストリーミング ユースケースと過去のバッチ分析の両方を開発者が考慮できるため、ビッグ データ環境で人気があります。 このアーキテクチャの重要な側面の 1 つは、データを生の形式で保存することを奨励していることです。これにより、新しいデータ パイプラインを継続的に実行して以前のパイプラインのコード エラーを修正したり、新しいタイプのクエリを可能にする新しいデータ送信先を作成したりすることができます。 また、クエリに応答するサービング層もあります。

関連項目

ストリーミング ETL

Lambda Architecture

ストリーム処理

コメントする