よしたく blog

ITエンジニアとして自分が知らなかったことをまとめています

「AWSではじめるデータレイク」を読んだ

AWS ではじめるデータレイク」を読んだ。 この本は、タイトルにもある通りデータレイクの説明を AWS の製品を軸にして語られている。 本の中身は 3 部構成になっていて、1 部で理論を、2,3 部でハンズオンが語られている。

今回ハンズオンは手を付けておらず、1 部の理論について読んだ。 その中で参考になった場所についてまとめておく。

AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門

目次

  1. データレイクの概念と知識
    1. データレイクの構築
    2. データレイクの活用
    3. データレイクの運用
    4. データレイクのセキュリティ
  2. データレイクの実践(基礎編)
    1. ハンズオンの概要 - ビジネスデータのデータレイク
    2. デートを可視化する
    3. サーバレスSQLによるデータ分析
    4. データを変換する
    5. データを分析する(データウェアハウス)
  3. データレイクの実践(応用編)
    1. システムの概要 - ログデータのデータレイク
    2. ログを集める
    3. ログの保管とカタログ化
    4. ログを加工する
    5. ログを分析する

1 章 データレイクの構築

まずはデータレイクの全体像から入り、それを AWS の製品でどう実現するかが語られていた。 その後はもう一度、データの収集、データの保存、データの変換といった詳細部分に話が移っていた。

少し気になった部分があり、まとめの以下の文章になる。

データレイクには「収集」「保存」「変換」「分析」の 4 つのコンポーネントがあります。

と書いてあった。 自分は「データレイクはデータの保管庫」という印象を持っており、他の 3 つの機能も含んでいる表現に違和感があった。 現時点でどちらが正しいかはわからないが、このように表現する人もいることを意識し、認識確認を怠らないように努めたい。

2 章 データレイクの活用

1 章はデータを使う前の段階までの工程の話だった。 2 章はデータを「誰が」「どのツールを使って」「どのようにデータを利用するか」について重きをおいて話が進んでいる。

  • BI
  • SQL によるアドホック/探索的な分析
  • データウェアハウスによる複雑/定常的な SQL
  • Python/R による応用的な分析

ここでも AWS の製品の名前と具体的な使い方が上がっていて、わかりやすい。 データウェアハウスとデータマートの切り分け方やストリーミングデータの分析方法など、少し突っ込んだ部分にも触れられていてよかった。

3 章 データレイクの運用

1,2 章に関しては事前知識が合ったので、サラッと読んだ。そして、この本で一番知りたかった部分が、3 章と 4 章になる。 1 章の部分でも表現した「データレイクはデータの保管庫」という意識が自分にはあったが、実際に運用していくとイメージが沸かなかった。 もちろん、何でもかんでもデータいれることが悪いのはわかる。しかし、実際にどういう基準で運用していけば良いのかというのがわからなかった。

データレイクの「正常」を定義する として、次のようなものが挙げられていた。

他にもいくつか例が挙げられているが、導入段階でも上記のものを算出するためのどのようなデータが必要か、確認するのに役立ちそうだと思った。 障害が起きたときのために、度のサービスレイヤに対して監視をおこなわなければいけないのか確認したり、マネージドサービスであっても冗長化をどこまで考えなければいけないのかといった気づきを与えてくれた。

クラウド自体も障害を起こすことがあるので、データに関しても扱い方のレベルを変えると言った対策が必要であると感じた。 例えば、常にアクセスできなければいけないデータなのか、消失させていはいけないデータなのかといった部分の確認になる。

最後に、使われていないデータを確認するため、データカタログを使ってアクセス履歴を取得したり、加工の変遷をたどったりすることも重要と語られていた。 「クラウドで大容量のデータレイクなんだからいいのでは?」と思ったが、アーカイブや重複分の削除をおこなうことで、利用料を削減できるので塵も積もれば山となる理論に近いなと思った。

4 章 データレイクのセキュリティ

3 章と同じで、とても読みたかった章である。

最初にある

セキュリティというと、「どういった対策があるか」ということから考えがちですが、そうではなく、「どういった状況で誰から何を守りたいのか」という脅威の想定を最初に考えるべきです

という文章がとても気に入った。 実務の中でも「セキュリティ対策はどんなことをしなければいけないかな」と言った漠然とする質問から、果てしないリスクの可能性を探しに行くことがある。 しかし、自分ごととして捉えるような、自分たちの場合だとどうなのか具体的な状況を想定することでとても建設的な議論がおこなえるように感じた。 これはセキュリティ対策以外でも、今後使っていこうと思った。

早速具体的なデータレイクの運用を想定し、「通信経路」「暗号化」「権限管理と統制の手法」について述べられている。 安全にするため暗号化しましょうという話だけでなく、暗号化の処理で発生するオーバーヘッドについても考慮しようと言ったことも書かれている。 また、ソフトウェアを使った場合のライセンス料などにも目を向けようと言ったことも書かれていて、こういう部分を無視しない姿勢に好感が持てた。

アクセス権限の部分に関しても、利便性とリスクは比例関係にあるので、バランスが大切になると言った話がされていた。 ガードレールのようなものと意識するとわかりやすいと例が示されていて、自分も誰かに説明するときは使わせていただこうと思ったぐらいだ。

まとめ

AWS ではじめるデータレイク」はデータ分析基盤の構築や運用を検討している人にはとても参考になる本だった。 4 章分だけで 130 ページ近くになり、データレイクを学びたい人にとっても有用であるが、AWS での構築を検討している人には残り半分のハンズオンも参考になり価格以上の価値を見いだせると思う。 自分は普段 AWS を使っていないことと、個人利用の無料枠を使い切ってしまっているので、割愛したが時間とお金に余裕がある時に手を付けてみようと思う。