クリーンなデータを大規模に収集、変換し、分析と AI に提供する堅牢なデータ パイプラインを設計、構築、維持する分野
によって Databricks Staff による投稿
データエンジニアリングとは、分析、レポート作成、機械学習、意思決定のために、データを収集、保存、変換、配信するシステムを設計、構築、維持する業務です。データが実際に時間通りに、適切な状態で利用できるようにすることです。
データエンジニアリングは、データの信頼性を高め、より迅速で優れた意思決定を可能にするパイプラインを構築し、組織の成長に合わせてデータを拡張できるようにするため、組織にとって不可欠です。AI、machine learning、高度なアナリティクスは、適切に設計されたデータと信頼性の高いパイプラインをデータエンジニアリングに依存しています。強固なデータ基盤は、時間と費用を節約し、チーム間のコラボレーションを可能にし、データを競争上の優位性に変えま す。
データエンジニアは、異種のソースからの生データを、実用的な知見を得るために使用可能なデータに変換します。アナリスト、データサイエンティスト、経営幹部、マーケティング、製品/事業チーム、API、アプリをサポートします。トレーニング データセットの作成、特徴量パイプラインの維持、アクセス制御、リネージ、ドキュメント化、データ品質チェックを実装します。
従来のデータベースやアドホックなスクリプトでは、構造化データと非構造化データの両方の膨大な量に対応できなくなったため、データエンジニアリングは不可欠な分野として登場し、成長を続けています。クラウドコンピューティングは、安価でスケーラブルなストレージ、柔軟なコンピュート、マネージド分散システムを可能にするために登場しました。これらはすべて、大規模な分散データパイプラインに必要です。リアルタイム、AI、機械学習のユースケースは拡大を続け、データガバナンス、セキュリティ、コンプライアンスが必須となりました。データは中核的な資産となり、戦略を推進し、収益に関する意思決定に影響を与えるようになりました。
データパイプラインは、ソースから宛先へとデータを移動、変換、管理するための自動化されたシステムであり、データが信頼でき、すぐに使用でき、大規模に繰り返し利用できることを保証します。信頼性の高いパイプラインは、最新のデータが常に時間どおりに流れ、信頼でき、タイムリーな知見を可能にすることを確実にするために不可欠です。この自動化されたプロセスを使用して、データの組み立てラインのように機能します。
データソース → 取り込み → 処理/変換 → ストレージ → サービング/アクセス
トレーニングのプロセス
パイプラインは、アプリケーションデータベース、マーケティングプラットフォーム、API、イベントストリーム、ファイルなどのデータソースからデータを取得します。データはその後、収集、検証され、バッチまたはリアルタイムで中央システムに移動(取り込み)されます。
取り込まれたデータは、乱雑なフィールドのクリーンアップ、形式の標準化、データセットの結合、メトリクスと集計の作成によって、生データからアナリティクス対応データに変換されます。処理済みのデータは、データウェアハウス、データレイク、データベース、アナリティクスツールに保存されます。
パイプラインはスケジュールまたはTriggerで実行され、さまざまな宛先にデータを供給し、依存関係を処理し、失敗時に再試行し、問題が発生した場合はアラートを送信します。データ パイプラインは通常、データの移動方法、移動のタイミング、使用目的によって分類されます。
顧客行動を追跡する e コマース企業のパイプラインの例は、次のようになります。
データエンジニアリングは、一度に多くの種類のデータを整理し、理解するのに役立ちます。データエンジニアリングは、それぞれのデータタイプを利用可能にし、それらを連携させるための構造を提供します。これらのデータタイプには以下が含まれます:
データエンジニアリングが存在する主な理由は、データの多様性が増すと、画一的なストレージと処理がすぐに破綻するためです。構造によって、データのクエリー方法が決まります。
固定スキーマと予測可能なフィールドおよびリレーションシップを持つ構造化データは、リレーショナルデータベースやデータウェアハウスに保存できます。フィルタリ ング、集計、結合などの単純な変換は、SQL で適切に処理できます。
時間の経過とともに変化する可能性のあるフィールドを持つ半構造化データは、半構造化をサポートするデータレイクやウェアハウスに保存するのが最適です。非構造化データ(事前定義されたスキーマのない大きなファイル)は、オブジェクト ストレージ(データレイク)に保存するのが最適です。テキスト分析、画像特徴抽出、機械学習パイプラインなどの複雑な処理には、特殊なツールと計算能力が必要です。
現代の組織は、保有するデータ資産を最大限に活用するために、3 種類のデータタイプすべてを扱う必要があります。
データ エンジニアリングのライフサイクルは、データが作成から消費までどのように移動し、時間の経過とともに継続的に改善されるかを説明します。データ移動の 6 つの段階:
ETL(抽出, 変換, ロード)は、データをクリーンアップして一貫性のある使用可能な形式に変換し、ストレージに読み込んだ後、ソースシステムからターゲット システム(通常はデータウェアハウス)にデータを移動するために使用されるデータ統合プロセスです。
生データは乱雑で一貫性がなく、分析に適していないため、変換は不可欠です。ソースシステムは、重複、欠損値、不整合な形式、異なる命名規則を含むデータを生成します。データは、異なるスキーマを使用し、異なるビジネスルールを適用し、値を異なる方法で保存するさまざまなソースから取得される場合があります。変換によってビジネスルールが適用されるため、メトリクスは組織全体で同じ意味を持ちます。
一般的な変換タスクには、データクレンジングと検証、スキーマの調整と再構築、データエンリッチメント、形式の標準化、データの集計と要約、ビジネスロジックとメトリクスの作成、PIIのマスクと制限されたフィールドのフィルタリングを行うセキュリティとコンプライアンスのための変換が含まれます。
ELT(抽出、読み込み、変換)の代替アプローチ(データレイク、クラウド データ ウェアハウス、最新のデータ アーキテクチャで一般的)では、生データを最初に読み込み、後で変換します。最新のwarehouseは、生データを大規模に処理し、変換を効率的に実行できます。ビジネス ロジックが適用される前に生データが保存されるため、新しいロジックで生データを再処理し、新しいアナリティクスや AI/ML のユースケースをサポートできます。
すべての意思決定、知見、自動化されたアクションは、その背後にあるデータ次第であるため、データ品質の確保は不可欠です。この「ガベージイン/ガベージアウト」の原則は、下流のすべての用途に適用されます。データが間違っていると、意思決定も間違ってしまい、組織は時間、信頼、収益を失う可能性があります。
データ変換ツールは、規模、複雑さ、変換が行われる場所によって異な ります。SQL は、シンプルで強力かつ保守性の高い言語として、データベース変換に一般的に使用されます。より複雑な変換やカスタム変換には、非表形式のデータ処理、カスタム検証ロジック、高度なデータ操作、機械学習の特徴量エンジニアリングのために Python、Scala、Java が使用されます。
大規模なデータ処理では、Apache Spark、Flink、Beam のような分散データ処理フレームワークを使用すると、単一のマシンの制限を超えるデータ量を処理できます。
バッチ処理では、データは一定期間にわたって収集され、スケジュール(時間単位、日単位、週単位)に従って一度に処理されます。これは複雑さが少なく、費用対効果が高いですが、データが蓄積されるためレイテンシが高くなり、時間に制約のある意思決定には不向きです。バッチ処理は、履歴傾向分析、財務報告、販売およびマーケティングダッシュボード、データバックアップ、定期的な集計に一般的に使用されます。
リアルタイム処理では、データは生成されるとすぐに、最小限のレイテンシ(ミリ秒から秒単位)で処理されます。これにより、即座の知見と迅速な自動意思決定が可能になりますが、構築がより複雑で、運用コストも高くなります。リアルタイム処理は、ライブ ダッシュボード、不正行為検出、アラートとモニタリング、リアルタイム レコメンデーション、株式取引、動的価格設定に一般的に使用されます。
レイテンシ、コスト、インフラストラクチャの複雑さの間のトレードオフがあるため、多くの組織はラムダ アーキテクチャと呼ばれるハイブリッド アプローチを選択し ます。これは、両方を組み合わせて、迅速な知見と正確で完全なデータの両方を提供します。ラムダ アーキテクチャでは、2 つの並列パス (1 つはリアルタイムの速度用、もう 1 つはバッチの精度用) でデータを処理し、その結果をマージして利用します。
バッチ、リアルタイム、またはハイブリッドアプローチのいずれを使用するかという決定は、ビジネスで何が可能か、そしてその実行速度を直接左右します。意思決定の速さ、リスク検出、または顧客のアクションへの対応が最重要である場合、リアルタイム処理はより高速で俊敏です。運用効率の観点から、バッチ処理は管理が容易で、インフラと人件費が低く、障害発生箇所も少なくなります。リアルタイム処理により、テストと学習のサイクルが速まり、イノベーションと差別化が促進されます。
実践において、バッチ処理はレポートの正確性や予測精度を保証し、一方、リアルタイム処理は顧客エクスペリエンス、アラート、自動化のための鮮度を保証します。ハイブリッドアプローチは、速度、信頼性、コストのバランスを取ります。
データ ストレージに万能な解決策はありません。スケール、パフォーマンス、コスト、アクセス パターンを最適化するために、さまざまなソリューションが存在します。ストレージ アーキテクチャの決定は、組織がデータを分析して機械学習モデルを構築する速さに影響します。
データウェアハウスは、構造化データに使用され、高速なクエリー、ビジネスアナリティクス、レポート作成に最適化されています。最新のデータウェアハウスは、ACID 保証付きのスキーマオンライト(データはストレージの前に変換される)を決定するため、メトリクスはクリーンで信頼できるデータで計算され、レポートの信頼性が向上し、クエリーのパフォーマンスが向上します。ほとんどのビジネスインテリジェンスツールは、安定したスキーマ、予測可能なデータ型、明確に定義されたリレーションシップを想定しているため、データウェアハウスは、速度と明確さが最も重要なダッシュボードや定期的なレポートシナリオに最適です。
データレイクストレージは、あらゆる種類の生データストレージ(構造化および非構造化の両方)を大規模に保存するのに優れています。データが読み取られるかクエリーされたときにのみスキーマが適用されるスキーマオンリードのデータモデリングアプローチは、探索的分析と機械学習に最大限の柔軟性を提供します。
新たに登場したデータレイクハウスアーキテクチャは、ウェアハウスのパフォーマンスとデータレイクの柔軟性の利点を兼ね備えています。構造化、半構造化、非構造化データ型と、低コストのストレージでのACIDトランザクションをサポートします。バッチ処理とリアルタイムストリーミングの両方、そして下流のユーザーに影響を与えることなくより高速なイテレーションを可能にする柔軟なスキーマ進化をサポートします。同じ統合データは、BIとダッシュボード、データサイエンス、machine learningに使用できます。
大まかに言うと、データ エンジニアリングはデータ基盤を構築し、データ分析は何が起こったか、その理由を説明し、データ サイエンスは何が起こるかを予測してアクションを推奨します。それぞれの分野で必要とされるスキルセットは異なりますが、そのすべてがデータドリブンな組織にとって不可欠です。
データエンジニアリングは、データフローのためのシステムとインフラストラクチャの構築に重点を置いています。中核となる機能には、パイプラインの作成、インフラストラクチャの管理、データの取り込みと整理が含まれ、下流の作業を可能にする信頼性が高くスケーラブルなデータシステムを提供します。
データ分析は、特定のビジネス上の質問に答えるためにデータを解釈することに焦点を当てています。中核となる機能は、データの分析、意思決定のための知見への変換、レポー ト作成、傾向やパターンの特定、ダッシュボードの構築、KPI やビジネスメトリクスの追跡などです。
データサイエンスは、予測モデルの構築、高度な分析的インサイトの抽出、自動化の推進に重点を置いています。主な機能には、統計分析、予測モデル、machine learningアルゴリズム、実験が含まれます。
3 つの分野は相互に依存し、補強し合っています。データエンジニアリングは、アナリティクスとデータサイエンスの成功を可能にする基盤を構築し、信頼性の高いデータパイプライン、スケーラブルなストレージとコンピュート、データ品質、ガバナンス、アクセスを提供します。
データ分析は、データエンジニアリングの出力を利用し、データを理解とビジネス価値に変換します。そして、データサイエンスは、信頼性の高い特徴パイプラインを構築するためにデータエンジニアリングに依存し、アナリティクスを予測と自動化へと拡張します。
| カテゴリー | データエンジニアリング | データ分析 | データサイエンス |
| 主な焦点 | データ インフラストラクチャの構築と保守 | データの理解と説明 | 結果の予測と意思決定の最適化 |
| 中心的な目標 | データの信頼性、アクセス性、スケーラビリティを確保する | データを知見に変える | データを予測と自動化に変える |
| 回答される主な質問 | データは利用可能で信頼できますか? | 何が、なぜ起きたのか? | 次に何が起こりますか? |
| 一般的な方法論 | ETL / ELT パイプライン、バッチおよびストリーミング処理、データ モデリング、オーケストレーションおよびモニタリング | 記述的分析、探索的データ分析(EDA)、KPI 追跡、ダッシュボード作成 | 統計モデリング、機械学習、実験(A/B テスト)、特徴量エンジニアリング |
| 扱うデータ | 生データ → キュレーションされたデータ | クリーンで構造化されたデータ | キュレートされた、特徴量としてすぐに使えるデータ |
| ツールとテクノロジー | SQL、Python、クラウド プラットフォーム、データ ウェアハウスとデータレイク、オーケストレーション ツール | SQL、BI ツール、スプレッドシート | Python、RML フレームワーク、統計ツール |
| 出力 | データ パイプライン、データモデルとテーブル、信頼性の高いデータセット | ダッシュボード、レポート、ビジネス知見 | 予測モデル、予測、レコメンデーション |
| 時間軸 | 現在と未来への備え | 過去と&現在の理解 | 将来の成果 |
| 成功の評価指標 | 信頼性、スケーラビリティ、データ品質 | 知見の正確性、導入、明確さ | モデルのパフォーマンス、ビジネスへの影響 |
| 主要なステークホルダー | アナリスト、データサイエンティスト、エンジニア | ビジネスチーム、経営陣 | 製品、エンジニアリング、リーダーシップ |
データエンジニアリングは、データを使用可能にすることで、これらのユースケースを強化するインフラを構築します:
データエンジニアリングは、ツールとテクノロジーが階層を成すエコシステムによって支えられており、それぞれがデータライフサイクルの特定の部分を解決しています。
オンプレミスのデータ インフラストラクチャは、爆発的に増加するデータの量と多様性への対応に苦慮していました。企業のデータセンターにある物理サーバーと固定ストレージには、高額な初期設備投資が必要でした。長いプロビジョニング サイクルと手動でのスケーリングおよびメンテナンスにより、データ エンジニアはパイプラインの構築よりもインフラストラクチャの管理に多くの時間を費やすことになりました。
企業は、より迅速な知見の提供、迅速な実験の実現、新しいソースからの非構造化データや半構造化データの処理といった、俊敏性とスピードのニーズを満たすために、クラウドベースのデータシステムに移行しました。
クラウドシステムにより、即時のスケール(アップまたはダウン)、ストレージとコンピュートの分離、従量課金制が可能になりました。データエンジニアがデータ ロジックに集中するようになったため、データウェアハウス、ストリーミング システム、オーケストレーションのフルマネージドサービスによって運用上のオーバーヘッドが削減されました。
クラウドの導入により、ELT、データレイク、レイクハウス、serverlessおよびイベント駆動型パイプラインなどの新しいアーキテクチャ パターンが可能になりました。企業は、ほぼリアルタイムの**アナリティクス**、セルフサービス データ、大規模な AI と ML、より速いイノベーション サイクル、総所有コストの削減を実現し、データを戦略的資産にすることができました。
データ エンジニアリングという分野は、初期にはデータベース管理、そしてデータ ウェアハウジングから発展しました。データベース管理者は、オンプレミスのリレーショナル データベースのスキーマ設計、インデックス管理、バックアップとリカバリの確保、パフォーマンスと可用性の維持を担当していました。
データウェアハウジングの台頭により、中央集権型の分析データベース、ETL プロセス、スタースキーマとスノーフレークスキーマ、バッチベースのレポート作成が導入されました。しかし、その作業は依然としてスキーマオンライトであり、綿密に計画された硬直的なものでした。DBA とウェアハウスの実践は、ストリーミング データ、弾力的なスケール、複雑なパイプライン、迅速なイテレーション向けには構築されていませんでした。
ビッグデータとクラウドは、従来のオンプレミス データセンターに取って代わり、バッチ処理のみからリアルタイムおよびストリーミング アーキテクチャへの新たなシフトをもたらしました。新しいフレームワークにより、分散ストレージとコンピュート、スキーマオンリード、新しい処理パラダイムが導入されました。データシステムは、単なるデータベースではなく、エンジニアリング システムになりました。
データエンジニアリングは進化を続けています。データソースは増え続け、リアルタイムのユースケースは拡大しており、AI と 機械学習 は強力でアジャイルなデータ基盤に依存しています。規制要件が厳しくなるにつれて、データ品質とガバナンスへの注目が高まっており、セルフサービスアナリティクスプラットフォームを介した組織全体のデータアクセスへのニーズも高まっています。
データパイプラインは、単なる内部の配管以上のものになりつつあります。組織は、定義されたコンシューマーとユースケースを持つ「製品」としてデータを利用しています。データエンジニアリングは AI や 機械学習 との統合を深めており、Feature Store や リアルタイム の特徴量パイプラインが構築されています。
統合プラットフォームが、過度に複雑なスタックに 取って代わりつつあり、ツール間の引き継ぎの減少、運用オーバーヘッドの低減、開発の高速化を実現しています。データ品質への関心の高まりは、組み込みの品質チェック、エンドツーエンドの可観測性、プロアクティブな異常検知につながっています。自動化されたリネージ、スマートなオーケストレーション、自己修復パイプラインは、より少ない手作業で、より回復力のあるシステムを提供します。
データエンジニアリングは、生データのカオスを、整理され、スケーラブルで、信頼性が高く、アクセス可能な情報へと変換する、成長中の分野です。これにより、組織はデータドリブンな意思決定を行い、AIおよび機械学習モデルを構築し、市場の変化に迅速に対応し、データを製品として提供できるようになります。
データ量が爆発的に増加し続け、組織がデータからの知見への依存度を高めるにつれて、堅牢なデータエンジニアリング インフラストラクチャが不可欠になっています。それがなければ、データの断片化と信頼性の低いデータは、あらゆるアナリティクスおよび AI の取り組みを台無しにし、今日の競争が激しく規制の厳しいビジネス環境において壊滅的な結果を招く可能性があります。
データエンジニアリングの概念、プロセス、ライフサイクルアプローチ、そして実際の応用を理解することは、組織がデータインフラ、ツールの選択、アナリティクス戦略についてより良い決定を下すのに役立ちます。
データエンジニアリングに重点を置く組織は、より迅速に行動し、より賢明な意思決定を行い、データを競争上の優位性に変えることができます。
ブログを購読して、最新の投稿を受信トレイにお届けします。