@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 せっていをしたい時がある

「アジャイルなチームを作るふりかえりガイドブック」を読んだ

ふりかえり大好きな気持ちが伝わってくる本。

最近はあまりやってないがふりかえりって最初に参加者として実施していたときはなんでやっているんだろうと思いながらやっていたことを思い出した。本書ではふりかえりの意味の説明から入っている。1つのチームが失敗していたふりかえりをどんどん楽しみながらすすんで行うようになっていく物語として書かれているのでとても読みやすかった。

4部構成になっておりそれぞれが基礎編、実践編、手法編、TIPS編となっている。
ふりかえりをやっていない人にも、ふりかえりをやっていて困りごとがある人にでも読んでためになる箇所がいっぱいあると思った。僕自身は最近まったくふりかえりをやっていなかったのだがオンラインでの仕事も1年近くになってきて徐々に仕事でのミスが増えてきていると感じている*1。そのことに対してチームメンバとどうやって解決策を探したり話したりしようかなと考えていたところに本書が発売しているのを見つけたので読んでみた。

読んでみてふりかえりから得られそうな効果に期待が高まっているので再びやってみようと思っている。ふりかえりの手法などはあまり知らなかったが本書には20ものふりかえり手法が紹介されておりチームに合うものを試して見つけてみようと思った。

ふりかえりとは関係ないが自分のチームでは1年半ほど前からSlackにチームメンバだけのチャンネルを作り感じたことや質問に感情をつけて投稿してもらうように試してみている。
試して感じたのは人によって起こる感情が違うことだった。僕だったらそこは納得するけどこの人は悲しむのかなどメンバの受け取り方が分かって面白い。これによって言葉遣いやお願いする仕事を気にするようにしている。
本書でも感情はふりかえりの大事な要素の1つと書かれており、ふりかえりを行うときにも感情についても共有してもらえるような会にしたいなと思った。

まとめ

  • なんとなくやっている時になんでやるのかを思い出せそうだなと思った
  • ふりかえりの手法が20種類載っているので試してみたいと思った
  • 表紙を黄色くできなくなてかわいそうにと思った*2
  • 「楽しいふりかえり」の世界に参加したい

*1:オンラインのせいではないのだろうけど

*2:著者紹介に「黄色い人」とあるので

「スケーラブルデータサイエンス」を読んだ

読み始めるとガツンとくる言葉から始まる

データ分析の主目的は、より良い決定を下すことです。分析結果に基づいた意思決定が必要なければ、そもそも、分析に時間を費やす必要はありません。
<スケーラブルデータサイエンス p.1>

第1章 データに基づくより良い意思決定
第2章 クラウドでのデータの取り組み
第3章 魅力的なダッシュボードを作成する
第4章 ストリーミング・データ処理
第5章 インタラクティブなデータ探索
第6章 Cloud Dataproc によるベイズ分類器
第7章 Spark によるロジスティック回帰分析
第8章 スライディングウィンドウによる集計処理
第9章 TensorFlow を用いた分類モデル
第10章 リアルタイム機械学習
付録A 機械学習データセット内の機密データに関する考慮事項

本書ではデータ分析の目的を正確な意思決定をシステマティックに行うことをデータドリブンな手法で支援することと定義している。この目的を達成するためにデータエンジニアという役割の説明をしている。
データエンジニアにはデータベーススキーマの設計、SQLクエリの作成、機械学習モデルの構築、データ処理パイプラインのコーディング、これらのスケールアップの方法を考える必要があると言っている。ただし本書ではGoogle Cloud Platform のマネージドサービスを使うことで容易になったと説明して様々なツールの説明、使い方の紹介をしている。

フライトの遅延状況によって会議をキャンセルしたほうが良いかという問題を元にGoogle Cloud Platform のサービスを実際に動かしながら問題を解決していくのを試すことができた。データを取り込み、ダッシュボードを作成し、データの取り込みをリアルタイム連携する練習をし、インタラクティブにデータ探索をする環境を作り、機械学習モデルを構築し処理を行うことを順番に試せた。

Google Cloud Platform を使うことでインフラを開発すること運用することをあまり細かく考えることなく動かすことができることを体験できた。動かす環境を作成するのは問題ないけど、何度でも簡単にそして誰でも作れることやどれを使って作るかなどを考えることは引き続き必要になると思う。今の自分の興味は使うためのデータを集める、見つけやすくする、安全なことを担保するなどなのでまた他にも勉強をしようと思った。

まとめ

  • データ分析の目的を決めて共有するのは大事だなと思った
  • Google Cloud Platform のデータに関するサービスを知ることができるのが良かった
  • 用語が自分で思っていたのと違ったので今後うまく統一化されていかないかなー

「[増補改訂]ビッグデータを支える技術」を読んだ

2018年に読んだ本の改訂版が出ていたので読んでみた。 hihihiroro.hatenablog.com

第1章 ビッグデータの基礎知識
第2章 ビッグデータの探索
第3章 ビッグデータの分散処理
第4章 ビッグデータの蓄積
第5章 ビッグデータのパイプライン
第6章 ビッグデータ機械学習
第7章 [実践]ビッグデータ分析基盤の構築

大きく変わった点としては機械学習の章が増えていた。特徴量ストアやMLOps についての説明がされている。改訂前ではデータを集め、保存し、処理してマート化し、可視化をしていた。本書ではこれらのデータを用いた機械学習フレームワークを実現するための方法が少しだけ書かれている。昔に比べてデータが使われるようになってきたということなのだろう。

改訂前を読んだときはデータを貯めてクエリを投げることだけをするシステムを作っていた時だったのでマート作成やデータフロー、ワークフローなどについてはそういうのを気にする必要があるのかと思いながら読んでいるだけだった。今はデータエンジニアとしてデータパイプラインの整備をしていることもあり自分の身にかかってくるものと思って今回は全章読み込めた。

改訂前と同じく用語や技術についての説明、それぞれの工程で気にするべきことその対策についてなどが細かく書かれている。データに関わっている人たちに読んでもらって用語の統一などが大事だなと思った。同じ話をしているはずなのに、話が噛み合わないときなどがあるので前提として用語についてはズレがないようにしたいと思うことが多い。本書のように説明する資料を社内で作ってあると良さそうだなと思った。

40を超えるコラムが載っておりそれぞれが面白かった。所々に参考資料のURLが載っているので調べたくなったらそのURLをたどっていけば詳しく調べることができそうで良かった。いくつかの事柄については知らないこともあったので辿らせてもらった。

またタイトルに有る「ラップトップ1台で学ぶデータ基盤のしくみ」は本書で紹介されている技術のいくつかを用いてローカルで試す7章によるものだと思う。ここで簡単なETL作成、クエリ実行、ダッシュボードによる可視化、ワークフローでの実行などが試すことができるので、読んだ内容について試すことができて良かった。

まとめ

  • データの取得から可視化まで図解込み、説明ありで紹介されていた
  • データパイプラインについての知識補完ができそう
  • 支える技術がわかるのでちゃんとした勉強は他の本でもやっていこう

「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築」を読んだ

色が黄色で目立っていたし、さわって学ぶというタイトルが気になったので読んでみた。

第1章 コンテナの仕組みと利点
第2章 Docker を利用できるサーバーを作る
第3章 5分でWeb サーバを起動する
第4章 Docker の基本操作
第5章 コンテナ内のファイルと永続化
第6章 コンテナのネットワーク
第7章 複数コンテナをまとめて起動するDocker Compose
第8章 イメージを自作する
第9章 Kubernetes を用いたコンテナ運用

Docker のインストール方法から始まり、Docker を起動するためのWeb サーバの構築、Docker を使ってのWeb サーバ起動するところから、ファイルの永続化、ネットワーク、コンテナイメージについて順番に学ぶことができる。
ただのDocker だけではなく、複数コンテナをマネージドするためにDocker Compose やKubernetes についての説明までされている。それぞれについて、ただ読むだけではなくタイトル通りに自分の手を動かすことで順番に試していくことができる。

本書が他と違うのはDocker Desktop での作業をすすめるのではなく、AWS 上のEC2 を構築してその上で実行するようにしているのは珍しいなと思った。Kubernetes についてもAmazon EKS での始め方が書かれている。また、EKS のようにマネージドを紹介しているので試す際にも自分でインストール作業などあまり必要としない minikube での環境構築がされている。

まとめ

  • 難しい部分に関しては省略されていたりコラム化されていたりで読みすすめやすかった
  • Docker の内容について思い出す人とかにちょうど良さそうだと思った
  • AWS を使っての話がでていたのが他の本との違いかなと思った

たった1日で基本が身に付く! Docker/Kubernetes超入門

たった1日で基本が身に付く! Docker/Kubernetes超入門

  • 作者:伊藤 裕一
  • 発売日: 2020/07/13
  • メディア: 単行本(ソフトカバー)

「仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん」を読んだ

【特典付き】仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

【特典付き】仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

  • 作者:小笠原種高
  • 発売日: 2021/02/01
  • メディア: 単行本(ソフトカバー)

若手エンジニアやバックエンドに詳しくない人向けの本だとのこと。
内容としてはDocker について詳しくなるためのものではなく、概要がわかるところまでを目指しての本になっているみたい。

Chapter1 Docker とは何だろう
Chapter2 Docker が動くしくみ
Chapter3 Docker を使ってみよう
Chapter4 Docker にコンテナを入れて動かしてみよう
Chapter5 Docker に複数のコンテナを入れて動かしてみよう
Chapter6 応用的なコンテナの使い方を身につけよう
Chapter7 Docker Compose について学ぼう
Chapter8 Kubernetes について学ぼう

Docker のしくみの説明から始まりインストール方法と続き基本的なコマンドのハンズオンが始まる。本書では基本的なコマンドとして、コンテナの作成・削除と起動・停止、コンテナとの通信、コンテナ作成。イメージの削除をあげている。

Chapter6 より先ではボリュームのマウントやコンテナのイメージ化、Docker Compose、Kubernetes の話などが書かれている。この辺については読む人によって必要なもの、楽しめるものが違うので自分の状況にあわせて読んでくださいとなっている。特に、仕事で使わない場合は「自分の楽しさと相談してください」となっていたところが僕が本を選ぶ理由と一緒だなと思った。仕事で使うからやこの分野を知っておかないと困るから以外で技術本を読む場合は興味あるからの理由で買っている。今後もこの気持で本を買っていこうと思った*1

まとめ

  • Docker って何?って人を対象になっている
  • ハンズオン形式なので読みすすめればコマンドを試せる
  • Kubernetes については簡易な説明なので興味あれば他の本を読むのが良い

*1:積読をなくしている最中のはずだけど

202101 振り返り

在宅勤務が始まってそろそろ1年がたつ。
会社携帯と楽天モバイルのみでの生活にもそろそろ辛さを感じるようになってきた。インターネットをちゃんと引きたいと思ってきた。そのためにまずは引っ越しをすることを考えている。会社に行くこともなくなったので会社の近くへの引っ越しを考えることはなくなった。何を基準に選ぼうかを考えている最中になる。
最近は本を読むことが楽しくなってきた。ポッドキャストを聞きながら本を読むこともできるようになってきたのでこれからも続けていこうと思っている。今年は前半はインプットを後半はできればどこかで発表するようなことがあれば良いなと思っている。

ちなみに最近聞いているポッドキャストはこちら。 note.com

べんきょうかい

比較的大きいイベントが多かった。
去年のRSGT からチームで始めた、チーム内だけで見れるSlack チャンネルにその時の感情と一緒に思ったことを投稿するやりとりがまだ続いている。やったことは思い出せるけどその時どう感じていたかも思い出せるので面白い。
July Tech Festa は仕事内容に近い話が聞けるのでいつも楽しみにしている。聞けなかったけど気になるセッションもたくさんあるのでビデオが公開されたら見ていく。
www.youtube.com

ほん

本を読む週間が身についてきた気がする。
積読になっている本を読むとなんで買った時すぐに読まなかったのか、今だからわかるわってタイミングによって受け取り方が全然違うことが分かって面白い。
何回も読み直したいなって思っている本はちゃんと持っておこうと思った。
そしてとある人の影響で攻殻機動隊の本を読み漁っている。久しぶりでとても面白い。読みすすめていこうと思っている。

読み方はちょっと違ったけど買い方については似たようなもんだなと思った。

えいが

今年は実家に帰ることがなかったので元旦から映画を見に行ってきた。
映画を見に行くのは出かけるモチベーションのひとつなので今年も見ていこうと思う。

ぶろぐ

イベントでスタッフやったのでその感想と、いつも通り読んで気になった本について少しだけ書くようなことをしていた。
今年の前半はインプットを今まで以上に頑張っていくぞ。
それによって積読を減らすことをやっていき。

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com

hihihiroro.hatenablog.com