Lộ trình
Google CloudAssociateTuần 3: Kiến trúc & bảo mậtBài 17 / 30

Ngày 17: Cloud SQL & Firestore

Thời lượng: 45 phút
Mục tiêu: 2 nhiệm vụ chính
Tiến độ lộ trình
gcp-acengày 17
hoàn thành17 / 30 bài
Bối cảnh bài học

Chọn Cloud SQL hoặc Firestore theo data model, consistency, query, scaling, HA/backup, IAM và private connectivity.

đọc hiểuthực hànhcheckpoint
Bài giảng hôm nay

Học hiểu, rồi mới thực hành

Chọn Cloud SQL hoặc Firestore theo data model, consistency, query, scaling, HA/backup, IAM và private connectivity.

Bắt đầu đọc bài giảng

Nhiệm vụ bài học hôm nay

  • Tìm hiểu Cloud SQL cho workload quan hệ
  • Tìm hiểu Firestore cho ứng dụng NoSQL
Instructor walkthrough

Bài giảng chi tiết: từ bài toán đến bằng chứng

Scenario xuyên suốt

Một ứng dụng thương mại cần transaction giữa order/payment nhưng team chọn Firestore chỉ vì “serverless”; một ứng dụng chat lại ép mọi truy vấn vào Cloud SQL. Bài học bắt đầu từ access pattern và recovery requirement thay vì tên sản phẩm.

01Đọc bài toán

Xác định actor, workload, constraint và trạng thái cuối cần đạt.

02Vẽ luồng / boundary

Chỉ ra request, dependency, identity và failure domain trước khi chọn công cụ.

03Chọn và thực hành

Thay đổi nhỏ nhất trong lab cô lập; command nào cũng phải nói rõ nó kiểm tra điều gì.

04Kiểm chứng / recovery

Đối chiếu trạng thái thực tế, tạo một failure variant và ghi cách hoàn tác.

Cách nối lý thuyết với thực tế
  • Cloud SQL là managed relational database với schema, transaction, index, connection và HA/backup; người dùng vẫn chịu trách nhiệm query, credential, migration và restore test.
  • Firestore là document database với document/collection, query/index, transaction giới hạn, realtime/event integration và scaling theo access pattern.
  • HA, backup, PITR, replica và read/write location giải quyết failure/recovery khác nhau; HA không đồng nghĩa backup hoặc DR.
  • IAM, database user, service account/workload identity và network/private IP là các lớp control riêng; không hardcode password hoặc mở database public.

Bắt đầu từ data contract

Hỏi trước: dữ liệu có quan hệ/transaction không, truy vấn theo key hay ad-hoc, consistency nào cần, write/read pattern, retention, latency, HA/RPO/RTO và team chịu vận hành đến đâu. Cloud SQL và Firestore đều managed nhưng abstraction và failure/cost model khác nhau.

Recovery và security

HA giữ service tiếp tục phục vụ trong một số failure; backup/PITR giúp quay lại điểm dữ liệu; replica/DR có topology và RPO riêng. Database private-by-default, identity tối thiểu, secret rotation và network path phải được kiểm chứng, không chỉ “bật encryption”.

Bài tập

Lập decision matrix cho bốn workload, inspect metadata read-only, viết schema/query/recovery/access record. Nếu có sandbox, tạo dữ liệu giả và thử backup/restore; cleanup database, instance, IP và backups, sau đó lưu evidence đã redacted.

Terminal reference

Command list và cách dùng

Chạy từng lệnh theo đúng thứ tự. Trước các lệnh có thể tạo hoặc thay đổi tài nguyên, hãy kiểm tra profile, account và region.

Commands · read-only checkpoints
gcloud sql instances list --project=LAB_PROJECT_ID --format="table(name,region,databaseVersion,state,settings.tier)"
gcloud sql instances describe SQL_INSTANCE --project=LAB_PROJECT_ID --format="yaml(name,region,state,settings,ipAddresses,backupConfiguration)"
gcloud sql backups list --instance=SQL_INSTANCE --project=LAB_PROJECT_ID --format="table(id,status,startTime,windowStartTime)"
gcloud firestore databases list --project=LAB_PROJECT_ID
Hands-on lab

Thực hành theo scenario

  1. Lập decision table cho order/payment, profile, chat feed và analytics metadata: schema/transaction/query, consistency, scale, latency, retention, HA/RPO/RTO và cost.
  2. Inspect Cloud SQL instances/databases/backups và Firestore metadata read-only; xác nhận project, region, billing và IAM trước thao tác.
  3. Nếu có sandbox, tạo database nhỏ với private connectivity/least-privilege identity, dữ liệu giả, backup/restore exercise; không dùng production credential hay dữ liệu thật.
  4. Verify connection path, IAM denial/allow, backup timestamp và recovery evidence; cleanup instance/database/IP/backups theo policy rồi kiểm tra list.
Evidence checkpoint

Kiểm chứng kết quả

Không coi lệnh chạy thành công là đủ. Hãy đối chiếu output với trạng thái mong đợi:

  • Chọn database dựa trên data model/query/transaction.
  • Phân biệt HA, backup, replica, PITR và DR.
  • IAM/database identity/network boundary rõ.
  • Cost và cleanup của database/backup được tính.
  • Có restore/verification evidence hoặc design testable nếu không có sandbox.
Transfer to exam / production

Bẫy thường gặp và trade-off

ACE thường đưa distractor “managed database” nhưng khác ở schema, transaction, query, scale và operational model. Đừng chọn Firestore cho relational transaction hoặc Cloud SQL cho mọi document access.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Hệ thống order cần transaction bảo đảm order và payment record nhất quán, cùng truy vấn relational. Lựa chọn nào phù hợp hơn?

Kết thúc bài

Checklist trước khi sang Ngày 2