@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「GoogleCloud ではじめる実践データエンジニアリング入門」を読んだ

データ基盤についての本が出ると聞いて楽しみにしていた本。

章立ては以下。

第1章 データ基盤の概要
第2章 BigQuery のコンセプトと利用方法
第3章 データウェアハウスの構築
第4章 データレイクの構築
第5章 ETL/ELT 処理
第6章 ワークフロー管理とデータ統合
第7章 データ分析基盤におけるセキュリティとコスト管理の設計
第8章 BigQuery へのデータ集約
第9章 ビジネスインテリジェンス
第10章 リアルタイム分析
第11章 発展的な分析

第1章でまずはデータ基盤についての言葉の定義や、データ基盤が必要になる意味などが説明されている。本書のタイトルにもなっているデータエンジニアリングは以下のように定義されている。

データエンジニアリング : データ基盤を構築、管理する技術
データエンジニア : データエンジニアリングを駆使し、ビジネスに価値をもたらす人

信頼性のあるデータがある基盤がありその基盤に対して適切な権限管理、データが適切に管理されていることでデータ分析はできるということが説明されている。データの分析方法や、SQLの説明など出口に関する本はたくさんあるがそもそもそれらを使うためのデータ基盤に関して詳しく書かれた本は珍しいのではと思った。

BigQuery

Google Cloud のDWH(Data Warehouse)。BigQuery を中心にデータ系ソリューションが考えられているのではないかと思うほどにどこの章を読んでも出てくる。
第2章ではBigQuery 自体の内部アーキテクチャが説明されている。ここを読むことでBigQuery がなぜ速いのかや苦手なことはなになのかを勉強することができた。
また、第7章では権限管理*1、監査、コストについて考えるべきことが書かれていた。BigQuery のシステムを運用することはないが、データへのアクセスやお金周りについて知ることができた。BigQuery を使っていく上で考えるべきことや、監視すべきことが勉強になった。

データ系ソリューション

データレイクに使うもの、ETL/ELTを行うためのもの、ワークフロー管理ツール、可視化ツールなどをGoogle Cloud Platform のサービスで実装するための紹介も詳しくされている。一例を上げると、データ処理サービスとしてのDataflow、マネージドHadoop/Spark サービスであるDataproc、ワークフロー管理のためのCloud Composer やデータ統合ツールのCloud Data Fusion などである。これらのサービスについての説明や、使う場面についての説明や実行例などが書かれている。同じようなサービスだが何が違うのか、どれを使えば良いのかなどの説明もされているのでとても勉強になる。

章末コラム

コラムの内容が興味深いし勉強になった。これだけでも読む価値があったのではないかと思っている。書かれているコラムは以下。

まとめ

  • データ基盤についての説明、実装するためのサービスの説明が詳しくされていた
  • 用語の定義がされているのが良かった。チームメンバなどと用語のすり合わせに使いたい
  • 権限、パフォーマンス、コスト、メタデータなど理解が浅いところが多いので現状の基盤とすり合わせながら勉強を続けたい
  • すごい、すごいのだが将来ベンダーロックインが怖いなと…

*1:アクセス制御がリソース階層の上の階層の設定を継承するのが辛い時がある。データセットで許可しているけど、一部のテーブルだけアクセスさせないなど下の階層でDeny せっていをしたい時がある