GCP PCA受験ノートまとめ

GCPのPCAに合格したので、合格をもらうまでまとめていた学習ノートをブログ形式でまとめていく。
前回のGCP PCA合格したよという記事でノートまとめまで書きたかったが、長くなったので、別記事にした。
内容は学習ノートなので乱雑、項目もノートを書き写しながらなので、随時更新追記していくだろう。

DataprocとDataflow

DataprocとDataflowの使い分けをしっかりする必要がある
どちらも大量にあるデータを短時間で処理するよというフレームワーク

DataprocはApache SparkやApache Hadoopなど、大量にある静的なデータを処理するもの。10TBの画像データを機械学習にかけるような、そういう用途に使われるもの。Hadoopが使用するファイルシステムのHDFSも知識として必要。OSのファイルシステムではなく、その上に独自でファイルシステムを構築して、大量データの単位時間あたりの読み書き速度を向上させているもの。インデックスを構築し直したようなものという認識。

DataflowはApache Beamのバックエンドで動作しているフレームワーク。こちらはストリーミングでやってくるような動的データの大量処理が得意。ストリーミングデータを並列処理させてリアルタイム分析できるというフレームワークの説明からわかるように、GCPでもストリーミングデータの処理→Dataflowがベストプラックティスという流れが定石。

同じようにストリーミングデータをどう処理するかというものにCloud Pub/Subもある。こちらも100%問題に出るようなフレームワーク。PublishとSubscribeの略。Pullでデータを持ってくるかPushでデータを送り出すか、どちらでも利用できて、どんな状況であってもデータを送受信できる→モバイルやIoTにも最適という特徴がある。

DataprocもDataflowも、大量データの処理はできるという点は同じ。そのため、やろうと思えば、Dataflowで静的データを処理させることも、Dataprocでストリーミングデータを分析させることもできる。何が違うかと言うと、料金が大きく変わる。(どれぐらい変わるかは調べてない)
餅屋は餅屋でやらせることがベストプラックティス(当たり前か)

Bigtable,BigQuery,CloudSQL,Datastoreの比較

殆どが、前述の 「GOOGLE CLOUD PLATFORM エンタープライズ設計ガイド」 に記載されていたデータウェアハウスの選択フローの通り。
PCAの試験に向けては、こう覚えていた

レイテンシ(スループット)重視→BigTable
時系列データ→BigTable
大量データ→BigQuery
分析処理→BigQuery
SQLクエリが使いたい(既存環境と変えたくない)→CloudSQL
データ量が10TB以上→CloudSQL以外
ユーザプロファイルなど消えちゃダメなやつ→Datastore
AppEngine関係→Datastore

分析のレイテンシを早くしたい場合等は、BigTableではなくBigQueryになることがあるが、だいたいこの順番で考えるとPCAは簡単だった。
未だにDatastoreの立ち位置がはっきりしてない。AppEngineのバックエンドだったり、データの整合性が重要なものはDatastoreという感じだろうか

同じデータウェアハウスとして、Spannerも重要だが、結構特殊。
Spannerに関して、どこかで特徴をまとめて書きたいが、これから業務に関係しそうで、書きにくい…
SQL文が使えて、大量データも扱える。それぐらいでいいんじゃないかなPCAに向けては

BigQueryの操作はbqコマンドで扱う。ビュー、テーブル、などBigQuery用語から、bq show、bq lsなどのコマンドオプションの知識も必要。

GCSの詳細

PCAの問題最頻出のGKEの次か同等ぐらいに多いと言われているのがこのGCS関係の問題。

バケットというオブジェクト管理で、1オブジェクト5Tまで扱える。GCS自体には無制限にデータをおける。
GCPはCUI操作だとgcloudコマンドにて扱うが、GCSはgsutilで操作する。

コメントを残す

メールアドレスが公開されることはありません。