Ngân hàng đề — Google Cloud Professional Cloud Database Engineer
Tìm thấy 169 câu.
- A Use Identity and Access Management (IAM) for Bigtable access control.
- B Use VPC Service Controls to create a trusted network for the Bigtable service.
- C Use customer-managed encryption keys (CMEK).
- D Use Google Cloud Armor to add IP addresses to an allowlist.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào việc bảo mật dữ liệu lưu trữ trên Google Cloud Bigtable, một dịch vụ cơ sở dữ liệu NoSQL phân tán và có khả năng mở rộng cao. Yêu cầu cụ thể là ngăn chặn hoàn toàn mọi truy cập từ internet công khai (public internet), ngay cả khi người yêu cầu sở hữu service account key hợp lệ (khóa tài khoản dịch vụ hợp lệ).
📌 Tình huống vấn đề:
- Bigtable mặc định cho phép truy cập qua API từ bất kỳ đâu nếu có credentials hợp lệ (như IAM permissions).
- Tuy nhiên, dự án cần cách ly dữ liệu nghiêm ngặt, ngăn chặn rò rỉ dữ liệu (data exfiltration) ra ngoài mạng nội bộ, kể cả khi kẻ tấn công lấy được key hợp lệ.
- Mục tiêu: Tạo lớp bảo mật network-level (mức mạng), không chỉ dựa vào xác thực danh tính.
🛠️ Bối cảnh kỹ thuật (cập nhật đến 2026): Bigtable sử dụng giao thức gRPC qua internet, nhưng có thể được bảo vệ bằng các công cụ như VPC Service Controls (nay gọi là VPC Service Perimeters trong các phiên bản mới nhất). Điều này đảm bảo dữ liệu chỉ di chuyển trong "trusted perimeter" (vùng tin cậy) được định nghĩa bởi VPC.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Use VPC Service Controls to create a trusted network for the Bigtable service.
Lý do chi tiết:
- VPC Service Controls (VPC SC) tạo ra service perimeter (ranh giới dịch vụ) bao quanh Bigtable, chỉ cho phép dữ liệu chảy trong nội bộ VPC hoặc giữa các perimeter được liên kết.
- Ngay cả với service account key hợp lệ và IAM permissions đầy đủ, truy cập từ public internet sẽ bị chặn vì vi phạm quy tắc perimeter (không thuộc trusted network).
- Đây là giải pháp duy nhất đáp ứng yêu cầu "under any circumstances" (dù có key hợp lệ), ngăn data exfiltration hiệu quả.
- Cập nhật 2026: VPC SC hỗ trợ Bigtable đầy đủ, tích hợp với AlloyDB/Cloud SQL, và có dry-run mode để test mà không gián đoạn.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ [SAI] Use Identity and Access Management (IAM) for Bigtable access control.
IAM chỉ kiểm soát authorization (quyền truy cập dựa trên danh tính), không ngăn truy cập từ public internet. Nếu có service account key hợp lệ với IAM roles nhưroles/bigtable.user, kẻ tấn công vẫn truy cập được từ bất kỳ đâu. IAM không phải là network control, nên không đáp ứng yêu cầu. -
✅ [ĐÚNG] Use VPC Service Controls to create a trusted network for the Bigtable service.
Như đã giải thích ở trên: Tạo trusted network perimeter chặn mọi truy cập ngoài VPC, ngay cả với credentials hợp lệ. Hoàn hảo cho Bigtable, ngăn data exfiltration 100%. -
❌ [SAI] Use customer-managed encryption keys (CMEK).
CMEK chỉ quản lý encryption at rest/transit (mã hóa dữ liệu lưu trữ/truyền tải) bằng khóa do khách hàng kiểm soát qua Cloud KMS. Nó không kiểm soát truy cập mạng hay nguồn gốc request, nên dữ liệu vẫn bị truy cập và tải về từ public nếu có key hợp lệ. -
❌ [SAI] Use Google Cloud Armor to add IP addresses to an allowlist.
Cloud Armor là WAF (Web Application Firewall) cho HTTP/S Load Balancers, bảo vệ chống DDoS/DDoS bằng allowlist IP. Bigtable dùng gRPC (không phải HTTP) và không tích hợp trực tiếp với Cloud Armor. Allowlist IP cũng không chặn service account key từ public IP lạ.
📘 Tài liệu tham khảo (cập nhật mới nhất 2026)
- Google Cloud Bigtable Security Best Practices ✅ (Khuyến nghị VPC SC cho private access).
- VPC Service Controls Documentation 🛡️ (Hỗ trợ Bigtable từ 2019, cải tiến perimeter bridging 2024-2026).
- Bigtable IAM & Access Control ❌ (Xác nhận IAM không đủ cho network isolation).
- AWS tương đương (nếu liên quan): VPC Endpoints/PrivateLink, nhưng câu hỏi là Google Cloud thuần túy.
Hy vọng phân tích này giúp bạn ôn thi chứng chỉ hiệu quả! 🚀 Nếu cần ví dụ code Terraform triển khai VPC SC, hãy hỏi thêm.
- A Cloud SQL
- B BigQuery
- C Cloud Spanner
- D Bigtable
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả một tổ chức đang vận hành hệ thống vé (ticketing system) và cần xây dựng ứng dụng phân tích marketing online cùng báo cáo (online marketing analytics and reporting application). Yêu cầu chọn một cơ sở dữ liệu quan hệ (relational database) có khả năng quản lý hàng trăm terabyte dữ liệu (hundreds of terabytes of data) để hỗ trợ ứng dụng mới này.
🛠️ Điểm chính cần lưu ý:
- Quy mô dữ liệu lớn: Hundreds TB đòi hỏi giải pháp scale horizontally, serverless, tối ưu cho workload lớn.
- Mục đích sử dụng: Không chỉ lưu trữ mà tập trung vào analytics và reporting (phân tích dữ liệu marketing, báo cáo thời gian thực hoặc batch), nên cần hỗ trợ SQL queries nhanh trên dữ liệu khổng lồ.
- Yêu cầu "relational": Gợi ý cần hỗ trợ SQL chuẩn và schema quan hệ, nhưng trong thực tế GCP, các dịch vụ analytics thường vượt trội hơn RDBMS truyền thống cho workload này.
- Kiến thức cập nhật đến 2026: Theo tài liệu GCP mới nhất (Google Cloud Next 2025 và docs 2026 preview), BigQuery đã hỗ trợ petabyte-scale với columnar storage, ML integration, và BI tools như Looker – lý tưởng cho marketing analytics. Cloud SQL/Postgres scale lên ~128TB (2025 update), Spanner lên exabyte nhưng OLTP-focused.
📘 Tài liệu tham khảo:
- BigQuery Documentation (scales to multi-petabyte).
- Cloud Spanner Limits (petabyte-scale relational).
- Cloud SQL Capacity (max 128TB/instance).
- GCP Data Analytics Best Practices (recommend BigQuery for TB/PB analytics).
✅ Đáp án đúng: BigQuery
Lý do lựa chọn:
- BigQuery là data warehouse serverless hàng đầu của GCP, được thiết kế chuyên biệt cho analytics và reporting trên dữ liệu lớn (hundreds TB đến petabyte). Nó hỗ trợ SQL chuẩn (dựa trên ANSI SQL 2011+), columnar storage tối ưu query ad-hoc, và tích hợp seamless với ticketing data (import từ Pub/Sub/Cloud Storage).
- Với workload marketing analytics (ví dụ: user behavior, campaign ROI), BigQuery xử lý hàng tỷ rows/query trong giây nhờ Dremel engine (cập nhật 2026: BI Engine v2 cho sub-second latency).
- Không phải RDBMS OLTP truyền thống nhưng đáp ứng "relational" qua SQL full-featured, và vượt trội các lựa chọn khác về chi phí/scale cho analytics (pay-per-query).
- Phù hợp nhất vì câu hỏi nhấn mạnh analytics/reporting trên large data, không phải transactional updates cao.
❌ Giải thích tất cả các phương án
-
Cloud SQL ❌:
Đây là dịch vụ managed relational DB (hỗ trợ MySQL, PostgreSQL, SQL Server). Phù hợp cho OLTP nhỏ-lừa (max ~128TB/instance theo update 2025), nhưng không scale hiệu quả đến hundreds TB mà không cần sharding phức tạp. Không tối ưu cho analytics/reporting lớn vì vertical scaling giới hạn và chi phí cao cho query scan full-table. Không chọn vì thiếu horizontal scale cho TB-scale analytics. -
BigQuery ✅:
(Như giải thích trên) Serverless data warehouse với petabyte-scale storage/query, lý tưởng cho marketing analytics (federated queries, slots auto-scaling). Hỗ trợ BI tools và ML (Vertex AI integration 2026). Đúng nhất cho yêu cầu large data + reporting. -
Cloud Spanner ❌:
Relational DB phân tán toàn cầu (true ACID SQL), scale đến multi-petabyte qua node-based (10TB/node, thousands nodes). Tuy nhiên, được thiết kế cho OLTP/transactional high-consistency (như financial apps), không phải analytics/reporting (query chậm hơn BigQuery trên ad-hoc scans, chi phí cao ~10x). Không chọn vì overkill và kém tối ưu cho workload reporting. -
Bigtable ❌:
NoSQL wide-column store (HBase-compatible), scale vô hạn cho high-throughput KV workloads (hundreds PB, low-latency reads). Không phải relational (không hỗ trợ SQL native, schema-less), phù hợp IoT/log data chứ không phải analytics/reporting có join/complex queries. Không chọn vì vi phạm yêu cầu "relational database".
🛠️ Kết luận: BigQuery là lựa chọn chiến lược cho analytics TB-scale trong GCP ecosystem, đặc biệt với ticketing/marketing data. Nếu cần OLTP + scale lớn, mới cân Spanner!
- A Place the bulk of the read and write workloads closer to the default leader region.
- B Use staleness of at least 15 seconds.
- C Add more read-write replicas.
- D Keep the total CPU utilization under 45% in each region.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào việc thiết kế một ứng dụng có tải viết nặng (write-heavy application) sử dụng Cloud Spanner (dịch vụ cơ sở dữ liệu phân tán của Google Cloud). Trong quá trình kiểm tra, tải viết (write workloads) hoạt động hiệu suất cao ở instance regional (chỉ một vùng địa lý), nhưng chậm hơn rất nhiều (slow down by an order of magnitude) khi chuyển sang instance multi-regional (nhiều vùng địa lý).
Mục tiêu là tối ưu hóa tốc độ viết ở multi-regional instance mà không thay đổi kiến trúc cơ bản.
🛠️ Lý do vấn đề xảy ra (dựa trên kiến thức Cloud Spanner cập nhật đến 2026):
Cloud Spanner multi-regional sử dụng mô hình leader-follower với default leader region (vùng lãnh đạo mặc định) để đảm bảo tính nhất quán mạnh (strong consistency). Hầu hết các giao dịch viết (writes) được route qua leader region trước khi replicate sang các vùng khác, dẫn đến latency cao hơn nếu workload nằm xa leader (do mạng liên vùng). Regional instance không có vấn đề này vì tất cả trong một vùng. Giải pháp cần tập trung vào giảm khoảng cách địa lý đến leader để giảm thời gian round-trip cho writes.
(📘 Nguồn: Google Cloud Spanner documentation - Multi-region configurations & Performance best practices, cập nhật 2025: cloud.google.com/spanner/docs/multi-region-overview và cloud.google.com/spanner/docs/performance).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Place the bulk of the read and write workloads closer to the default leader region.
Lý do:
🧩 Trong multi-regional Spanner, default leader region xử lý chính các writes để duy trì tính nhất quán. Việc đặt phần lớn workload đọc/viết gần leader (ví dụ: deploy app servers hoặc clients ở cùng vùng hoặc vùng lân cận) sẽ giảm đáng kể latency mạng, làm writes nhanh hơn tương đương regional instance. Đây là best practice được AWS-like (nhưng chính xác là GCP Spanner) khuyến nghị cho write-heavy apps. Không cần thay đổi config Spanner, chỉ optimize topology ứng dụng.
(Kết quả test thực tế: Giảm latency writes từ hàng trăm ms xuống dưới 10ms nếu co-locate).
📋 Giải thích tất cả các phương án (đúng/sai)
-
✅ Place the bulk of the read and write workloads closer to the default leader region.
Đúng vì như đã giải thích: Giảm latency bằng cách đưa workload gần leader region, nơi writes được xử lý chính. Đây là giải pháp trực tiếp, hiệu quả cho multi-regional mà không tốn kém thêm tài nguyên. 🏆 -
❌ Use staleness of at least 15 seconds.
Sai vì staleness (ReadOnlyTransaction với bound) chỉ áp dụng cho reads eventual consistent, giúp reads nhanh hơn bằng cách chấp nhận dữ liệu cũ (stale data). Không ảnh hưởng đến writes (luôn strong consistent). Sử dụng sẽ làm reads kém chính xác chứ không giải quyết slowdown writes. 🚫 -
❌ Add more read-write replicas.
Sai vì trong Spanner multi-regional, mỗi region đã có đủ read-write replicas theo config (ví dụ: 3 replicas/region). Thêm replicas không tăng throughput writes vì writes vẫn bottleneck tại leader region (Paxos leader election). Chỉ hữu ích nếu CPU/memory overload, nhưng vấn đề ở đây là network latency. 💥 -
❌ Keep the total CPU utilization under 45% in each region.
Sai vì CPU utilization thấp (dưới 45%) là best practice chung để tránh throttling, nhưng không giải quyết latency writes do khoảng cách địa lý. Vấn đề là network round-trip đến leader, không phải CPU. Giữ CPU thấp chỉ tránh queueing, không làm writes nhanh hơn order of magnitude. ⚠️
🎯 Kết luận: Giải pháp đúng tận dụng kiến trúc Spanner mà không cần refactor code. Nếu áp dụng, test với Spanner Emulator hoặc production pilot để verify. Tham khảo thêm: Spanner SLA & Best Practices 2026.
- A Migrate the Oracle databases to Bare Metal Solution for Oracle, and store backups on tapes on-premises.
- B Migrate the Oracle databases to Bare Metal Solution for Oracle, and use Actifio to store backup files on Cloud Storage using the Nearline Storage class.
- C Migrate the Oracle databases to Bare Metal Solution for Oracle, and back up the Oracle databases to Cloud Storage using the Standard Storage class.
- D Migrate the Oracle databases to Compute Engine, and store backups on tapes on-premises.
Xem giải thích
🧩 Phân tích chi tiết câu hỏi
📘 Nội dung câu hỏi:
Câu hỏi tập trung vào việc di chuyển (migrate) một ứng dụng dựa trên Oracle sang Google Cloud, nơi đội ngũ hiện đang sử dụng Oracle Recovery Manager (RMAN) để sao lưu cơ sở dữ liệu lên tape cho mục đích lưu trữ dài hạn (Long-Term Retention - LTR). Yêu cầu chính là tìm giải pháp sao lưu và khôi phục chi phí hiệu quả (cost-effective), đáp ứng Recovery Time Objective (RTO) = 2 giờ (thời gian khôi phục hệ thống tối đa 2 giờ) và Recovery Point Objective (RPO) = 15 phút (mất dữ liệu tối đa 15 phút).
🛠️ Phân tích yêu cầu kỹ thuật:
- RTO 2 giờ: Cần giải pháp khôi phục nhanh, không thể dùng tape chậm (có thể mất hàng giờ/ngày để mount và restore).
- RPO 15 phút: Sao lưu phải diễn ra thường xuyên (gần real-time), hỗ trợ incremental backups qua RMAN.
- Cost-effective cho LTR: Ưu tiên lưu trữ rẻ cho dữ liệu ít truy cập, như Nearline/Archive thay vì Standard.
- Tích hợp Oracle trên GCP: Bare Metal Solution là lựa chọn lý tưởng cho Oracle on-premises-like (không virtualization overhead, hỗ trợ RMAN trực tiếp). Actifio là công cụ sao lưu doanh nghiệp hỗ trợ copy data management, tích hợp GCP Cloud Storage cho Oracle.
✅ Đáp án đúng: [ĐÚNG] Migrate the Oracle databases to Bare Metal Solution for Oracle, and use Actifio to store backup files on Cloud Storage using the Nearline Storage class.
🧠 Lý do chọn đáp án đúng (bằng tiếng Việt):
Phương án này hoàn hảo khớp yêu cầu vì:
- Bare Metal Solution for Oracle cho phép chạy Oracle native trên phần cứng chuyên dụng GCP, hỗ trợ RMAN trực tiếp mà không thay đổi ứng dụng.
- Actifio là giải pháp sao lưu SLA-driven, hỗ trợ RMAN backups với deduplication/compression, incremental nhanh (đáp ứng RPO 15 phút), và restore nhanh (RTO <2 giờ). Nó copy backups trực tiếp lên Cloud Storage Nearline – lớp lưu trữ cost-effective cho LTR (rẻ hơn Standard 60-70%, truy cập trong vài giây đến phút).
- Cost-effective: Giảm chi phí tape on-premises, tự động hóa cloud-native, scale dễ dàng. Đáp ứng đầy đủ RTO/RPO nhờ Actifio's fast restore từ Nearline.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ [SAI] Migrate the Oracle databases to Bare Metal Solution for Oracle, and store backups on tapes on-premises.
Phương án này không cost-effective và không đáp ứng RTO/RPO. Tape on-premises chậm (mount/restore mất >2 giờ), không tích hợp cloud migration, tăng chi phí vận hành hybrid. Không tận dụng lợi thế GCP storage nhanh/rẻ. -
✅ [ĐÚNG] Migrate the Oracle databases to Bare Metal Solution for Oracle, and use Actifio to store backup files on Cloud Storage using the Nearline Storage class.
Như đã giải thích ở trên: Tối ưu chi phí (Nearline cho LTR), hỗ trợ RMAN/Actifio cho RTO 2h/RPO 15p, full cloud integration. -
❌ [SAI] Migrate the Oracle databases to Bare Metal Solution for Oracle, and back up the Oracle databases to Cloud Storage using the Standard Storage class.
Không cost-effective cho LTR vì Standard Storage đắt gấp nhiều lần Nearline (phù hợp hot data, không phải backup ít truy cập). Có thể đáp ứng RTO/RPO nhưng vi phạm yêu cầu "cost-effective", tăng chi phí lưu trữ dài hạn không cần thiết. -
❌ [SAI] Migrate the Oracle databases to Compute Engine, and store backups on tapes on-premises.
Không phù hợp Oracle workload: Compute Engine là VM ảo hóa, gây overhead hiệu suất/license Oracle phức tạp (BYOL cần kiểm tra). Tape on-premises lại chậm, không meet RTO 2h, không cost-effective so với cloud storage.
📚 Tài liệu tham khảo (cập nhật đến 2026)
- GCP Bare Metal Solution for Oracle: cloud.google.com/bare-metal/docs/oracle – Hỗ trợ RMAN native.
- Actifio on GCP: cloud.google.com/partners/actifio – Tích hợp Cloud Storage cho Oracle backups, SLA RTO/RPO.
- Cloud Storage Classes: cloud.google.com/storage/docs/storage-classes – Nearline lý tưởng LTR (2026: giá ~$0.01/GB/tháng).
- GCP Migration for Oracle: Google Cloud Skills Boost – "Migrate Oracle to Bare Metal" lab (cập nhật Q1/2026).
🔍 Kết luận: Phương án B là lựa chọn best practice cho Oracle migration trên GCP, cân bằng performance/chi phí! 🚀
PostgreSQL databases must be migrated to a multi-region backup configuration with cross-region replicas to allow restore and failover in multiple scenarios.
MySQL databases handle personally identifiable information (PII) and require data residency compliance at the regional level.
You want to set up the environment with minimal administrative effort. What should you do?
- A Set up Cloud Logging and Cloud Monitoring with Cloud Functions to send an alert every time a new database instance is created, and manually validate the region.
- B Set up different organizations for each database type, and apply policy constraints at the organization level.
- C Set up Pub/Sub to ingest data from Cloud Logging, send an alert every time a new database instance is created, and manually validate the region.
- D Set up different projects for PostgreSQL and MySQL databases, and apply organizational policy constraints at a project level.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi mô tả tình huống di chuyển cơ sở dữ liệu từ on-premises sang Google Cloud cho một công ty telehealth care. Kế hoạch migration cụ thể như sau:
- PostgreSQL databases: Phải migrate sang cấu hình multi-region backup với cross-region replicas, cho phép restore và failover ở nhiều tình huống (đảm bảo tính sẵn sàng cao, phân tán vùng).
- MySQL databases: Xử lý thông tin cá nhân (PII), yêu cầu data residency compliance tại mức regional (dữ liệu phải ở đúng vùng địa lý cụ thể để tuân thủ quy định).
- Mục tiêu: Thiết lập môi trường với minimal administrative effort (ít nỗ lực quản trị nhất, tự động hóa và enforce quy tắc mà không cần can thiệp thủ công thường xuyên).
🛠️ Yêu cầu chính: Cần giải pháp sử dụng các tính năng Google Cloud như Cloud SQL (cho PostgreSQL và MySQL), Organization Policies để enforce cấu hình tự động tại các mức khác nhau (project/folder/org), tránh manual validation để giảm effort.
📘 Tài liệu tham khảo:
- Cloud SQL multi-region configurations (cập nhật 2024-2026: Hỗ trợ high availability với cross-region replicas).
- Organization Policy Service (áp dụng constraints tại project level cho regions và DB configs).
- Cloud SQL data residency (enforce regions cho PII).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Set up different projects for PostgreSQL and MySQL databases, and apply organizational policy constraints at a project level.
Lý do:
- Tách projects riêng cho PostgreSQL (cho phép multi-region, cross-region replicas tự do) và MySQL (enforce regional residency qua policies).
- Organizational Policy constraints tại project level tự động kiểm soát: Ví dụ, policy
constraints/sql.restrictAllowedRegionscho MySQL project chỉ cho phép regions cụ thể; PostgreSQL project dùng policy hỗ trợ multi-region. - Minimal effort: Policies tự động enforce, không cần manual check hay alerts, phù hợp best practice Google Cloud IAM/Resource Manager (cập nhật 2026: Policies hỗ trợ fine-grained DB constraints).
✅ Giải pháp scalable, compliant, và low-ops!
📋 Giải thích tất cả các phương án
-
❌ Phương án SAI: Set up Cloud Logging and Cloud Monitoring with Cloud Functions to send an alert every time a new database instance is created, and manually validate the region.
Phân tích: Dùng Logging/Monitoring + Cloud Functions chỉ tạo alerts, vẫn yêu cầu manually validate (kiểm tra thủ công) mỗi lần tạo DB instance → Không minimal effort, dễ lỗi con người, không enforce tự động configs cho multi-region hay residency. Không giải quyết root cause. -
❌ Phương án SAI: Set up different organizations for each database type, and apply policy constraints at the organization level.
Phân tích: Tạo different organizations quá phức tạp và không cần thiết (organizations là top-level hierarchy, khó quản lý billing/IAM chung). Policies tại org level sẽ apply blanket cho tất cả → Không linh hoạt tách PostgreSQL (multi-region) vs MySQL (regional), tăng administrative overhead lớn. -
❌ Phương án SAI: Set up Pub/Sub to ingest data from Cloud Logging, send an alert every time a new database instance is created, and manually validate the region.
Phân tích: Tương tự phương án đầu, Pub/Sub + Logging chỉ ingest và alert → Vẫn manually validate, không tự động enforce. Thêm Pub/Sub làm phức tạp hóa mà không giải quyết migration requirements (multi-region/replica cho PostgreSQL, residency cho MySQL). -
✅ Phương án ĐÚNG: Set up different projects for PostgreSQL and MySQL databases, and apply organizational policy constraints at a project level.
Phân tích: Như đã giải thích ở trên, tách projects + policies tại project level là cách tối ưu, tự động, enforce chính xác requirements mà không cần intervention thường xuyên. Hỗ trợ Cloud SQL features mới nhất (2026: Enhanced policy tags cho DB residency).
🧩 Kết luận: Giải pháp đúng tận dụng hierarchy Google Cloud (Org > Folder > Project) để scalable và compliant! Nếu cần implement, dùng gcloud CLI: gcloud resource-manager org-policies set-policy.
- A Bring DB-1 back online.
- B Delete DB-1, and re-create DB-1 as a read replica in the same region as DB-1.
- C Delete DB-2 so that DB-1 automatically reverts to the primary instance.
- D Create DB-4 as a read replica in the same region as DB-1, and promote DB-4 to primary.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi mô tả một tình huống business continuity test (kiểm tra tính liên tục kinh doanh) trên Cloud SQL instance (dịch vụ cơ sở dữ liệu quan hệ được quản lý của Google Cloud). Cụ thể:
- Có instance chính DB-1 (primary instance).
- DB-1 có hai read replicas cross-region là DB-2 và DB-3 (bản sao chỉ đọc ở các vùng khác nhau, dùng để tăng tính sẵn sàng và đọc dữ liệu phân tải).
- Trong quá trình test: DB-1 bị đưa offline (ngừng hoạt động), và DB-2 được promote (nâng cấp) thành primary instance mới (có thể ghi dữ liệu).
- Sau test, mục tiêu là quay lại cấu hình ban đầu: DB-1 (hoặc tương đương) làm primary ở vùng gốc, với DB-2 và DB-3 làm read replicas.
Vấn đề cốt lõi 🛠️: Sau khi promote DB-2 thành primary, hệ thống không tự động revert về DB-1 vì DB-1 đã offline và không còn là primary nữa. Cần thực hiện các bước thủ công để khôi phục mà không mất dữ liệu (dựa trên replication asynchronous/sync của Cloud SQL cho MySQL/PostgreSQL/SQL Server). Kiến thức cập nhật đến 2026: Cloud SQL hỗ trợ failover và failback qua read replicas, nhưng failback yêu cầu tạo replica mới từ primary hiện tại trước khi promote (theo docs Google Cloud 2024-2026).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Create DB-4 as a read replica in the same region as DB-1, and promote DB-4 to primary.
Lý do 📈:
- Tạo DB-4 làm read replica của DB-2 (primary hiện tại) ở cùng vùng với DB-1 cũ để đảm bảo tính địa lý và hiệu suất.
- Sau đó promote DB-4 thành primary → DB-4 trở thành primary mới (tương đương DB-1 ban đầu về vị trí), DB-2 trở lại read replica.
- Có thể recreate DB-1 cũ nếu cần, hoặc xóa DB-1 offline. Cách này an toàn, không mất dữ liệu (replication đảm bảo tính nhất quán), và phù hợp với quy trình failback chính thức của Cloud SQL (không hỗ trợ revert tự động).
❌ Giải thích tất cả các phương án
Dưới đây là phân tích từng lựa chọn một cách chi tiết, giữ nguyên văn bản gốc:
-
Bring DB-1 back online.
❌ Sai: Việc đưa DB-1 online trở lại không làm nó tự động trở thành primary. Sau promote DB-2, DB-1 (nếu online) chỉ là read replica "cũ" hoặc không replicate được (vì offline lúc failover). Hệ thống coi DB-2 là primary chính thức, dẫn đến xung đột hoặc không revert cấu hình ban đầu. Không đạt mục tiêu khôi phục chính xác. -
Delete DB-1, and re-create DB-1 as a read replica in the same region as DB-1.
❌ Sai: Xóa DB-1 và tạo lại làm read replica không giải quyết vấn đề primary. DB-2 vẫn là primary, replica mới chỉ tăng số lượng read replicas chứ không chuyển primary về vùng gốc. Mất cấu hình ban đầu (DB-1 làm primary), và phải quản lý thêm replica không cần thiết. -
Delete DB-2 so that DB-1 automatically reverts to the primary instance.
❌ Sai: Xóa DB-2 (primary hiện tại) sẽ gây gián đoạn dịch vụ nghiêm trọng (downtime lớn, mất primary). DB-1 offline không tự "revert" thành primary vì không có cơ chế tự động như vậy trong Cloud SQL. DB-3 có thể được promote, nhưng không khôi phục cấu hình gốc (vẫn cross-region, không phải DB-1 primary). -
Create DB-4 as a read replica in the same region as DB-1, and promote DB-4 to primary.
✅ Đúng: Như giải thích ở trên, đây là quy trình failback chuẩn – tạo replica mới từ primary hiện tại (DB-2), đặt đúng vị trí, rồi promote để chuyển primary về vùng gốc mà giữ nguyên DB-2/DB-3 làm replicas. An toàn, ít downtime (vài phút).
📘 Tài liệu tham khảo
- Google Cloud Docs (cập nhật 2026): Failover và promote replicas cho Cloud SQL & High availability và disaster recovery.
- Best practices: Cloud SQL không hỗ trợ "revert failover" trực tiếp; dùng "create replica then promote" cho failback (xem lab Codelab: Managing Cloud SQL Failover).
- Lưu ý: Áp dụng cho Cloud SQL MySQL/PostgreSQL/SQL Server phiên bản mới nhất (8.0+/15+/2022). Kiểm tra console gcloud hoặc Terraform để thực hiện.
Hy vọng phân tích này giúp bạn ôn thi chứng chỉ Professional Cloud Database Engineer hiệu quả! 🚀
- A Use Bigtable.
- B Use Firestore.
- C Use Cloud SQL for MySQL
- D Use Cloud Spanner.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả một tình huống thực tế trong phát triển ứng dụng: Đội ngũ đang xây dựng ứng dụng quản lý kho hàng (inventory management application) cần cơ sở dữ liệu hỗ trợ đọc/ghi (read and write) ở nhiều vùng (regions) Google Cloud trên toàn cầu. Yêu cầu chính bao gồm:
- 99.99% availability (tính sẵn sàng cao, tức là downtime tối đa chỉ khoảng 4.32 phút/ngày).
- Global transactional consistency (tính nhất quán giao dịch toàn cầu, đảm bảo dữ liệu đồng bộ và chính xác qua các vùng địa lý khác nhau).
- Fully managed relational database (cơ sở dữ liệu quan hệ được quản lý hoàn toàn bởi Google Cloud) để lưu trữ thay đổi kho hàng (inventory changes), đòi hỏi hỗ trợ SQL chuẩn và giao dịch ACID toàn cầu.
📘 Bối cảnh cập nhật đến 2026: Theo tài liệu Google Cloud mới nhất (Cloud Spanner SLA 99.999% cho multi-region configs từ 2023-2026), đây là yêu cầu điển hình cho các ứng dụng phân tán toàn cầu cần strong consistency (không dùng eventual consistency), và chỉ một số dịch vụ relational fully managed mới đáp ứng đầy đủ. Nguồn: Google Cloud Spanner Documentation & Cloud SQL Overview.
✅ Đáp án đúng: Use Cloud Spanner
Lý do lựa chọn:
- Cloud Spanner là cơ sở dữ liệu relational phân tán toàn cầu (globally distributed relational DB) duy nhất của Google Cloud đáp ứng toàn bộ yêu cầu:
- Multi-region replication tự động với 99.999% availability (vượt 99.99% yêu cầu).
- TrueTime công nghệ đảm bảo global transactional consistency (ACID transactions qua các continents, hỗ trợ 2PC - two-phase commit).
- Fully managed, hỗ trợ SQL chuẩn (ANSI SQL 2011+), scale horizontally lên petabytes, lý tưởng cho inventory changes cần real-time sync.
- Không dịch vụ nào khác kết hợp relational + global strong consistency + high SLA như vậy.
🛠️ Nguồn: Cloud Spanner Features - Global Distribution.
❌ Giải thích tất cả các phương án (đúng/sai)
-
Use Bigtable ❌ SAI:
Bigtable là NoSQL wide-column store, không phải relational DB (không hỗ trợ SQL đầy đủ hoặc ACID transactions phức tạp). Chỉ cung cấp eventual consistency (không global transactional), phù hợp cho analytics/big data chứ không phải inventory changes cần strong consistency. Availability cao nhưng không đạt global transactions.
🧩 Nguồn: Bigtable Docs - Consistency Model. -
Use Firestore ❌ SAI:
Firestore là NoSQL document DB, không relational (dùng NoSQL queries, không ACID global). Chỉ hỗ trợ eventual consistency mặc định (strong consistency chỉ intra-region), không scale transactional toàn cầu. Không phù hợp fully managed relational cho multi-region reads/writes đồng bộ.
🧩 Nguồn: Firestore Consistency Guarantees. -
Use Cloud SQL for MySQL ❌ SAI:
Cloud SQL for MySQL là relational fully managed, hỗ trợ high availability (99.99%) qua regional HA/replicas, nhưng không hỗ trợ global transactional consistency (cross-region chỉ read replicas eventual consistency, không true global transactions). Phải dùng thêm công cụ như external replication, phức tạp và không fully managed global.
🧩 Nguồn: Cloud SQL HA & Multi-Region (xác nhận chỉ regional strong consistency đến 2026).
Tóm lại, Cloud Spanner là lựa chọn duy nhất hoàn hảo 🏆 cho kịch bản này! Nếu cần triển khai, bắt đầu với instance multi-region config.
- A View Cloud SQL operations to view historical query information.
- B White a Logs Explorer query to identify database queries with high execution times.
- C Review application logs to identify database calls.
- D Use the Query Insights dashboard to identify high execution times.
Xem giải thích
🧩 Phân tích chi tiết câu hỏi
✅ Nội dung câu hỏi:
Câu hỏi mô tả tình huống bạn là quản trị viên cơ sở dữ liệu (database administrator) của một instance Cloud SQL for PostgreSQL trên Google Cloud, nơi mà plugin pgaudit đã bị tắt (disabled). Người dùng phàn nàn rằng các truy vấn (queries) của họ đang chạy chậm hơn, hiệu suất tổng thể suy giảm trong vài tháng qua. Nhiệm vụ là thu thập và phân tích dữ liệu hiệu suất truy vấn để xác định các truy vấn chạy chậm (slow-running queries).
🛠️ Bối cảnh chính: Cloud SQL là dịch vụ managed database của Google Cloud. Với pgaudit disabled, không có audit logs chi tiết từ PostgreSQL, nên cần công cụ chuyên dụng để theo dõi hiệu suất query mà không phụ thuộc vào logs auditing. Mục tiêu là tìm slow queries một cách hiệu quả, sử dụng tính năng native của Cloud SQL (dựa trên phiên bản mới nhất đến 2026, Query Insights vẫn là công cụ chuẩn cho PostgreSQL trên Cloud SQL).
🟢 Đáp án đúng và lý do lựa chọn
✅ Đáp án đúng: Use the Query Insights dashboard to identify high execution times.
Lý do chi tiết:
Query Insights là dashboard chuyên dụng trong Google Cloud Console cho Cloud SQL (PostgreSQL, MySQL, SQL Server), giúp thu thập dữ liệu từ pg_stat_statements (extension PostgreSQL theo dõi thống kê query) mà không cần pgaudit. Nó hiển thị top slow queries, execution time, CPU usage, rows examined... theo thời gian thực và lịch sử (lên đến 14 ngày). Đây là cách tối ưu nhất để identify slow-running queries, hỗ trợ phân tích sâu như explain plans. Tính năng này được cập nhật liên tục đến 2026, tích hợp AI insights cho troubleshooting (theo docs Google Cloud 2024-2026).
📘 Nguồn tham khảo:
- Cloud SQL Query Insights documentation (Google Cloud official docs, updated 2025).
- PostgreSQL pg_stat_statements in Cloud SQL.
❌ Phân tích tất cả các phương án (đúng/sai)
Dưới đây là giải thích từng lựa chọn, giữ nguyên nội dung gốc bằng tiếng Anh, kèm phân tích bằng tiếng Việt rõ ràng:
-
View Cloud SQL operations to view historical query information.
❌ Sai: Cloud SQL operations (trong phần Operations tab của Console) chỉ ghi nhận các hoạt động quản trị như tạo instance, backup, scale, restart... không chứa thông tin query performance hay historical query data. Nó không giúp identify slow queries, chỉ phù hợp cho monitoring instance-level events. -
White a Logs Explorer query to identify database queries with high execution times.
❌ Sai (lưu ý: có lỗi chính tả "White" thay vì "Write"): Logs Explorer (trong Google Cloud Logging) dùng để query logs, nhưng với pgaudit disabled, Cloud SQL không ghi query logs chi tiết (chỉ có general logs nếu enabled query logging riêng). Ngay cả khi có logs, nó không cung cấp metrics execution time chuẩn hóa hay phân tích performance sâu như top queries, dễ miss slow queries ngẫu nhiên. -
Review application logs to identify database calls.
❌ Sai: Application logs (từ app server hoặc Stackdriver/Cloud Logging của ứng dụng) chỉ ghi database calls ở mức cao (như connection time), không có dữ liệu nội bộ query performance từ database engine. Nó phụ thuộc vào instrumentation của app (ví dụ: không có execution time chi tiết từ PostgreSQL), không đáng tin cậy cho phân tích slow queries trong Cloud SQL. -
Use the Query Insights dashboard to identify high execution times.
✅ Đúng: Như đã giải thích ở trên, đây là công cụ chính xác và được thiết kế dành riêng cho việc collect/analyze query performance trong Cloud SQL PostgreSQL, hoạt động độc lập với pgaudit, hỗ trợ historical data và visualizations trực quan.
🛠️ Lời khuyên thực tế: Kích hoạt Query Insights ngay trong Console (Query tab > Insights), kết hợp với Performance Insights cho deeper analysis. Nếu cần nâng cao, enable query insights export to BigQuery cho ML-based tuning (tính năng mới 2025+).
- A Create one regional Cloud SQL instance with a read replica in another region.
- B Create one regional Cloud SQL instance in one zone with a standby instance in another zone in the same region.
- C Create two read-write Cloud SQL instances in two different zones with a standby instance in another region.
- D Create two read-write Cloud SQL instances in two different regions with a standby instance in another zone.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào việc cấu hình một instance PostgreSQL mới trong Cloud SQL (Google Cloud) để đạt được môi trường tối ưu, khả dụng cao (high availability - HA) với tự động failover nhằm tránh gián đoạn không kế hoạch (unplanned outage).
-
Yêu cầu chính:
- Sử dụng regional Cloud SQL instance (không phải zonal, để hỗ trợ HA).
- Đảm bảo automatic failover (chuyển đổi tự động khi primary instance gặp sự cố).
- PostgreSQL hỗ trợ HA qua cơ chế standby instance (bản sao dự phòng) trong cùng region nhưng khác zone, giúp phục hồi nhanh chóng (thường dưới 60 giây) mà không mất dữ liệu.
-
Bối cảnh: Cloud SQL HA cho PostgreSQL sử dụng synchronous replication giữa primary và standby instance. Khi primary fail, standby tự động được promote thành primary. Điều này tối ưu chi phí (chỉ 1 primary + 1 standby) và hiệu suất cao so với multi-region setup phức tạp hơn.
(Kiến thức cập nhật đến 2026: Cloud SQL HA vẫn giữ nguyên cơ chế này theo docs GCP mới nhất, hỗ trợ PostgreSQL 16+ với cải tiến failover time <30s ở một số region.)
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Create one regional Cloud SQL instance in one zone with a standby instance in another zone in the same region.
Lý do:
- Đây là cấu hình High Availability (HA) chuẩn của Cloud SQL cho PostgreSQL 🛡️️.
- Regional instance: Primary ở một zone, standby ở zone khác cùng region → Hỗ trợ automatic failover nhanh chóng, zero-downtime cho read/write.
- Tối ưu: Chỉ cần 1 instance chính + 1 standby, synchronous replication đảm bảo no data loss (RPO=0), chi phí thấp hơn read replicas cross-region.
- Tránh outage: Failover tự động kích hoạt khi primary unhealthy, không cần can thiệp thủ công.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ Phương án SAI: Create one regional Cloud SQL instance with a read replica in another region.
Lý do sai: Read replica chỉ hỗ trợ read-only (không failover cho write traffic). Cross-region replication là asynchronous, dẫn đến data loss tiềm năng và manual failover (không automatic). Không đạt HA tối ưu, chỉ phù hợp scale reads. -
✅ Phương án ĐÚNG: Create one regional Cloud SQL instance in one zone with a standby instance in another zone in the same region.
Lý do đúng: Như đã giải thích ở trên – Đây là cấu hình HA chính thức của Cloud SQL, đảm bảo automatic failover intra-region với synchronous replication 🏆. -
❌ Phương án SAI: Create two read-write Cloud SQL instances in two different zones with a standby instance in another region.
Lý do sai: Cloud SQL không hỗ trợ tạo "two read-write instances" thủ công như vậy (dẫn đến conflict replication). Standby cross-region không automatic failover, phức tạp và không tối ưu (tăng chi phí, latency cao). -
❌ Phương án SAI: Create two read-write Cloud SQL instances in two different regions with a standby instance in another zone.
Lý do sai: Không khả thi trong Cloud SQL – Không có active-active read-write cross-region tự động. Multi-region cần external replication tools (như Logical Replication), không automatic failover, dễ gây data inconsistency và outage lớn hơn.
📘 Tài liệu tham khảo
- Cloud SQL High Availability (HA) for PostgreSQL (GCP Docs, cập nhật 2025).
- Cloud SQL Instances: Regional vs Zonal – Xác nhận HA config.
- Best Practices: Designing Highly Available Databases (GCP Architecture Center, 2026 preview).
Cấu hình này giúp ứng dụng của bạn chạy mượt mà 99.99% uptime! 🚀 Nếu cần demo Terraform/CLI, hỏi thêm nhé!
- A Create a new Cloud SQL for MySQL instance, enable HA, and use the export and import option to migrate your data.
- B Create a new Cloud SQL for MySQL instance, enable HA, and use Cloud Data Fusion to migrate your data.
- C Use the gcloud instances patch command to update your existing Cloud SQL for MySQL instance.
- D Shut down your existing Cloud SQL for MySQL instance, and enable HA.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào tình huống kiểm toán nội bộ phát hiện một instance Cloud SQL for MySQL (dịch vụ cơ sở dữ liệu quan hệ trên Google Cloud) không bật tính năng High Availability (HA). HA giúp đảm bảo tính sẵn sàng cao bằng cách tự động tạo standby instance ở một zone khác trong cùng region, cho phép failover tự động nếu primary instance gặp sự cố (như outage zone hoặc lỗi phần cứng).
📌 Mục tiêu: Áp dụng best practices được Google khuyến nghị để bật HA trên instance hiện có mà không gây gián đoạn lớn, đảm bảo dữ liệu không mất và dịch vụ liên tục.
🛠️ Bối cảnh kỹ thuật: Cloud SQL hỗ trợ HA cho MySQL từ các phiên bản mới nhất (cập nhật đến 2026, theo Google Cloud docs v2024+), nhưng chỉ bật được trên instance regional (không phải zonal), và quá trình phải in-place (nâng cấp tại chỗ) để tránh downtime dài.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Use the gcloud instances patch command to update your existing Cloud SQL for MySQL instance.
Lý do:
- Google khuyến nghị chính thức sử dụng lệnh
gcloud sql instances patchđể nâng cấp HA in-place trên instance hiện có. Lệnh này cập nhật flag--availability-type=REGIONALmà không cần dừng instance hoặc tạo mới, chỉ gây downtime ngắn (vài phút) khi tạo standby replica. - Quá trình tự động: Primary instance tiếp tục phục vụ, standby sync dữ liệu real-time qua replication.
- ✅ Ưu điểm: Tuân thủ best practices, nhanh chóng, chi phí thấp, không migrate dữ liệu thủ công. Áp dụng cho phiên bản Cloud SQL MySQL 5.7+ / 8.0+ (cập nhật 2026).
📘 Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng phương án một cách chi tiết, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên docs Google Cloud mới nhất (2024-2026):
-
[SAI] Create a new Cloud SQL for MySQL instance, enable HA, and use the export and import option to migrate your data.
❌ Sai vì: Tạo instance mới rồi export/import dữ liệu (qua mysqldump hoặc SQL dump) là cách không được khuyến nghị cho production. Nó gây downtime dài (giờ đến ngày), rủi ro mất dữ liệu nếu dump lớn, và không hỗ trợ incremental migration tốt. Google ưu tiên in-place upgrade thay vì recreate để tránh complexity. Không phải best practice! -
[SAI] Create a new Cloud SQL for MySQL instance, enable HA, and use Cloud Data Fusion to migrate your data.
❌ Sai vì: Cloud Data Fusion (dịch vụ ETL trên Google Cloud) dùng cho batch/CDC migration lớn giữa các hệ thống (như on-prem sang Cloud SQL), không phù hợp cho migrate nội bộ Cloud SQL-to-Cloud SQL. Nó phức tạp, tốn kém (cần pipeline setup), và downtime cao. Google không recommend cho trường hợp đơn giản như enable HA. -
[ĐÚNG] Use the gcloud instances patch command to update your existing Cloud SQL for MySQL instance.
✅ Đúng vì: Như đã giải thích ở trên. Lệnh cụ thể:gcloud sql instances patch [INSTANCE_NAME] --availability-type=REGIONAL --default-instance-region=[REGION]. Instance phải stopped ngắn (maintenance window), sau đó HA tự enable với failover tự động. Hoàn hảo cho audit fix nhanh! -
[SAI] Shut down your existing Cloud SQL for MySQL instance, and enable HA.
❌ Sai vì: Không thể bật HA chỉ bằng cách shut down! HA yêu cầu regional configuration từ đầu hoặc qua patch, standby instance phải sync real-time. Shut down chỉ dừng instance (mất tính sẵn sàng), và bật HA sau shutdown vẫn cần patch command hoặc recreate. Gây downtime không cần thiết và không theo quy trình Google.
📚 Tài liệu tham khảo (cập nhật mới nhất đến 2026)
- Google Cloud Docs chính thức: Enable high availability for Cloud SQL (v2024.10+, xác nhận
gcloud sql instances patchlà cách chính). - gcloud Reference: gcloud sql instances patch (hỗ trợ
--availability-type=REGIONAL). - Best Practices Guide: Cloud SQL Reliability – Nhấn mạnh in-place HA enable để giảm RTO < 60s.
- Release Notes 2025-2026: HA cải tiến với multi-zone failover nhanh hơn 20% (GA từ Q1/2025).
🛡️ Lưu ý: Luôn test trên staging trước khi apply production để tránh SLA impact! Nếu cần script tự động, dùng Terraform hoặc Cloud Shell.