01_基礎

Section 1 — 基礎編:クラウドDBソリューションの設計

📘 対象: 新人〜全レベル(必読) ゴール: GCP の DB サービス11種類の 役割と使い分け を即答できるようになる。


1. GCP データベースサービス全体図

GCP の DB サービスは「型」と「ワークロード」で分類できます。試験では最初にこの分類が頭に入っているかが鍵。

┌─────────────────────────────────────────────────────────────┐
│   トランザクション系(OLTP)                                  │
│   ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐    │
│   │  Cloud SQL   │ │   AlloyDB    │ │     Spanner      │    │
│   │  MySQL/PG/   │ │  PostgreSQL  │ │  グローバル分散   │    │
│   │  SQL Server  │ │  互換 + AI/ML │ │  強整合 + 水平    │    │
│   └──────────────┘ └──────────────┘ └──────────────────┘    │
├─────────────────────────────────────────────────────────────┤
│   NoSQL                                                       │
│   ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐    │
│   │   Bigtable   │ │  Firestore   │ │   Memorystore    │    │
│   │  KV/時系列    │ │  ドキュメント │ │   キャッシュ     │    │
│   │  >1TB        │ │  リアルタイム  │ │  Redis/Memcache  │    │
│   └──────────────┘ └──────────────┘ └──────────────────┘    │
├─────────────────────────────────────────────────────────────┤
│   分析系(OLAP)                                              │
│   ┌──────────────────────────────────────────────────────┐  │
│   │                    BigQuery                          │  │
│   │   サーバーレス DWH、ペタバイトスケール、SQL          │  │
│   └──────────────────────────────────────────────────────┘  │
├─────────────────────────────────────────────────────────────┤
│   レガシー/特殊                                               │
│   ┌──────────────────────────┐ ┌──────────────────────┐    │
│   │ Bare Metal Solution      │ │  Partner DB          │    │
│   │ Oracle/SAP HANA 互換     │ │ MongoDB Atlas /      │    │
│   │ 物理サーバー、専用線     │ │ DataStax Astra / 他  │    │
│   └──────────────────────────┘ └──────────────────────┘    │
└─────────────────────────────────────────────────────────────┘

サービス一覧(早見表)

サービス タイプ データモデル 主用途
Cloud SQL リレーショナル MySQL / PostgreSQL / SQL Server 中小規模 OLTP、レガシーアプリ移行
AlloyDB リレーショナル PostgreSQL 互換 高速 PostgreSQL、HTAP、AI/ML、ベクトル検索
Spanner リレーショナル 独自 SQL + PostgreSQL Interface グローバル分散 OLTP、強整合、無制限スケール
Bigtable NoSQL ワイドカラム(HBase 互換) 時系列、IoT、>1TB、低レイテンシ
Firestore (Native) NoSQL ドキュメント モバイル/Web、リアルタイム同期
Firestore (MongoDB) NoSQL ドキュメント(MongoDB API 互換) MongoDB 互換が必要なケース
Memorystore for Redis KV Redis キャッシュ、セッション、Pub/Sub軽量
Memorystore for Memcached KV Memcached シンプルなキャッシュ
Memorystore for Valkey KV Valkey (Redis フォーク) 新世代の OSS Redis 互換
BigQuery OLAP カラムナ SQL DWH、分析、ML 連携
Bare Metal Solution 物理 Oracle DB / SAP HANA レガシー移行、専用ライセンス

2. SQL vs NoSQL の使い分け

試験で最も多いのが「SQL か NoSQL か」「どの SQL か」「どの NoSQL か」の判断問題。

SQL を選ぶ条件

NoSQL を選ぶ条件

SQL の中の使い分け

要件 答え
単一リージョン、小〜中規模、MySQL/PG/SQL Server Cloud SQL
PostgreSQL 互換 + 高速 + AI/ベクトル AlloyDB
グローバル分散 + 強整合 + 水平スケール Spanner
Oracle 互換が必須 Bare Metal Solution

NoSQL の中の使い分け

要件 答え
時系列、IoT、>1TB、KV 高速書き込み Bigtable
モバイル、リアルタイム同期、オフライン Firestore (Native)
MongoDB 互換 Firestore (MongoDB-compatible)
キャッシュ、セッション、リーダーボード Memorystore

3. 高可用性 (HA) の基本概念

用語

デプロイ戦略の3段階

戦略 構成 障害許容度 SLA 例
Zonal 単一ゾーン ハードウェア障害のみ耐性 99.5%
Regional (HA) 同期スタンバイ on 別ゾーン ゾーン障害に耐性 99.95%
Multi-regional 別リージョンにレプリカ リージョン障害に耐性 99.99% / 99.999%

例: Cloud SQL の HA

┌─ Region: asia-northeast1 (東京) ──────────────────┐
│                                                   │
│   Primary (asia-northeast1-a)  ──同期──>  Standby │
│        ↑                                (asia-northeast1-b)│
│        │                                          │
│   (App) アプリ接続                                 │
│                                                   │
│   ※ Standby は読み取りも不可(直接接続できない)   │
│   ※ プライマリ障害時、自動フェイルオーバー         │
└───────────────────────────────────────────────────┘

       ↓ クロスリージョン リードレプリカ(読み取り専用)
┌─ Region: us-central1 (米国中部) ──────────────────┐
│   Read Replica                                    │
│   ※ 障害時は手動昇格(プロモート)が必要           │
└───────────────────────────────────────────────────┘

4. 災害復旧 (DR) の基本概念

RPO / RTO

PITR (Point-in-Time Recovery)


5. アプリケーション ⇄ DB 接続の基本

接続方式 4 種類

方式 経路 暗号化 推奨度
Public IP + 直接 インターネット経由 TLS 必須 △(開発のみ)
Public IP + Auth Proxy Auth Proxy 経由 自動 TLS + IAM
Private IP VPC 内 TLS
Private Service Connect (PSC) VPC エンドポイント TLS

Cloud SQL Auth Proxy の役割

コネクションプーラー


6. IAM の基本構造(DB エンジニア視点)

Cloud IAM の3要素

  1. Principal(プリンシパル): ユーザー、グループ、サービスアカウント
  2. Role(ロール): 権限の集合(例: roles/cloudsql.admin)
  3. Resource(リソース): 適用対象(プロジェクト、インスタンス)

DB エンジニアが使う主要ロール

ロール 権限内容
roles/cloudsql.admin Cloud SQL 完全管理
roles/cloudsql.editor インスタンス操作(削除不可)
roles/cloudsql.client DB クライアント接続のみ
roles/cloudsql.instanceUser IAM DB認証ユーザー
roles/spanner.admin Spanner 完全管理
roles/spanner.databaseUser データ読み書き
roles/bigtable.admin Bigtable 完全管理
roles/bigtable.user 読み書きのみ

IAM DB 認証(Cloud SQL / AlloyDB)


7. 暗号化の基本

保管時の暗号化(at rest)

転送中の暗号化(in transit)


8. このセクションのチェックリスト