kakakakakku blog

Weekly Tech Blog: Keep on Learning!

データエンジニアリングライフサイクルのステージと底流とは /「データエンジニアリングの基礎」を読んだ

2024年3月に出版された「データエンジニアリングの基礎」を読んだ📕

仕事で取り組んでいることに関係していて,何かしら新しい気付きや発見があれば良いな〜と思って読んでみたけど,期待以上に素晴らしい一冊だった❗️データを取り扱うときに考慮すべきポイントが詳細にまとまっていて,一人で読むのもヨシ!データプロジェクトのメンバーと輪読会をして改善点を洗い出すのもヨシ!という感じで幅広く活用できると思う.

特に本書で重要なのは「データエンジニアリングライフサイクル」というフレームワーク(コンセプト)で,データを活用してプロダクトの価値に変えていくための「ステージ」「底流」から構成されている👌(図を引用できると紹介しやすいんだけど...!)特にデータエンジニアリングライフサイクルのあらゆる側面をサポートする横断的な観点を本書では「底流 (undercurrents)」と表現していて,以下の6種類から構成されていた.本書は全体を通して,データエンジニアリングライフサイクルの観点から解説されていて印象的だった.

  • セキュリティ
  • データ管理
  • DataOps
  • データアーキテクチャ
  • オーケストレーション
  • ソフトウェアエンジニアリング

技術的利害関係者

1章にデータエンジニアに関連する技術的利害関係者の紹介が出てくる.また11章の「職種名と担当範囲は変化する」では担当範囲の境界はますます曖昧になっているとも書いてある.データエンジニアリングライフサイクルを実現するために多くの役割が必要になることは理解できるけど,ある程度の企業規模じゃないとそこまで専任を置くことは難しく,今いるメンバーでどうオーバーラップして前に進めていくかを考えることも重要なのかなと個人的には思った😀また役割のトピックを読んでいて,AWS Well-Architected Machine Learning Lens の「MLOE-04: Establish ML roles and responsibilities」を思い出した.同じく Machine Learning Lens でも役割と責任の分離は明確ではなくオーバーラップすると書いてある.どういう役割が必要なのかを把握することはとても重要❗️

docs.aws.amazon.com

データエンジニアが ML について知っておくべきこと

役割という観点だと,9章で紹介されていた「データエンジニアが ML について知っておくべきこと」というトピックも良かった😃僕自身はアプリケーション・インフラ・DevOps(定義は曖昧だけど)など,ソフトウェア開発に必要なある程度の領域を幅広く得意としているけど,機械学習 (ML) の専門性はなく,ちょうど苦戦しているところだった.

もちろん本書の「まえがき」にデータサイエンティストでは対処できない問題があると書いてある通り,データエンジニアリングライフサイクルを実現するためには特に底流まわりを支援する必要があって,僕自身のスキルセットはフィットしそうだけど,さらに僕自身が機械学習 (ML) の理解を深めることでプロジェクトの価値にさらに貢献できるかなと思っていた.とは言え,どこまで深く理解するべきなのか・そもそも理解できるのかという不安もあり,まずは本書に載っている「知っておくべきこと」の中から理解が浅いところを抑えておきたいなと感じた.

良いデータアーキテクチャの原則

3章に出てくる「良いデータアーキテクチャの原則」は AWS Well-Architected Framework や Google Cloud の 5 Principles for Cloud-Native Architecture にインスパイアされたと書いてあったけど,データエンジニアリングに限らず重要な観点で,紹介されていて良かった👏 逆に普段からソフトウェア開発をしながらこういう原則を意識できていれば,データプロジェクトでも応用しやすいと思う.あと原則7に Jeff Bezos の「Two-Way Door(双方向ドア)」という表現が紹介されていたのもなつかしくて良かった❗️

  • 原則1: 共通コンポーネントを賢く選択する
  • 原則2: 障害に備える
  • 原則3: スケーラビリティ設計
  • 原則4: アーキテクチャはリーダーシップだ
  • 原則5: 常に設計し続ける
  • 原則6: 疎結合システムを構築する
  • 原則7: 可逆な決定をする
  • 原則8: セキュリティを優先する
  • 原則9: FinOps を活用する

aws.amazon.com

読書メモ

他に読書メモに残したことの一部を箇条書きにしておく❗️

  • タイプAデータエンジニアとタイプBデータエンジニア
  • CAO (Chief Analytics Officer): 最高分析責任者
  • CAO-2 (Chief Algorithms Officer): 最高アルゴリズム責任者
  • リバース ETL
  • DMBOK (Data Management Body of Knowledge)
  • The DataOps Manifesto
  • 履歴書駆動開発 (Resume Driven Development)
  • ゼロスケール (Scale to Zero)
  • データカスケード
  • アプリケーションと ML 間での緊密なフィードバック

誤植

  • P13: DMM (Data Management Maturity) のリンクが 404 になっていた
  • P23: 図1-12 の データアーキテクチャデータアーキテクト では?(原著では Data architects と書かれていた)

X ポスト🔗