データパイプライン とは
自動化されたデータ処理フロー
データパイプラインとは
データパイプラインは、ソースからターゲットシステムへデータを抽出、処理、配信するための自動化されたステップシーケンスです。
パイプラインの種類
| 種類 | 説明 | 例 | |------|------|-----| | バッチ | スケジュールされたバッチ処理 | 日次レポート | | ストリーミング | リアルタイム処理 | IoTデータ、ログ | | ハイブリッド | バッチとストリーミングの組み合わせ | Lambda/Kappaアーキテクチャ |
パイプラインコンポーネント
- Source — データソース(DB、API、ファイル)
- Ingestion — システムへのロード
- Processing — 変換とエンリッチメント
- Storage — ストレージ(DWH、Data Lake)
- Serving — 消費者への配信
人気ツール
| カテゴリ | ツール | |----------|--------| | オーケストレーション | Apache Airflow、Prefect、Dagster | | ストリーミング | Apache Kafka、Spark Streaming | | バッチ | Apache Spark、dbt | | クラウド | AWS Glue、Azure Data Factory、GCP Dataflow |
ベストプラクティス
- 冪等な操作
- 指数バックオフでのリトライ
- データリネージとモニタリング
- 取り込み時のスキーマ検証
- パフォーマンスのためのパーティショニング
エラーハンドリングパターン
- 失敗レコード用のDead Letter Queue
- アップストリームシステム用のサーキットブレーカー
- リカバリー用のチェックポイント