02_応用

セクション1 応用:データ処理システムの設計 🔧🎯

このファイルは 🔧 実践(中堅)🎯 発展(シニア) レベル。 「どう設計判断するか」「トレードオフは何か」「試験のひっかけ」に焦点を当てます。基礎概念は 01_基礎.md を参照。


1.1 セキュリティとコンプライアンスの設計判断

🔧 IAM 設計のベストプラクティス

🔧 VPC Service Controls(VPC SC)

🔧 CMEK vs CSEK の判断

観点 CMEK CSEK
鍵の保管場所 Cloud KMS(GCP内) 自分で持つ(GCP外)
ローテーション KMSで自動化可 自分で管理
運用負荷
使う場面 一般的なコンプライアンス要件 鍵をGCPに一切預けられない厳格要件

🎯 PII 保護の設計パターン

🎯 データ主権・規制対応


1.2 信頼性と忠実性の設計判断

🔧 ストレージのACID/整合性選定(最重要の判断)

強整合 + グローバル分散 + 無停止スケール ──► Spanner
強整合 + リージョナル + 一般的なRDB ──────► Cloud SQL / AlloyDB
結果整合 + 超低レイテンシ + 大量書き込み ──► Bigtable
結果整合 + モバイル同期 + ドキュメント ────► Firestore

🔧🎯 DR戦略(RPO/RTOで構成を変える)

要件 構成例
RPO/RTO厳しい(ほぼゼロ) Spannerマルチリージョン、Cloud SQL HA+クロスリージョンレプリカ
RPO数分許容 リードレプリカ、Datastreamで別リージョンへ複製
コスト優先・RPO数時間 定期バックアップ/エクスポートをGCSマルチリージョンへ

🎯 データ検証の作り込み


1.3 柔軟性とポータビリティの設計判断

🎯 マルチクラウド戦略

🔧 ガバナンスの設計


1.4 データ移行の設計判断

🔧 移行サービス選定(決定木)

質問1: DBそのものを移す?
  YES → ダウンタイム最小化が必要? → DMS(継続レプリケーション付き移行)
質問2: DB変更を継続的にBQ/GCSへ流す?
  YES → Datastream(サーバーレスCDC)
質問3: 他のDWH/SaaSから定期的に取り込む?
  YES → BigQuery Data Transfer Service
質問4: データ量が巨大でネットワーク転送が非現実的?
  YES → Transfer Appliance(オフライン物理転送)
質問5: 他クラウド/オンプレのファイルをGCSへ?
  YES → Storage Transfer Service

🎯 移行戦略(ビッグバン vs 段階的)


🎯 統合シナリオ演習(考え方の練習)

シナリオ:多国籍小売企業。①各国の購買データ(PII含む)を②グローバルで分析したいが、③EUデータはEU内保存が必須。④オンプレの500TBの履歴データを移行。⑤分析者にはPIIを見せない。

設計の骨子(解答例)

  1. EUデータ用にEUリージョンのプロジェクト/データセットを分離(データ主権)→ 組織ポリシーで誤配置防止
  2. 500TBはネットワーク転送が非現実的 → Transfer Appliance
  3. 取り込み時にCloud DLPでPIIをトークン化
  4. 分析は承認済みビューポリシータグで列マスキング
  5. グローバル分析は各リージョンのBigQueryをAnalytics Hubで共有、またはBigQuery Omniで越境せず分析
  6. データ持ち出し防止にVPC Service Controlsで境界を設定

この「複数の要件を各サービスに割り当てる」思考が本番の設計問題そのものです。


まとめ:このセクションの設計判断の型

03_要点と暗記.md で記憶を固めましょう。