0. はじめに
前回はセキュリティ・ID管理系のサービスをまとめました。今回はその第6弾として、データ分析系のサービスを見ていきます。
BigQueryを筆頭に、Google Cloudのデータ分析系サービスは「サーバーレスでとにかく楽」という印象が強いです。AWSでいうとRedshiftやEMRあたりの管理の手間を知っていると、そのありがたみがよくわかるかと思います。
1. データ分析
| カテゴリ | AWS | Google Cloud |
|---|---|---|
| データウェアハウス | Redshift / Athena | BigQuery |
| 外部データソースへの直接クエリ | Redshift Spectrum / Athena連携 | BigQuery 外部テーブル (Federated Query) |
| SQLベース機械学習 | Redshift ML | BigQuery ML |
| Spark / Hadoop | EMR | Dataproc |
| ストリーム・バッチ処理 | Glue / Kinesis | Dataflow |
| メッセージング | SNS / SQS | Cloud Pub/Sub |
| ETLパイプライン (GUI) | AWS Glue (Studio) | Cloud Data Fusion |
| メタデータカタログ | Glue Data Catalog | Dataplex Universal Catalog (旧 Data Catalog) |
| ワークフローオーケストレーション | Amazon MWAA | Cloud Composer (Managed Service for Apache Airflow) |
| BIツール | QuickSight | Looker |
| BIセマンティック定義言語 | - | LookML |
| データ準備 (UI) | Glue DataBrew | Cloud Dataprep by Trifacta |
| SaaS連携データ取込 | Amazon AppFlow | BigQuery Data Transfer Service |
1-1. BigQuery
Redshift/Athenaに相当する、コンピューティングとストレージが分離された、サーバーレスでスケーラブルなデータウェアハウス(OLAP)です。
- インフラのプロビジョニングが不要で、分析したデータ量(クエリバイト数)に応じて課金されるオンデマンドモデルです。
- OLTP(頻繁な書き込み・更新を伴うトランザクション処理)には不向きなので、そこはCloud SQLやSpannerと役割分担する必要があります。
- Looker StudioなどのBIツールのダッシュボードが壊れた場合、原因は元となるBigQueryジョブ(夜間バッチでのテーブル上書き等)の失敗であることが多いです。まずBigQueryのジョブ履歴でステータス・エラーメッセージを確認するのが早道です。
- 外部テーブル(Federated Query): Cloud StorageやCloud Bigtableなど、BigQuery外部のデータソースを、ロードせずに直接クエリできる機能です。複数ソースを一時的に結合して分析したい場合、データ移動が不要な分、Dataflowジョブを都度構築するより低コストかつ迅速です。
-
チームへのセルフサービスクエリ権限付与: メンバーを含むGoogleグループにBigQuery ユーザー(
roles/bigquery.user)のIAMロールを付与するのが定石です。 - Looker Studioは事前定義レポートの閲覧が目的でカスタムSQLは実行できません。サービスアカウントの秘密鍵をメンバーへ配布する運用もセキュリティリスクが高く不適切です。
1-2. BigQuery ML
BigQuery内に保存された構造化データに対して、標準SQLを使用して機械学習モデルを作成・実行できる機能です。
- データを他の環境へ移動させることなく、既存のSQLスキルを持つデータアナリストが需要予測や分類モデルを構築できる点が最大の利点です。
- 画像などの非構造化データも、オブジェクトテーブルやリモート推論関数(
ML.ANNOTATE_IMAGE等)経由で扱えますが、Cloud Vision APIのような専用の事前学習済みモデルほど画像解析に特化しているわけではありません。
1-3. Dataproc
EMRに相当する、Apache SparkやHadoopなどのオープンソースツールを実行するためのマネージドサービスです。
- 従来型の構成ではクラスター(サーバー群)のノード数などを管理する必要があるため、完全なサーバーレスではありません(サーバーレスのSpark実行オプションも別途提供されています)。
- 現在は「Managed Service for Apache Spark」へブランド統合が進んでおり、公式ドキュメントのパスも
managed-spark配下に移行しています。
1-4. Dataflow
Glue/Kinesisに相当する、Apache Beamベースのストリーム/バッチ処理を実行するサーバーレスでフルマネージドなサービスです。
- 処理するデータ量の変動に応じてワーカーノードが自動的にスケーリングするため、サーバー管理が不要です。
- 注意したいのは、Apache Beam SDKによるパイプラインのコード記述が必須という点です。「コードを書かずに移行・処理したい」という要件には向かないので、そちらはストレージ編で紹介したStorage Transfer Serviceや、後述のBigQuery Data Transfer Serviceなどのコード不要なマネージド転送サービスの出番になります。
1-5. Cloud Pub/Sub
SNS/SQSに相当する、ストリーミングデータを受信・配信するためのスケーラブルな非同期メッセージングサービス(データの取り込み口)です。
- メッセージの中継を行うものであり、それ自体でデータの変換や集計処理を行う機能は持ちません。
- 数百万台規模のIoTセンサーなどから常時ストリーミングされる大量データを取り込むデータレイク構築では、
Pub/Sub → Dataflow → Cloud Storageという組み合わせが定番パターンです。パブリッシャー(送信元)とサブスクライバー(Dataflow)が分離されているため、コンシューマー側が一時的に処理できなくてもPub/Subがメッセージを保持し続け、耐久性・回復力が高まります。 - Apache Kafkaのマネージド代替としても位置づけられます。自己管理型のKafkaクラスタと違い、インフラ管理なしで同等のユースケースに対応できます。
1-6. Cloud Data Fusion
AWS Glue(Studio)に相当する、GUIベースでデータ統合パイプライン(ETL/ELT)を構築できるフルマネージドサービスです。
- 100種類以上の事前構築済みコネクタ・変換処理をドラッグ&ドロップで組み合わせてパイプラインを作成でき、コーディング不要でデータ連携を実現できます。
- OSSのCDAP(Cask Data Application Platform)をベースにしており、内部的にDataprocを実行基盤として利用します。
1-7. Dataplex Universal Catalog (旧 Data Catalog)
AWS Glue Data Catalogに相当する、組織内のデータ資産(テーブル、ファイル、BIリソースなど)を検索・タグ付け・ガバナンス管理するための統合メタデータカタログです。
- 従来の「Data Catalog」は非推奨(deprecated)となっており、現在はDataplexに統合された「Dataplex Universal Catalog」が正式名称です。
- BigQuery、Cloud Storage、Pub/Subなど各種データソースのメタデータを自動収集し、データリネージやポリシータグによるアクセス制御にも対応します。
1-8. Cloud Composer (Managed Service for Apache Airflow)
Amazon MWAAに相当する、Apache Airflowをベースにしたフルマネージドのワークフローオーケストレーションサービスです。
- データパイプラインの各処理(Dataflowの起動、BigQueryへのロードなど)を有向非巡回グラフ(DAG)として定義し、依存関係やスケジュールに沿って実行・監視できます。
- 正式名称は「Managed Service for Apache Airflow (formerly Cloud Composer)」に変更されており、最新世代のComposer 3ではAirflow 3がプレビュー提供されています。
1-9. Looker / LookML
QuickSightに相当する、BIツールのLookerと、そのセマンティックモデル定義言語であるLookMLのセットです。
- Lookerは分析結果をダッシュボードで可視化するプラットフォームです。
- LookMLは、Looker上でデータのセマンティックモデル(データ構造の意味定義)を定義するための言語であり、SQLを使って機械学習モデルを構築・トレーニングするツールではありません(その用途はBigQuery ML)。
1-10. Cloud Dataprep by Trifacta
AWS Glue DataBrewに相当する、コードを書かずにデータの探索・クリーニング・変換を行うUIベースのデータ準備ツールです。
- Trifacta社の技術をベースにしたサービスで、変換処理の実行エンジンとして内部的にDataflowを使用します。
- 製品ドキュメントはGoogle Cloud公式サイトではなく、提供元のAlteryx(Trifacta)側に集約されています。
1-11. BigQuery Data Transfer Service
Amazon AppFlowに相当する、SaaSアプリケーションや、Amazon Redshift・Teradataなどの他社クラウドのデータウェアハウス、Amazon S3などから、BigQueryへデータを自動的かつ定期的に取り込むためのサービスです。
- Amazon Redshift → BigQueryのようなDWH間移行に特化しているのが強みで、スキーマ変換も自動的に処理してくれます。完全にマネージドかつコード不要なので、「他社DWHからGoogle Cloudへ乗り換えたい」場合の第一候補になります。
- データウェアハウス向けのデータロードが目的であり、Cloud SQLなどのオペレーショナルなデータベースへの移行には使用できません(その用途はDatabase Migration Service)。
2. まとめ
今回はデータ分析系のサービスをまとめました。BigQueryを中心に、周辺サービスがデータパイプラインのどのフェーズ(取り込み・処理・可視化)を担当しているかで整理できます。
次回はコスト管理系のサービスをまとめる予定です。
参考