データエンジニアリング MOC

1. データエンジニアリング入門 MOC

2. データモデリング (Data Modeling) MOC

3. データ収集とインジェスト (Data Collection and Ingestion) MOC

  • データインジェストのパターン
    • [[バッチインジェスト (Batch Ingestion)]]
    • [[マイクロバッチインジェスト (Micro-batch Ingestion)]]
    • [[ストリーミングインジェスト (Streaming Ingestion)]]
  • データソース別の収集方法
    • [[リレーショナルデータベースからのデータ収集]]
    • [[Web APIからのデータ取得]]
    • [[ファイル (CSV, JSON, XML, Log) のインジェスト]]
    • [[イベントストリームのインジェスト (Kafka, Kinesisなど)]]
  • データインジェストツール
    • [[Fluentd / Fluent Bit]] (ログ収集)
    • [[Apache Sqoop]] (Hadoopエコシステム)
    • [[SaaSベースのデータインテグレーションツール]]
      • [[Fivetran]]
      • [[Stitch]]
      • [[Airbyte]] (オープンソース)
  • データインジェスト層の設計 (スケーラビリティ、耐障害性、監視)

4. ELT パイプライン MOC

  • ETL (Extract, Transform, Load) MOC
    • [[ETLのプロセスフロー (抽出→変換→ロード)]]
    • [[ETLの伝統的なアーキテクチャとツール (Informatica, Talendなど)]]
    • [[ETLのユースケースと課題]]
  • ELT (Extract, Load, Transform) MOC
    • [[ELTのプロセスフロー (抽出→ロード→変換)]]
    • [[ELTが主流になった背景 (クラウドDWHの台頭)]]
    • dbt (data build tool) MOC
      • [[dbtの役割 (データウェアハウス内でのT(変換)に特化)]]
      • [[SQLベースのデータ変換、テスト、ドキュメンテーション]]
      • [[アナリティクスエンジニアリングとdbt]]
  • ETL vs. ELT の比較 MOC
    • [[処理場所 (中間サーバ vs. DWH)]]
    • [[データ量と柔軟性]]
    • [[ツールとスキルセット]]
  • リバースETL (Reverse ETL) MOC
    • [[DWHから業務システム (Salesforce, Marketoなど) へのデータ同期]]
  • データパイプラインの設計
    • [[冪等性 (Idempotency) の確保]]
    • [[エラーハンドリングと再試行ロジック]]
    • [[依存関係の管理]]
    • [[モニタリングとアラート]]
  • (オプション) Apache NiFiによるデータフロー自動化

5. データストレージとウェアハウジング MOC

5.1. データウェアハウス (DWH - Data Warehouse) MOC

  • DWHの定義と目的 (分析目的で統合・整理された時系列データのリポジトリ)
  • DWHの4つの特性 (S.I.T.V)
    • [[主題指向 (Subject-Oriented)]]
    • [[統合 (Integrated)]]
    • [[時系列 (Time-Variant)]]
    • [[不揮発性 (Non-Volatile)]]
  • クラウドデータウェアハウス
    • [[Amazon Redshift MOC]]
    • [[Google BigQuery MOC]]
    • [[Snowflake MOC]]
    • [[クラウドDWHの特徴 (コンピューティングとストレージの分離、スケーラビリティ)]]
  • DWHのアーキテクチャ (インプレス、エンタープライズ、データマート)

5.2. データレイク (Data Lake) MOC

5.3. データレイクハウス (Data Lakehouse) MOC

5.4. データストレージのファイルフォーマット MOC

  • 行指向フォーマット
    • [[CSV, TSV, JSON]] (可読性、柔軟性)
  • 列指向フォーマット (カラムナフォーマット)
  • Apache Avro MOC (スキーマ埋め込み、行指向、スキーマ進化に強い)
  • フォーマット選択の基準

6. データ処理システム MOC

6.1. バッチ処理 (Batch Processing) MOC

6.2. ストリーム処理 (Stream Processing) MOC

6.3. データ処理アーキテクチャ MOC

7. ワークフローオーケストレーション MOC

8. データ品質とガバナンス MOC

8.1. データ品質 (Data Quality) MOC

8.2. データガバナンス (Data Governance) MOC

9. データエンジニアリングのインフラとツール MOC (再掲・集約)

10. モダンデータスタック (The Modern Data Stack) MOC

11. データエンジニアリングのベストプラクティスとアンチパターン MOC

  • ベストプラクティス
    • [[コードとして全てを管理する (SQL, パイプライン定義, IaC)]]
    • [[テストを徹底する]]
    • [[ドキュメントを整備する]]
    • [[モニタリングとアラートを設定する]]
    • [[スケーラビリティを考慮して設計する]]
    • [[コストを意識する]]
  • アンチパターン
    • [[データスワンプの構築]]
    • [[過度な最適化または最適化の欠如]]
    • [[テストとモニタリングの軽視]]
    • [[パイプラインの過度な複雑化 ("スパゲッティパイプライン")]]
    • [[セキュリティとガバナンスの無視]]

12. データエンジニアリングの将来とトレンド MOC