Google Cloudのデータ基盤を地図で理解する:Cloud SQL・Spanner・BigQuery・Cloud Storageの役割と関係

2.データ分析・クラウド
この記事は約7分で読めます。

1. まず大分類:Google Cloudのデータ系サービスの地図

Google Cloudのデータサービスは、大きく3階層に分かれます:

目的 主なサービス
① ストレージ層(保存する) データをとにかく安全に置く Cloud Storage
② データベース層(構造的に管理する) アプリ・業務で扱うデータ Cloud SQL / Cloud Spanner / Firestore / Bigtable
③ 分析層(大量データを分析する) 集計・可視化・AI分析 BigQuery

2. 各サービスの性格をざっくりイメージ

🔹 Cloud Storage(クラウドストレージ)

  • データの“倉庫”。

  • 画像・動画・CSV・バックアップなど、ファイルそのものを保管

  • フォルダ構造ではなく「オブジェクトストレージ」=クラウド版ハードディスク。

  • 例:gs://my-bucket/data/file.csv

👉 非構造化データ(構造を持たないデータ)を扱う。


🔹 Cloud SQL

  • クラウド版のMySQL / PostgreSQL / SQL Server

  • 普通のアプリ(ECサイト、顧客管理、社内システム)で使われる“リレーショナルデータベース”。

  • トランザクション(ACID)対応

  • 単一リージョン中心・中規模向け

👉 従来の業務DBの「クラウド移行先」。


🔹 Cloud Spanner

  • グローバル分散リレーショナルDB

  • Cloud SQLのようにSQLが使えるが、世界中にまたがってスケール可能

  • 大規模システム・SaaS・金融などに最適。

  • 強みは「スケールアウト」と「トランザクション整合性の両立」。

👉 Cloud SQLの“上位互換ではなく、スケーラブル版RDB”。


🔹 Firestore(NoSQL)

  • JSONのような階層構造を持つドキュメント型DB

  • 柔軟だが、トランザクションや複雑JOINには弱い。

  • モバイル・Webアプリのリアルタイム更新に最適。

👉 アプリ・チャット・SNS系に強い。


🔹 Bigtable(NoSQL)

  • 時系列・IoT・ログ・分析向けの超大規模DB

  • 構造はシンプル(テーブル+キー+カラム)。

  • 検索・分析に特化しており、トランザクションは弱い。

👉 分析やAIモデルのデータソースとして使う。


🔹 BigQuery

  • データウェアハウス(DWH)

  • 何十億行でもSQLで一瞬で分析できる。

  • Cloud SQLやStorageなど“他のサービスからデータを集めて解析する場所”。

  • ストレージ+分散クエリエンジンがセットになっている。

👉 分析用RDB。OLAP向け。
(Cloud SQLやSpannerが扱うのはOLTP=業務処理用)


 3. RDB(リレーショナルデータベース)の軸で整理

比較軸 Cloud SQL Cloud Spanner BigQuery
タイプ RDB(OLTP) 分散RDB(OLTP) 分析DB(OLAP)
主用途 トランザクション処理(業務) グローバル・大規模業務処理 データ分析・BI
構造 テーブル+行+列(SQL) 同左(スケールアウト対応) 同左(ただし分析特化)
トランザクション 強い 非常に強い(分散対応) 弱い(分析のみ)
スケール 垂直(性能アップ) 水平(ノード追加) 水平(自動分散)
主な利用例 顧客DB、会計、在庫管理 金融・SaaS共通DB BIダッシュボード、AI分析

👉 「業務データ」はCloud SQLやSpannerで、“分析”はBigQueryで行う
つまり、「保存と分析で役割を分ける」ことが重要。


 4. よくある混乱ポイント(間違えやすい)

誤解 正しい理解
「BigQueryもSQLって名前だからRDBだよね?」 SQL文は使うが、目的が違う(分析用)。トランザクション制御はない。
「Cloud Storageに入れたCSVをそのまま分析できない?」 BigQueryから外部テーブルとして参照可能。ただし読み込みコストが高い。
「Cloud SQLを使えばすべて解決?」 スケールが限定的。大規模化したらSpannerやBigQueryに分担させる必要あり。
「FirestoreとCloud SQLは同じ?」 違う。FirestoreはNoSQL。構造が柔軟でJOIN不可。Cloud SQLはRDBで厳密構造。

5. どこに何を置く? — 実務的な指針

データの種類 保存場所 理由
画像・動画・ログファイル Cloud Storage 非構造化データ(ファイル単位)
顧客情報・会計・販売など Cloud SQL / Spanner リレーショナルデータ+トランザクション
IoT・センサーデータ・ログ Bigtable / Pub/Sub + Dataflow 時系列+高速書き込み
それらを集約・分析 BigQuery 大規模集計・BI・AI連携

このように、役割分担が肝です。
現代のデータ基盤は「1つのDBで全部」ではなく、
“Data Lake + Data Warehouse + Operational DB”の連携で成り立っています。


 6. 全体像を図でまとめる(頭に残る地図)

┌──────────────────────────────┐
│ アプリ・業務処理層(OLTP) │
│ ├ Cloud SQL → 中小規模RDB │
│ ├ Cloud Spanner → 大規模分散RDB │
│ └ Firestore → 柔軟なNoSQL │
└──────────────────────────────┘
↓(データ蓄積)
┌──────────────────────────────┐
│ データレイク層(Raw Data) │
│ Cloud Storage / Bigtable │
└──────────────────────────────┘
↓(集計・分析)
┌──────────────────────────────┐
│ データ分析層(OLAP) │
│ BigQuery │
└──────────────────────────────┘


 7. まとめ:リレーショナルDBを中心に見るなら

項目 Cloud SQL Cloud Spanner BigQuery
性質 伝統的RDB(MySQL/PostgreSQL) 分散RDB(Google流RDB) 分析用SQLエンジン
主用途 アプリ・業務処理 グローバルな大規模業務 データ分析・BI
ACID保証 あり あり(分散でも保証) なし(分析中心)
運用 マネージド マネージド フルマネージド
規模感 小〜中 大規模 超大規模データ分析

 最後に一文で言うと

Cloud SQL は「日々の業務の正確さ」、
BigQuery は「全体の洞察」、
Cloud Storage は「すべての土台」。

そして Cloud Spanner は「世界規模でも整合性を保つための究極のRDB」。

コメント