前提
- Cloud Composer:AirFlowのマネージとサービス、Data flow:ET Lやパイプラインで使う、DataProc:Apache Beam
BigQuery
- 承認されたビュー (Authorized view) とは、利用者に対して ビューへのアクセス権限を与える が ビューの元となるテーブル自体へのアクセス権限は与えない ことにより、アクセス制御を楽にしたり、見せるデータの粒度を制御したりできる機能
- Big Queryでは、標準SQLとレガシーSQLが使えます。基本は標準SQLを使います。
Pub/Sub
- PubSubはDataFlowと連携させることが多いです
Dataflow
- タンブリングウィンドウ、スライディングウィンドウ(ホッピングウィンドウ)、セッションウィンドウ
- ウォーターマークとは、決定されたウィンドウがシステムに到着したとみなすタイミングのこと。
Cloud SQL
- 上限は30TB
- 移行するときは、Database Migration Serviceを使う
- RDBでは、データが増えると自己結合の処理が加速度的に遅くなるので、素直にテーブルを分けておいた方が無難です
- 指数関数バックオフとは、データの送信処理のタイミングを失敗回数に応じて指数関数的に増やす仕組みのこと。
- リードレプリカとは、データベースの負荷分散のために作成される、参照専用の複製。あるデータベースの内容を複製したもので、データの追加や更新はできず検索や読み込みのみを行うことができる。
Cloud Functions
- 使える関数は、Python, Go, node.js, JAVA, PHP, Ruby, .Net Core
BigTable
- NoSQLのワイドカラム型DB。一見表形式だけどSQLはサポートしていない
- パフxーマンスは、書き込みレイテンシーとStorage使用率
- cbtコマンドを使う
- BigTableの行キーは、前方一致の検索に対応できるように前側に重要そうなものを持ってくるようにします
Data Proc(Apache Beam)
- サイドインプット 通常の入力のPCollectionに加えて、追加の入力をTransformに渡すことができる機能
- ParDoは、並列にTranformするための汎用的な処理関数
- DoFnは、ParDoの中でPCollection の1要素を処理するためのもの。信頼性向上のためにTryCatch構文でDoFnからPubSubにエラーを書き込むことは定石
- セッションウィンドウとは、最後にウインドウに入ったイベントから指定した期間を経過した場合に、別のウインドウに切り替わります。データがない場合はウインドウの間に空白期間が生まれます。
- Hadoopといえば、PigのPigLatin
- BigQueryコネクタ、Storageコネクタ、Cloud SQLコネクタはある。SpannerとBigTableにはコネクタで接続できない
- Cloud Storageコネクタを利用すると、Storage内のデータに対して、HadoopやSparkの処理を直接実行できる。Hadoop分散ファイルシステム(HDFS)よりもだいぶ楽になる。
App Engine
- app engine cronサービスを使うと、Cron処理できる
Storage
- transfer applianceとは、大容量データのセキュアな転送サービスです。
- Storageとローカルで同期させたいなら、gsutil rsyncでいける
BigQuery
- パーティション とは、 BigQuery の一つのテーブルを、特定の列の値を基準にして内部的に複数パートに分割する機能
- GeoJSONが使える
Cloud Spanner
- ホットスポットとは、連続的に保存されたデータをプライマリーキーとしたときに、物理的に同じ場所にアクセスが集中してパフォーマンスが落ちること。なのでCloud Spannerでは、ランダムな値を格納したカラムを用意して、それをPKとするのがベストプラクティス
Cloud Key Management
- 暗号化で使う
その他
- コードを使わないなら、Vertex AI Workbenchを使う
- Cloud DataprepジョブをCloud Dataflowテンプレートとしてエクスポートして、Cloud Composerジョブとして組み込めます。プログラム一切書かなくてよし。
- Cloud Monitoringでは、ネットワーク接続、ディスクIO、レプリケーションの状態といったカスタムメトリクスは収集できません。従って、Open Censusを使って取得します。
- redisとは、メモリにKVストアで保存する非リレーショナルDBのことです。
- L1正則化よりL2正則化の方が使う頻度は高いし精度も上がる。しかし、L1正則化を使うと重要でない説明変数の係数を0にしてくれるので、どの変数が重要か見極めるのに使える。