データとエンジニアリングのよもやま話

データ活用が推進できるためのエンジニアリングに関するブログの筈..

No.37 Book Review - A Prescription for Practical Data Platform

かなり久々のブログ更新です。2021年も、いよいよ今日が最後の日ですね。
先日、@tetsuroito さんから「実践的データ基盤への処方箋」を頂きました。

冬休みの宿題(?)をかねて、簡単に感想等を書いてみたいと思います。
(あくまで、私個人の所感ですので、その点はご了承ください。)

本書のねらい

本書の冒頭にあるように、ビジネス価値を創出するために、組織で活用されるデータ基盤の構築・運用をどう推進していくかが本書のねらいだと思います。
そのために、データ基盤への取組みとして、「データ」、「システム」、「ヒト」の3つの観点で整理されています。

その3つの観点を1枚の絵として整理されたのが、本書の最初に提示されている、こちらの図のようです。
(以下の写真は、本書の「はじめに」のXページから引用させて頂きました。)
この絵だけでも、十分、本書を読む価値があると思います。

f:id:yuu_kimy:20211231152355p:plain
データ基盤の全体像

以下、各章のサマリ(と簡単な所感等含む)です。

第1章 データ活用のためのデータ整備

「データ」を組織的に活用していくには、何より、活用しやすい形式でデータが整備されている状態が非常に重要だと思っています。
そのデータ整備に必要な方策が丁寧に網羅されているのが本章です。
以下、本章のキーワードを幾つか抽出してみます。

  • データの一連の流れの把握
  • 用語の整理
  • データの品質の担保
  • データの生成過程を知る
  • マスタ、共通ID、履歴データの整備
  • ユースケースの見極め
  • メタデータの活用
  • サービスレベルの設定、計測
  • データスチュワードという役割の設定

本ブログでは、書かれていることの全てはご紹介できませんが、個人的に、印象に残った箇所を取り上げてみると、

  • 「早すぎる最適化」(基盤構築の最初から、データウェアハウス層をつくらない)
  • データ基盤のユースケース(=データ基盤の用途)の整理
  • サービスレベル定義の必要性

でした。他にも、データ整備に必要な観点や課題が整理されていて、どれも学びのある内容なのですが、
個人的には、上記の3つが、特にうなずける内容でした。
(早すぎる最適化については、反省しかなかったです..)

本章の最後で、「データスチュワード」というロールについて言及されています。
この言葉自体は、初耳だったのですが、「データ整備の推進」&「活用の相談窓口」という役割は、非常にしっくりきました。
データ基盤の利用者に近いサイドで、重要なユースケースを把握しながら、データ基盤で実装するべきデータ整備の旗振り、 日常の問い合わせ対応や活用の様々なサポートをするロールは、非常に重要だよな、と改めて感じた次第です。

第2章 データ基盤システムのつくり方

2章では、データエンジニアが、データ基盤をつくるのに必要な考え方や要素が書かれています。 まず、データ基盤の一般的なシステム構成が紹介されています。
(確かに、近年では、一定の型が出来上がってきたな、と個人的に感じています。)

本章の最初の方では、データ収集の方式が、丁寧に紹介されています。

  • ファイルデータの収集
  • APIによるデータ収集
  • データベースのデータの収集
  • ログデータの収集
  • 端末データの収集

ユースケース次第だとは思いますが、データ基盤へのデータ収集にあたっては、データベースからの収集パターンは非常に多いかと思いますので、 データベースからの収集で気をつけるべき点やそのための方策が纏まっているのは、とても参考になるかと思います。
また、ETL製品の選択のポイントやデータレイク(データを蓄積する貯水庫)の選び方、データウェアハウスに適した分析用DBの採用など、 データ基盤を構成する各コンポーネントについて、データエンジニアが知っておくべき観点が網羅されている章だと感じました。

現在では、既に、データレイクやデータウェアハウスの概念は、かなり浸透してきたと思いますが、

  • データがオンプレミスにあってもデータレイクはクラウドにする
  • データウェアハウスには、オペレーショナルDBではなく、分析用DBを採用する
  • クラウド上の分析用DBはデータソースと同じクラウド製品が自然な選択肢

といった構築上の観点が纏まっている点も良い点だと思いました。

補足:
最後の観点については、本章で、例外が紹介されていますが、データソースの環境がAWS(やオンプレミス)だとしても、 分析用DBには、GCPのBigQueryが採用されているケースは、確かに、よく聞くパターンだと私も感じています。
(最近では、プロダクト開発環境にGCPを採用するところも増えてきて、GCP-GCPという同じクラウド環境で、アプリケーションと データ基盤を構築するケースも見受けられるかな、とも感じています。)

本章の最後で、ワークフローエンジンが取り上げられているのですが、具体的な製品としては、Airflowのみが取り上げられている点が、 若干気になった点でした。他にもこういった製品があって、こういう癖がある、といった点もあると更に良かったかな、と感じました。
(本章にもあるように、現時点で、AWSGCPでマネージド化されているのは、Airflowのみであり、公開されている情報もかなり多いので、 Airflowが有力候補であることは完全に同意なのですが)

第3章 データ基盤を支える組織

最後の本章で、ヒトの観点として、データ基盤を支える組織について書かれています。これまでの章で登場してきた内容も大切ですが、 データ活用を組織に根付かせる、きちんと運用できる仕組みをつくる、という意味で、データ活用の「組織」は非常に大事だと思っています。

そのためにするべき方策として、

  • 組織の現状把握、活用成熟度のアセスメント
  • 状況に合わせたデータ活用組織の組織構造の採用
  • データ活用組織の成功に必要な要因の理解
  • 採用戦略(不足職種と人数の診断、採用計画の策定等)
  • データ活用とセキュリティ
  • 運用ルールのドキュメント化
  • データやツールの定期的な棚卸

といった要素や観点が書かれています。

上記を推進するにあたり、本書では、データ活用組織の組織長が念頭に置かれているのかな、と思うのですが、流石に、 組織長だけでは推進しきれないので、活用組織がチームとして取り組むべき項目になってくるかな、と思います。 ただ、活用組織がある程度成熟してくると、上記の観点は、どれも外せないので、活用組織のマネージャである方は、 その観点で、今後のロードマップを整理して、チームマネジメントに取り組んでいく必要があると思います。 そういった事項を整理していく上でも、本章は、かなり有用だと思います。

ふと思い出し:
@tetsuroito さんと同じ組織にいた頃、2人で採用に取り組んでいたことを思い出しました。
本書にあるように、「業務要件定義・募集要項の策定」、「採用媒体の選定」、「プロセスの標準化」、「採用活動の実施」、「振り返り」と確かに、このようなステップで取り組んでいました。
実行な可能な戦略を立てて、継続的に採用に取り組むことが大切と説かれいますが、まさに、その全てに関われたことは、とても有り難い経験だったな、と思う次第です。

全体を通した感想

データ基盤を実際に活用していくための処方箋が、各章とも余すところなくまとめられている本だと思いました。 それぞれの章で、データ基盤の構築・運用について、それぞれの観点(ロールと読み替えてもOKそう)でどう取り組むべきなのかが整理されていて、 データ系の職種の方はもちろんそうですが、非データ系の職種の方が読んでも、十分学びの多い内容になっているかと思います。
昨今、データ基盤に関する書籍は、だいぶ増えてきましたが、今後も役立つような汎用性の高いノウハウが凝縮されているのは、本書が初だと思いました。

本書の活用の仕方

それぞれのロールに該当する方が、自己に関する章を読んで、現状のできていること・できていないことの評価、ネクストアクションの検討に活用できるかと思いました。
また、新たにデータ活用を推進していく場合は、データ活用で目指すこととセットで、データ基盤のあるべき姿とそのためのロードマップ検討の教科書として活用するのも良いかと思いました。

最後に

「実践的データ基盤への処方箋」を頂けたことを改めて感謝致します。
(本ブログのタイトルに、本書の英訳をそれっぽく書いていますが、こちらは、ブログ記事の執筆者が個人的に書いたものですので、本書で正式に利用されているものではありません。 ご了承くださいm(_ _)m)