@hihihiroroのLog

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

「クラウドデータレイク」を読んだ

読んでは止めを繰り返していたので時間がかかってしまったが面白かったので。
目次は以下。

1章 現実のものとなったビッグデータ戦略
2章 クラウド上のビッグデータアーキテクチャ
3章 クラウドデータレイクソリューションの設計で考慮すべきこと
4章 スケーラブルなデータレイク
5章 クラウドデータレイクアーキテクチャのパフォーマンスの最適化
6章 データ形式詳説
7章 アーキテクチャに関する意思決定のフレームワーク
8章 データに基づいて意思決定や戦略を形成するアプローチのための6つの手段
付録A クラウドデータレイク意思決定フレームワークのテンプレート

本書ではビッグデータについて6個のV が特徴として紹介されている。

  1. Volume(データ量)
  2. Velocity(スピード)
  3. Variety(多様性)
  4. Veracity(正確性)
  5. Variability(変動性)
  6. Value(価値)

数年前まではこのうちの上3つだけが特徴とされていたが、追加されたらしい。本書の英語版が2023/01 に発売されていたころでということは、今現在はさらに変更されているのかもしれない。
また、本書ではビッグデータアーキテクチャとして以下の4つが紹介されている。

  1. クラウドデータウェアハウス
  2. モダンデータウェアハウス
  3. データレイクハウス
  4. データメッシュ

それぞれについての説明は読んでもらえばわかりやすく書かれているのでここでは書かないとして、それぞれのメリット、デメリットやそれぞれのアーキテクチャの比較に付いてなどが書かれているので、一読してみるのは必要だなと思った。

全体を通して内容は、技術的な話や具体的な話は少ないので、読むにはあっさりした内容になっているなと思った。
ただ、Spark やいくつかのデータ形式(Delta Lake, Apache Iceberg, Apache Hudi) についてはちょっとだけ詳しく説明が書かれており、これらについての基礎知識を得るにはちょうどよい量だなと思った。本書の中ではデータ形式がそれぞれ適している場合を紹介してくれていた*1

  • Delta Lake ⋯ SQL的なクエリを実行するデータやバージョン管理が必要な機械学習モデル用のデータセットなどでお勧め
  • Apache Iceberg ⋯ 特定のデータ形式を要求せずにデータ構造の正しさが保証されるようにしたい場合にお勧め
  • Apache Hudi ⋯ リアルタイムとバッチの両方で高頻度の書き込みをしたい場合にお勧め

クラウドデータアーキテクチャを選んだ際のスケールについての話、パフォーマンス最適化のための話も書かれている。データが増えれば良いというわけではなく、利用者が使ううえで困らないためにパフォーマンスについても考える内容があるのはとても考えさせられた。
昔のデータ基盤はモニタリングなどに使われていたことが多かったと思うので、サービスレベルなどがなかったりしたものも多いが、レコメンドを行うなどがメインとなってくると速度や正確性を考える必要があるのだろうなと思った。そのあたりはアプリケーションを作る際と同様に考えていくべきものなのだろう。

また、コスト面についてや意思決定のためのフレームワークなども記載があった。このあたりは現場で働くメンバーよりも経営に関わる人や、意思決定をするマネージャなどに向けて読んで見てほしい内容だなと思った。

まとめ

  • データ基盤についてざっと全体像として勉強のために読むのが良さそう
  • 自分の提供する基盤で足りてないものや、考えなきゃいけないものを見直すのにちょうど良かった
  • 使いやすいと思ってもらえるアーキテクチャにするために色々やっていくぞ

*1:個人のまとめなので実はずれているかも