見出し画像

データエンジニアリングの基礎 輪読会で得た知見 前編

みなさんこんにちは!ワンキャリアでデータエンジニアをやっている野田(Github:@tsugumi-sys)です!社会人になってからお酒にハマっております。ウイスキーと日本酒を好んで飲んでいます。案の定体重が増えてきました。さて、趣味の話はこれくらいにして本題に入っていきましょう。



はじめに

私はデータエンジニアとして、昨年の新卒入社からデータパイプラインの構築やユーザー行動計測に取り組んできました。今年に入り、データチームが発足し少人数での活動が開始しました。現在は、多くのメンバーがチーム兼任という形で活動しています。活動を進めていく中で、以下の課題が浮き彫りになってきました。

  • データエンジニアリングに対する理解度が人によってバラバラな状態。

  • 結果、各メンバーが手当たり次第に手を動かしてしまっている状態。

現在のデータチームは、データエンジニアリング経験の浅いメンバー主体のチームです。そこで、メンバー全員のデータエンジニアリングの理解度を向上させるために、「データエンジニアリングの基礎」の輪読会を始めることとなりました。本書を選んだ理由は、英語版での評価の高さと複数メンバーの購入タイミングが重なったためです。せっかくなら輪読会にしようという流れになりました。


輪読会の説明

輪読会は以下の形式で行いました。

  • 頻度:週1回・30分。

  • 量:2章分を目安に。

  • 規模:6名。

  • 内容:担当者が持ち回りで発表。フォーマット等は自由。

チーム兼任のメンバーも多いことから、負担にならない程度のボリュームで運用することとしました。初めての輪読会開催だったため、簡単なルールで楽に運用できる形を採りました。


前半(6章)までの学び

ここからは私なりの観点での学びを簡単にまとめたものになります。内容の省略や解釈の誤り等もあるかもしれませんがご容赦ください。

本書の前半では、データエンジニアリングの概要とデータの生成・保存に関する技術の紹介がメインのトピックでした。それぞれ学びになった点をざっくり紹介させていただきます。


データエンジニアリングの概要

データエンジニアリングの概要では、データチームを立ち上げようとしている組織にとって有益な情報が詰まっていました。特に学びになった点を箇条書きでまとめました。

  • データエンジニアリングとは、データを高品質かつ利用しやすい形で提供するためのプロセスの設計・開発・管理のこと。

  • データエンジニアリングの目的は、企業が有するデータの付加価値・利用性を高めつつ、コストやリスクを押さえてROIを最適化すること・競合優位性を生み出すこと。

  • データエンジニアリングは新興の領域で、不確実性が高いことから、まずは素早く小さく行動して付加価値を生み出していく必要がある。

  • データライフサイクルとは、データの生成から保存・取り込み・変換・提供までの一連の流れのこと。これらを構築する上で、データガバナンス(データの発見可能性・信頼性)やDataOps(自動化)、データアーキテクチャ、アクセス管理(セキュリティ・利便性)、FinOpsが重要な観点となる。

  • データアーキテクチャとは、企業のデータへの要求に答えるシステムの設計のことである。企業の進化に伴って、データ構造や利用方法も変わりうるため、データアーキテクチャも進化できる必要がある。

個人的な整理としては、ソフトウェアエンジニアリングで議論されてきた内容とデータエンジニアリングで議論される内容は本質的には変わらないということです。双方とも、投資によって得られるリターンを最終ゴールとし、事業のROIを最適化し競合優位性を得るために実践されるべきエンジニアリングが構造的に整理されていました。異なる点としては、データを利用する特性上、コンポーネントの切り分け(例:データライフサイクル)や観点が新しく追加されることです。


データの生成・保存に関する技術

データの生成・保存に関する技術に関しても、本質的な部分はソフトウェアエンジニアリングと同じになります。各設計パターンや類似技術を理解し、自分たちのユースケースにあった技術選択の意思決定ができるようになることが理想です。
特にデータエンジニアリングは新興領域であり、技術の流行り廃りが激しいです。未来も変わらないであろう基礎的な知識を確実に理解し、冷静に選択することが求められます。トレードオフをよく理解せず、安易に新しい技術を選択するデータエンジニアが多いことに対して、筆者は繰り返し危機感を覚えていました。
本書では技術的な内容に関しては網羅的に(浅く広く)紹介されていることが多かったです。より深掘りした内容を知りたい場合は、別書の「データ指向アプリケーションデザイン」を読むと良さそうです。具体的な技術の話はこのブログでは割愛させていただきます。


輪読会をやってみて

みんなでワイワイと楽しく議論できて非常に楽しい場です。また、良いアウトプットの場としても有効活用できており、効果的なインプット・アウトプットのサイクルが回せています。

自分の発表の際には、内容を解釈した上で自分なりの言葉で簡潔に説明することと、業務との繋がりを意識しました。個人的なメリットだけでなく、チーム全体の知識の整理・現状理解にも繋がっています。自分たちの会社の状況と本の内容を照らし合わせながら読み進めることで、差分がより明確に見えてきたのも良かった点です。データエンジニアリングに対するチームの解像度は読む前と比較して大きく向上したと思います。この調子で引き続き残りの章も進めていきましょ〜!

他の参加者の感想も簡単に載せておきます。


コメント欄でわちゃわちゃしながら進むので、一人で勉強しながら進めるよりも楽しく、その際に追加の知識も得られるのでためになっている。

リバースETLやセマンティックレイヤーを筆頭に初めて知る事柄が多く、大変勉強になりました。また、考慮事項に関しても多く今後参考になりそうだなと!

アーキテクチャから包括的にキャッチアップできて良書だなと思っています。

本としては細かいところまで網羅されていて、テキストを追うのが大変だった。 しかし、発表者の方々がざっくりとした要約をしてくださったお陰で概要は多少把握できるようになった。


終わりに

前編はこれにて終了になります。前編では、データエンジニアリングの概要の共通理解を進めつつ、データの生成・保存に関わる技術やアーキテクチャに関する基礎知識を網羅的に押さえることができました。
後編では、残りの内容をまとめて実践フェーズまで紹介できればと思います!それでは!


▼ワンキャリアのエンジニア組織のことを知りたい方はまずこちら

▼カジュアル面談を希望の方はこちら

▼エンジニア求人票

この記事が参加している募集

#オープン社内報

22,663件

この記事が気に入ったらサポートをしてみませんか?