Ngân hàng đề — Google Cloud Professional Cloud Database Engineer

Tìm thấy 169 câu.

Câu 101
You are managing a set of Cloud SQL databases in Google Cloud. Regulations require that database backups reside in the region where the database is created. You want to minimize operational costs and administrative effort. What should you do?
  1. A Configure the automated backups to use a regional Cloud Storage bucket as a custom location.
  2. B Use the default configuration for the automated backups location.
  3. C Disable automated backups, and create an on-demand backup routine to a regional Cloud Storage bucket.
  4. D Disable automated backups, and configure serverless exports to a regional Cloud Storage bucket.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi xoay quanh việc quản lý các cơ sở dữ liệu Cloud SQL trên Google Cloud Platform (GCP). Yêu cầu chính là đảm bảo backup tự động (automated backups) của database phải lưu trữ trong cùng vùng (region) nơi database được tạo, để tuân thủ quy định pháp lý (regulations). Đồng thời, cần giảm thiểu chi phí vận hành (operational costs) và nỗ lực quản trị (administrative effort).

🛠️ Bối cảnh kỹ thuật:

  • Cloud SQL là dịch vụ managed database (hỗ trợ MySQL, PostgreSQL, SQL Server).
  • Automated backups mặc định lưu vào multi-region Cloud Storage bucket (như us hoặc eu), có thể không tuân thủ quy định vùng-specific.
  • Giải pháp cần giữ tính tự động, đơn giản, tiết kiệm để tránh thủ công can thiệp.

📘 Kiến thức cập nhật đến 2026: Theo tài liệu GCP mới nhất (phiên bản Cloud SQL 2024+), bạn có thể cấu hình custom location cho automated backups là regional Cloud Storage bucket, đảm bảo dữ liệu ở đúng vùng mà không mất tính tự động (xem nguồn bên dưới).

✅ Đáp án đúng và lý do lựa chọn

Configure the automated backups to use a regional Cloud Storage bucket as a custom location.

Lý do:

  • Phương án này giữ nguyên tính tự động của backups (không cần disable), chỉ cần cấu hình custom location là regional bucket (ví dụ: bucket ở us-central1 nếu DB ở vùng đó).
  • Tiết kiệm chi phí: Sử dụng automated backups rẻ hơn on-demand/export thủ công; regional bucket rẻ hơn multi-region.
  • Giảm nỗ lực quản trị: Một lần config qua Console/CLI/gcloud, sau đó tự động chạy hàng ngày.
  • Hoàn hảo tuân thủ quy định vùng mà không thay đổi workflow hiện tại.

📋 Giải thích tất cả các phương án (đúng/sai)

  • ✅ Configure the automated backups to use a regional Cloud Storage bucket as a custom location.
    Đúng 🟢: Như giải thích trên, đây là tính năng chính thức của Cloud SQL (từ 2020+, vẫn hỗ trợ đầy đủ 2026). Config đơn giản: gcloud sql instances patch INSTANCE --backup-start-time=... --backup-location=gs://regional-bucket/. Đảm bảo backups ở đúng vùng, tự động, chi phí thấp.

  • ❌ Use the default configuration for the automated backups location.
    Sai 🔴: Mặc định, backups lưu vào multi-region bucket (ví dụ: us), không đảm bảo ở cùng vùng DB (có thể cross-region). Vi phạm quy định, không giải quyết vấn đề.

  • ❌ Disable automated backups, and create an on-demand backup routine to a regional Cloud Storage bucket.
    Sai 🔴: Disable automated mất tính tự động hàng ngày; on-demand backup phải script thủ công (Cloud Scheduler + gcloud sql backups create), tăng nỗ lực quản trị và chi phí (on-demand đắt hơn automated). Không tối ưu.

  • ❌ Disable automated backups, and configure serverless exports to a regional Cloud Storage bucket.
    Sai 🔴: Serverless export (SQL dump) không phải backup đầy đủ (không point-in-time recovery), disable automated mất tính tự động. Phải schedule thủ công qua Cloud Functions/Composer, tăng chi phí và phức tạp, không khuyến nghị cho production.

🔗 Tài liệu tham khảo chính thức (cập nhật 2026)

Phương án đúng giúp tuân thủ quy định + tối ưu hóa một cách thông minh! 🚀

Câu 102
Your ecommerce application connecting to your Cloud SQL for SQL Server is expected to have additional traffic due to the holiday weekend. You want to follow Google-recommended practices to set up alerts for CPU and memory metrics so you can be notified by text message at the first sign of potential issues. What should you do?
  1. A Use a Cloud Function to pull CPU and memory metrics from your Cloud SQL instance and to call a custom service to send alerts.
  2. B Use Error Reporting to monitor CPU and memory metrics and to configure SMS notification channels.
  3. C Use Cloud Logging to set up a log sink for CPU and memory metrics and to configure a sink destination to send a message to Pub/Sub.
  4. D Use Cloud Monitoring to set up an alerting policy for CPU and memory metrics and to configure SMS notification channels.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi mô tả một ứng dụng thương mại điện tử (ecommerce) đang kết nối với Cloud SQL for SQL Server trên Google Cloud, dự kiến có lưu lượng truy cập tăng cao do kỳ nghỉ lễ cuối tuần. Bạn cần tuân thủ thực hành khuyến nghị của Google để thiết lập cảnh báo (alerts) cho các chỉ số CPU và memory, nhằm nhận thông báo qua tin nhắn SMS ngay khi có dấu hiệu vấn đề tiềm ẩn.

Mục tiêu chính là sử dụng công cụ phù hợp nhất trong Google Cloud để giám sát metrics thời gian thực, tạo chính sách alerting, và gửi thông báo SMS – đảm bảo tính đơn giản, đáng tin cậy và theo best practices (cập nhật đến năm 2026, với Cloud Monitoring hỗ trợ đầy đủ metrics cho Cloud SQL, bao gồm CPU utilization và memory usage qua các metric như cloudsql.googleapis.com/database/cpu/utilization và cloudsql.googleapis.com/database/memory/utilization).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Use Cloud Monitoring to set up an alerting policy for CPU and memory metrics and to configure SMS notification channels.

Lý do:

  • 🛠️ Cloud Monitoring (trước đây là Stackdriver Monitoring) là dịch vụ chính thức và được Google khuyến nghị để giám sát metrics của Cloud SQL, bao gồm CPU và memory. Bạn có thể tạo alerting policy dựa trên ngưỡng (threshold) cho các metric cụ thể, và cấu hình notification channels hỗ trợ SMS trực tiếp qua Google Cloud Console hoặc Terraform.
  • 📈 Điều này tuân thủ best practices: Tự động, scalable, tích hợp native với Cloud SQL mà không cần code tùy chỉnh, và hỗ trợ alerting proactive cho high-traffic scenarios như holiday peaks.
  • 🚀 Cập nhật 2026: Cloud Monitoring v3+ hỗ trợ AI-powered anomaly detection cho database metrics, đảm bảo phát hiện sớm issues.

📋 Giải thích tất cả các phương án

Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Tôi đánh dấu ✅ cho đúng và ❌ cho sai, kèm lý do cụ thể bằng tiếng Việt:

  • ❌ Use a Cloud Function to pull CPU and memory metrics from your Cloud SQL instance and to call a custom service to send alerts.
    Lý do sai: Phương án này yêu cầu tự xây dựng Cloud Function để kéo metrics thủ công (qua Cloud Monitoring API) và gọi service tùy chỉnh gửi SMS – phức tạp, không scalable, tốn chi phí vận hành, và không phải best practice của Google. Cloud Monitoring đã cung cấp alerting native, không cần custom code. Rủi ro cao với high-traffic (latency, cold starts).

  • ❌ Use Error Reporting to monitor CPU and memory metrics and to configure SMS notification channels.
    Lý do sai: Error Reporting chỉ dành cho theo dõi lỗi ứng dụng (errors/exceptions), không hỗ trợ metrics như CPU/memory. Nó không có alerting cho performance metrics, và SMS channels không tích hợp cho metrics monitoring. Sử dụng sai công cụ dẫn đến không detect được issues kịp thời.

  • ❌ Use Cloud Logging to set up a log sink for CPU and memory metrics and to configure a sink destination to send a message to Pub/Sub.
    Lý do sai: Cloud Logging xử lý logs (nhật ký sự kiện), không phải metrics thời gian thực như CPU/memory (metrics nằm ở Cloud Monitoring). Log sink chỉ export logs sang Pub/Sub/BigQuery, không alerting trực tiếp cho metrics, và không hỗ trợ SMS native. Phương án này gián tiếp, chậm trễ, không phù hợp cho real-time alerts.

  • ✅ Use Cloud Monitoring to set up an alerting policy for CPU and memory metrics and to configure SMS notification channels.
    Lý do đúng: Như đã giải thích ở trên – công cụ chuẩn, native support metrics Cloud SQL (CPU/memory), alerting policy dễ config với conditions (e.g., >80% CPU), và SMS channels qua Contact Groups hoặc trực tiếp. Best practice cho proactive monitoring.

📘 Tài liệu tham khảo

Nếu cần demo config hoặc Terraform sample, hãy cho tôi biết! 🚀

Câu 103
You finished migrating an on-premises MySQL database to Cloud SQL. You want to ensure that the daily export of a table, which was previously a cron job running on the database server, continues. You want the solution to minimize cost and operations overhead. What should you do?
  1. A Use Cloud Scheduler and Cloud Functions to run the daily export.
  2. B Create a streaming Datatlow job to export the table.
  3. C Set up Cloud Composer, and create a task to export the table daily.
  4. D Run the cron job on a Compute Engine instance to continue the export.
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ả tình huống sau khi migrate (di chuyển) cơ sở dữ liệu MySQL từ on-premises lên Cloud SQL (dịch vụ managed MySQL trên Google Cloud). Trước đây, có một cron job hàng ngày chạy trực tiếp trên server database để export một bảng cụ thể. Bây giờ, bạn cần tiếp tục quy trình export này, nhưng phải chọn giải pháp tối ưu hóa chi phí thấp nhất (minimize cost) và giảm thiểu overhead vận hành (operations overhead) – nghĩa là tránh quản lý server, tài nguyên thủ công, và chỉ trả tiền theo sử dụng thực tế.
📘 Mục tiêu chính: Thay thế cron job cũ bằng giải pháp serverless, tự động, không cần duy trì máy chủ liên tục. Cloud SQL hỗ trợ export qua SQL dump hoặc Cloud Storage, và cần scheduler để chạy định kỳ.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Use Cloud Scheduler and Cloud Functions to run the daily export.

Lý do chi tiết:
🛠️ Cloud Scheduler là dịch vụ serverless để lên lịch job hàng ngày (thay thế cron), chi phí chỉ tính theo số job chạy (rẻ, khoảng 0.10 USD/1000 job).
🛠️ Cloud Functions (nay gọi là Cloud Functions 2nd gen với hỗ trợ Node.js/Python mới nhất 2024-2026) chạy code ngắn để gọi API export của Cloud SQL (ví dụ: dùng gcloud sql export sql hoặc client library để dump bảng vào Cloud Storage). Toàn bộ serverless, scale tự động, không quản lý VM, chi phí thấp (pay-per-use, miễn phí tier đầu), overhead gần như zero vì không cần monitor server.
✅ Đây là giải pháp tối ưu nhất theo best practice Google Cloud (cập nhật 2026: hỗ trợ event-driven với Eventarc cho reliability cao hơn).

📋 Giải thích tất cả các phương án (đúng/sai)

Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc bằng tiếng Anh, với đánh giá đúng/sai và lý do bằng tiếng Việt. Tôi sử dụng kiến thức Google Cloud mới nhất (2026: Cloud SQL v2.20+, Scheduler v2 với Pub/Sub native).

  • Use Cloud Scheduler and Cloud Functions to run the daily export.
    ✅ ĐÚNG (như đã giải thích ở trên). Giải pháp serverless lý tưởng, minimize cost/overhead hoàn hảo cho job đơn giản hàng ngày. Không cần provision tài nguyên cố định.

  • Create a streaming Dataflow job to export the table.
    ❌ SAI. Dataflow (Apache Beam managed) dành cho streaming/batch lớn, continuous processing (như ETL real-time), không phù hợp export bảng hàng ngày định kỳ (batch nhỏ). Chi phí cao (vCPU theo giờ, minimum cluster), overhead lớn (cần code pipeline phức tạp, debug), vi phạm yêu cầu minimize.

  • Set up Cloud Composer, and create a task to export the table daily.
    ❌ SAI. Cloud Composer (Managed Apache Airflow) mạnh cho workflow phức tạp, multi-task orchestration, nhưng cho job đơn giản chỉ export 1 bảng thì overhead quá cao (cần setup environment, GKE cluster, chi phí ~50-100 USD/tháng idle). Không tối ưu so với Scheduler + Functions.

  • Run the cron job on a Compute Engine instance to continue the export.
    ❌ SAI. Chạy cron trên VM Compute Engine giống hệt cách cũ on-premises, phải quản lý instance 24/7 (patch OS, scaling, monitoring), chi phí cao (VM always-on ~20-50 USD/tháng), overhead vận hành lớn – trái ngược hoàn toàn yêu cầu minimize.

📚 Tài liệu tham khảo (cập nhật mới nhất 2026)

🧠 Kết luận: Giải pháp đúng tận dụng serverless native của Google Cloud, giúp tiết kiệm 80-90% chi phí so với các option kia! Nếu cần code sample, hãy hỏi thêm nhé. 🚀

Câu 104
Your organization needs to migrate a critical, on-premises MySQL database to Cloud SQL for MySQL. The on-premises database is on a version of MySQL that is supported by Cloud SQL and uses the InnoDB storage engine. You need to migrate the database while preserving transactions and minimizing downtime. What should you do?
  1. A 1. Use Database Migration Service to connect to your on-premises database, and choose continuous replication.
    2. After the on-premises database is migrated, promote the Cloud SQL for MySQL instance, and connect applications to your Cloud SQL instance.
  2. B 1. Build a Cloud Data Fusion pipeline for each table to migrate data from the on-premises MySQL database to Cloud SQL for MySQL.
    2. Schedule downtime to run each Cloud Data Fusion pipeline.
    3. Verify that the migration was successful.
    4. Re-point the applications to the Cloud SQL for MySQL instance.
  3. C 1. Pause the on-premises applications.
    2. Use the mysqldump utility to dump the database content in compressed format.
    3. Run gsutil –m to move the dump file to Cloud Storage.
    4. Use the Cloud SQL for MySQL import option.
    5. After the import operation is complete, re-point the applications to the Cloud SQL for MySQL instance.
  4. D 1 Pause the on-premises applications.
    2. Use the mysqldump utility to dump the database content in CSV format.
    3. Run gsutil –m to move the dump file to Cloud Storage.
    4. Use the Cloud SQL for MySQL import option.
    5. After the import operation is complete, re-point the applications to the Cloud SQL for MySQL instance.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi:
Câu hỏi yêu cầu tổ chức của bạn cần di chuyển (migrate) một cơ sở dữ liệu MySQL quan trọng từ on-premises sang Cloud SQL for MySQL (dịch vụ cơ sở dữ liệu MySQL quản lý trên Google Cloud). Cơ sở dữ liệu on-premises đang sử dụng phiên bản MySQL được hỗ trợ bởi Cloud SQL và engine lưu trữ InnoDB. Yêu cầu chính là bảo toàn các giao dịch (transactions) và giảm thiểu thời gian ngừng hoạt động (downtime) trong quá trình migrate.
✅ Mục tiêu cốt lõi: Tìm phương pháp migrate hỗ trợ replication liên tục (continuous replication) để đồng bộ dữ liệu thời gian thực, tránh mất mát giao dịch và downtime lớn, phù hợp với môi trường production critical.

✅ Đáp án đúng: Lựa chọn 1
Lý do chọn đáp án này (theo kiến thức cập nhật Google Cloud đến 2026):
Database Migration Service (DMS) của Google Cloud là công cụ chuyên dụng để migrate cơ sở dữ liệu từ on-premises sang Cloud SQL, hỗ trợ continuous replication cho MySQL (InnoDB). Quy trình: Kết nối DMS đến DB on-premises, thiết lập replication liên tục để đồng bộ dữ liệu và giao dịch thời gian thực, sau đó promote instance Cloud SQL thành primary và chuyển ứng dụng sang mà không mất dữ liệu. Điều này bảo toàn transactions (nhờ binlog replication) và minimize downtime (chỉ vài phút khi cutover). Phiên bản DMS mới nhất (2026) hỗ trợ MySQL 8.0+ với HA/DR tích hợp.
🛠️ Các bước chính: DMS tự động xử lý schema, data, và ongoing changes.

🛠️ Giải thích tất cả các phương án

  • ✅ Phương án ĐÚNG (1):

    1. Use Database Migration Service to connect to your on-premises database, and choose continuous replication.
    2. After the on-premises database is migrated, promote the Cloud SQL for MySQL instance, and connect applications to your Cloud SQL instance.
      Giải thích: ✅ Phương án này hoàn hảo vì DMS hỗ trợ continuous replication qua binlog, đảm bảo zero data loss cho InnoDB, downtime chỉ ở cutover phase (<5 phút). Promote instance an toàn, tự động failover.
  • ❌ Phương án SAI (2):

    1. Build a Cloud Data Fusion pipeline for each table to migrate data from the on-premises MySQL database to Cloud SQL for MySQL.
    2. Schedule downtime to run each Cloud Data Fusion pipeline.
    3. Verify that the migration was successful.
    4. Re-point the applications to the Cloud SQL for MySQL instance.
      Giải thích: ❌ Cloud Data Fusion dành cho ETL/ELT big data (như Dataflow pipelines), không phải migrate DB realtime. Phải build pipeline từng table → phức tạp, không preserve transactions (chỉ batch copy), và schedule downtime rõ ràng vi phạm yêu cầu minimize downtime. Không hỗ trợ InnoDB binlog.
  • ❌ Phương án SAI (3):

    1. Pause the on-premises applications.
    2. Use the mysqldump utility to dump the database content in compressed format.
    3. Run gsutil –m to move the dump file to Cloud Storage.
    4. Use the Cloud SQL for MySQL import option.
    5. After the import operation is complete, re-point the applications to the Cloud SQL for MySQL instance.
      Giải thích: ❌ Mysqldump (compressed SQL format) là phương pháp dump/import thủ công, yêu cầu pause applications → downtime dài (giờ/ngày tùy kích thước DB). Không continuous replication, mất transactions trong quá trình dump/import. Gsutil chỉ upload file, không hỗ trợ live sync.
  • ❌ Phương án SAI (4):
    1 Pause the on-premises applications.
    2. Use the mysqldump utility to dump the database content in CSV format.
    3. Run gsutil –m to move the dump file to Cloud Storage.
    4. Use the Cloud SQL for MySQL import option.
    5. After the import operation is complete, re-point the applications to the Cloud SQL for MySQL instance.
    Giải thích: ❌ Tương tự phương án 3, nhưng CSV format tệ hơn cho InnoDB (chỉ export data, mất schema/index/constraints đầy đủ, không hỗ trợ transactions/binlog). Import CSV vào Cloud SQL yêu cầu recreate schema thủ công → lỗi-prone, downtime lớn hơn.

📘 Tài liệu tham khảo (cập nhật 2026):

🧩 Kết luận: DMS là lựa chọn tối ưu cho migrate critical DB với low-downtime! Nếu cần demo, tôi có thể hướng dẫn setup. 🚀

Câu 105
Your company is developing a global ecommerce website on Google Cloud. Your development team is working on a shopping cart service that is durable and elastically scalable with live traffic. Business disruptions from unplanned downtime are expected to be less than 5 minutes per month. In addition, the application needs to have very low latency writes. You need a data storage solution that has high write throughput and provides 99.99% uptime. What should you do?
  1. A Use Cloud SQL for data storage.
  2. B Use Cloud Spanner for data storage.
  3. C Use Memorystore for data storage.
  4. D Use Bigtable for data storage.
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 công ty đang phát triển website thương mại điện tử toàn cầu trên Google Cloud. Nhóm phát triển cần xây dựng dịch vụ giỏ hàng (shopping cart service) với các yêu cầu cụ thể sau:

  • Bền vững (durable) và mở rộng đàn hồi (elastically scalable) với lưu lượng truy cập thực tế (live traffic).
  • Thời gian gián đoạn kinh doanh không mong muốn < 5 phút/tháng (tương đương độ khả dụng 99.99% uptime hoặc cao hơn).
  • Ghi dữ liệu với độ trễ rất thấp (very low latency writes).
  • Lưu trữ dữ liệu có thông lượng ghi cao (high write throughput).

Mục tiêu là chọn giải pháp lưu trữ dữ liệu phù hợp nhất trên Google Cloud, tập trung vào tính toàn cầu, độ tin cậy cao và hiệu suất ghi vượt trội. Đây là kịch bản điển hình cho ứng dụng cần sự nhất quán mạnh (strong consistency), phân tán toàn cầu và SLA cao, phù hợp với giỏ hàng nơi cần xử lý giao dịch chính xác, tránh mất dữ liệu.

(Lưu ý: Kiến thức dựa trên tài liệu Google Cloud cập nhật đến 2026, với Cloud Spanner hỗ trợ SLA 99.999% cho cấu hình multi-regional và hiệu suất ghi lên đến hàng triệu QPS – Queries Per Second).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Use Cloud Spanner for data storage.

Lý do:
Cloud Spanner là cơ sở dữ liệu quan hệ phân tán toàn cầu (globally distributed relational database) của Google Cloud, được thiết kế chính xác cho các ứng dụng như giỏ hàng thương mại điện tử. Nó cung cấp:

  • Độ khả dụng 99.99% (regional) hoặc 99.999% (multi-regional), đảm bảo downtime <5 phút/tháng.
  • Ghi với độ trễ thấp (low latency writes) và thông lượng ghi cao (hàng triệu writes/giây nhờ TrueTime và sharding tự động).
  • Mở rộng đàn hồi ngang (horizontal scaling), bền vững với replication đa vùng, hỗ trợ giao dịch ACID toàn cầu.
  • Hoàn hảo cho live traffic toàn cầu mà không cần quản lý phức tạp.

🛠️ Giải thích chi tiết tất cả các phương án

Dưới đây là phân tích từng lựa chọn, giữ nguyên nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên yêu cầu câu hỏi (uptime 99.99%, low latency writes, high write throughput, global scalability cho shopping cart).

  • ✅ Use Cloud Spanner for data storage.
    (Đúng như đã giải thích ở trên – dịch vụ lý tưởng với SLA cao nhất, consistency mạnh và hiệu suất toàn cầu).

  • ❌ Use Cloud SQL for data storage.
    Cloud SQL là cơ sở dữ liệu quan hệ managed (MySQL/PostgreSQL), phù hợp OLTP nhưng không phân tán toàn cầu tự nhiên. Nó chỉ đạt SLA 99.95% (High Availability) hoặc 99.99% với multi-zone, nhưng thiếu scalability toàn cầu mượt mà, độ trễ writes cao hơn ở quy mô lớn, và không tối ưu cho high write throughput toàn cầu như Spanner. Không phù hợp cho ecommerce global với live traffic cao.

  • ❌ Use Memorystore for data storage.
    Memorystore là dịch vụ in-memory (Redis/Memcached) cho caching, không phải lưu trữ bền vững (durable). Nó có độ trễ cực thấp nhưng dữ liệu mất khi restart/pod fail, không hỗ trợ writes bền vững hoặc transactions ACID. Uptime chỉ 99.9-99.95%, không đạt yêu cầu <5 phút downtime/tháng và không scalable cho shopping cart chính. Chỉ dùng làm cache phụ.

  • ❌ Use Bigtable for data storage.
    Bigtable là NoSQL wide-column store, mạnh về high throughput reads/writes (hàng PB dữ liệu), nhưng eventually consistent (không strong consistency cho transactions giỏ hàng). SLA chỉ 99.99% regional, thiếu low latency writes ACID toàn cầu, và không phải relational – khó xử lý quan hệ phức tạp như shopping cart. Phù hợp analytics hơn là transactional app.

📘 Tài liệu tham khảo (cập nhật 2026)

Hy vọng phân tích này giúp bạn ôn tập hiệu quả! 🚀 Nếu cần thêm ví dụ code hoặc architecture diagram, hãy cho tôi biết.

Câu 106
Your organization has hundreds of Cloud SQL for MySQL instances. You want to follow Google-recommended practices to optimize platform costs. What should you do?
  1. A Use Query Insights to identify idle instances.
  2. B Remove inactive user accounts.
  3. C Run the Recommender API to identify overprovisioned instances.
  4. D Build indexes on heavily accessed tables.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi:
Câu hỏi tập trung vào việc tối ưu hóa chi phí (optimize platform costs) cho hàng trăm instance Cloud SQL for MySQL trong tổ chức của bạn. Cloud SQL là dịch vụ cơ sở dữ liệu quản lý của Google Cloud, hỗ trợ MySQL. Google khuyến nghị các thực hành tốt nhất để giảm chi phí mà không ảnh hưởng đến hiệu suất. Câu hỏi yêu cầu chọn hành động phù hợp nhất theo Google-recommended practices, nhấn mạnh vào việc xác định và khắc phục các vấn đề lãng phí tài nguyên như overprovisioning (cấu hình thừa).

✅ Đáp án đúng:
Run the Recommender API to identify overprovisioned instances.

Lý do lựa chọn (theo kiến thức cập nhật đến 2026):
🛠️ Google Cloud Recommender (trước đây gọi là Recommender API, nay tích hợp trong Cloud Console và API v2) là công cụ chính thức được Google khuyến nghị để tối ưu hóa chi phí cho các dịch vụ như Cloud SQL. Nó tự động phân tích và đề xuất các instance overprovisioned (CPU/RAM thừa, không sử dụng hết), giúp resize hoặc shutdown để tiết kiệm chi phí lên đến 30-50% mà không gián đoạn dịch vụ. Đây là best practice trong Cloud SQL optimization framework (cập nhật 2025), đặc biệt với hàng trăm instance, vì Recommender quét toàn bộ fleet tự động.

📘 Tài liệu tham khảo:

🔍 Giải thích tất cả các phương án (đúng/sai)

  • Use Query Insights to identify idle instances. ❌ Sai
    🧩 Query Insights (trong Cloud SQL Insights) chủ yếu dùng để phân tích query performance và xác định các truy vấn chậm hoặc tốn tài nguyên CPU, không phải để phát hiện idle instances (instance không hoạt động) hoặc tối ưu chi phí tổng thể. Nó tập trung vào workload optimization, không phải resource provisioning. Với hàng trăm instance, công cụ này không scale tốt cho cost management.

  • Remove inactive user accounts. ❌ Sai
    🛠️ Việc xóa tài khoản người dùng không hoạt động là best practice cho bảo mật và tuân thủ (security hygiene), không liên quan trực tiếp đến tối ưu chi phí platform. Nó không ảnh hưởng đến billing của instance (dựa trên CPU/RAM/storage), mà chỉ giảm rủi ro truy cập trái phép.

  • Run the Recommender API to identify overprovisioned instances. ✅ Đúng
    (Như đã giải thích ở trên) 🏆 Đây là giải pháp chính xác, được Google ưu tiên cho cost optimization ở quy mô lớn.

  • Build indexes on heavily accessed tables. ❌ Sai
    📊 Xây dựng index trên bảng truy cập nhiều giúp cải thiện query performance (giảm thời gian thực thi), gián tiếp tiết kiệm CPU nhưng không trực tiếp optimize chi phí instance. Nó không xác định overprovisioned resources, và với hàng trăm instance, đây không phải Google-recommended cho cost platform-wide.

💡 Lời khuyên bổ sung: Để tối ưu toàn diện, kết hợp Recommender với Commitment/Spot VMs và auto-scaling trong Cloud SQL (cập nhật 2026). Nếu cần, sử dụng script Terraform để automate recommendations! 🚀

Câu 107
Your organization is running a critical production database on a virtual machine (VM) on Compute Engine. The VM has an ext4-formatted persistent disk for data files. The database will soon run out of storage space. You need to implement a solution that avoids downtime. What should you do?
  1. A In the Google Cloud Console, increase the size of the persistent disk, and use the resize2fs command to extend the disk.
  2. B In the Google Cloud Console, increase the size of the persistent disk, and use the fdisk command to verify that the new space is ready to use
  3. C In the Google Cloud Console, create a snapshot of the persistent disk, restore the snapshot to a new larger disk, unmount the old disk, mount the new disk, and restart the database service.
  4. D In the Google Cloud Console, create a new persistent disk attached to the VM, and configure the database service to move the files to the new disk.
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ả tình huống: Tổ chức của bạn đang chạy một cơ sở dữ liệu sản xuất quan trọng trên máy ảo (VM) trên Compute Engine (Google Cloud). VM này sử dụng đĩa persistent được format ext4 để lưu trữ file dữ liệu. Cơ sở dữ liệu sắp hết dung lượng lưu trữ. Bạn cần triển khai giải pháp tránh downtime (không gián đoạn dịch vụ).

📌 Yêu cầu chính:

  • Giải pháp phải tăng dung lượng đĩa mà không gây downtime (VM và database tiếp tục chạy bình thường).
  • Đây là tình huống thực tế trên Google Cloud Platform (GCP), tập trung vào việc mở rộng persistent disk (pd-standard hoặc pd-ssd) mà không cần dừng VM.
  • ext4 là filesystem hỗ trợ mở rộng online (in-place resize).

🛠️ Nguyên tắc GCP mới nhất (cập nhật đến 2026): Persistent disk trên Compute Engine hỗ trợ resize online từ Google Cloud Console hoặc gcloud CLI, sau đó sử dụng lệnh resize2fs để mở rộng filesystem ext4 mà không cần unmount đĩa hoặc restart VM/database. Điều này đảm bảo zero-downtime cho database critical.

📘 Tài liệu tham khảo:

✅ Đáp án đúng

In the Google Cloud Console, increase the size of the persistent disk, and use the resize2fs command to extend the disk.

Lý do lựa chọn:

  • Đây là phương pháp chuẩn và zero-downtime theo tài liệu GCP.
  • Bước 1: Tăng size đĩa qua Console (hoặc gcloud) – GCP hỗ trợ resize online cho persistent disk đang attach (tối thiểu 10GB, tăng tối đa 64TB cho pd-ssd).
  • Bước 2: Chạy resize2fs /dev/sda1 (hoặc partition tương ứng) trên VM để filesystem ext4 nhận diện dung lượng mới mà không cần unmount.
  • Kết quả: Database tiếp tục chạy, không restart service. ✅ Hoàn hảo cho production critical!

📋 Giải thích tất cả các phương án

  • ✅ In the Google Cloud Console, increase the size of the persistent disk, and use the resize2fs command to extend the disk.
    Đúng vì: Như phân tích trên, đây là quy trình chính thức của GCP cho ext4 filesystem. Resize online + resize2fs đảm bảo không downtime, filesystem tự động mở rộng. Phù hợp production database. (Tham khảo: GCP Docs - Resize persistent disk).

  • ❌ In the Google Cloud Console, increase the size of the persistent disk, and use the fdisk command to verify that the new space is ready to use.
    Sai vì: fdisk chỉ dùng để tạo/modify partition table, không mở rộng filesystem. Sau resize đĩa, bạn cần resize2fs (cho ext4) chứ không phải fdisk. Sử dụng fdisk có thể gây lỗi partition và không extend được space thực tế, dẫn đến lãng phí dung lượng mới.

  • ❌ In the Google Cloud Console, create a snapshot of the persistent disk, restore the snapshot to a new larger disk, unmount the old disk, mount the new disk, and restart the database service.
    Sai vì: Phương pháp này gây downtime lớn (unmount đĩa → database stop, mount mới → restart service). Snapshot/restore là giải pháp cho migration hoặc backup, không phù hợp zero-downtime. GCP khuyến nghị tránh cách này cho production critical.

  • ❌ In the Google Cloud Console, create a new persistent disk attached to the VM, and configure the database service to move the files to the new disk.
    Sai vì: Tạo đĩa mới và di chuyển file database (copy data) sẽ gây downtime dài (database phải stop để move files an toàn, đặc biệt với production DB lớn). Không tận dụng resize online, phức tạp và rủi ro data inconsistency nếu không quiesce DB trước. GCP không recommend cho trường hợp đơn giản như resize.

🧠 Lưu ý bổ sung: Nếu database là Cloud SQL hoặc AlloyDB, GCP có auto-scaling storage, nhưng câu hỏi chỉ rõ VM trên Compute Engine → self-managed DB. Luôn test trên staging trước! 🚀

Câu 108
You want to migrate your on-premises PostgreSQL database to Compute Engine. You need to migrate this database with the minimum downtime possible. What should you do?
  1. A Perform a full backup of your on-premises PostgreSQL, and then, in the migration window, perform an incremental backup.
  2. B Create a read replica on Cloud SQL, and then promote it to a read/write standalone instance.
  3. C Use Database Migration Service to migrate your database.
  4. D Create a hot standby on Compute Engine, and use PgBouncer to switch over the connections.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi yêu cầu di chuyển cơ sở dữ liệu PostgreSQL từ on-premises (máy chủ tại chỗ) sang Compute Engine (dịch vụ máy ảo tự quản lý trên Google Cloud) với thời gian gián đoạn (downtime) nhỏ nhất có thể.
✅ Mục tiêu chính: Đảm bảo quá trình migration gần như zero-downtime (không gián đoạn dịch vụ), nghĩa là ứng dụng vẫn có thể đọc/ghi dữ liệu liên tục trong lúc chuyển đổi.
🛠️ Bối cảnh: PostgreSQL là cơ sở dữ liệu tự quản lý (self-managed), và Compute Engine yêu cầu cài đặt thủ công PostgreSQL trên VM. Phương pháp lý tưởng phải hỗ trợ replication liên tục (như streaming replication) và switchover mượt mà mà không cần dừng toàn bộ hệ thống lâu.
📘 Kiến thức cập nhật (2026): Theo tài liệu Google Cloud mới nhất (Google Cloud Skills Boost & Database Migration docs), migration self-managed PostgreSQL sang Compute Engine ưu tiên hot standby với connection pooling để đạt minimal downtime, khác với managed services như Cloud SQL.

✅ Đáp án đúng

Create a hot standby on Compute Engine, and use PgBouncer to switch over the connections.

Lý do lựa chọn:
🟢 Đây là phương pháp chuẩn và hiệu quả nhất cho migration PostgreSQL self-managed sang Compute Engine với minimal downtime (gần zero).

  • Hot standby: Tạo replica (standby server) trên Compute Engine sử dụng PostgreSQL streaming replication (WAL-based, continuous sync từ primary on-prem). Dữ liệu được replicate real-time.
  • PgBouncer: Công cụ connection pooler/proxy cho PostgreSQL, cho phép switchover connections nhanh chóng (chuyển từ on-prem primary sang Compute Engine standby mà không cần thay đổi connection string ngay lập tức). Downtime chỉ vài giây (promotion standby thành primary + DNS/update PgBouncer config).
    🛠️ Quy trình: Setup replication → Sync dữ liệu → Promote standby → Switch PgBouncer → Decommission on-prem.
    📘 Nguồn: Google Cloud PostgreSQL Migration Guide & PgBouncer docs on Google Cloud (cập nhật 2025).

📋 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 tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên yêu cầu minimal downtime và đích đến là Compute Engine (không phải Cloud SQL).

  • ❌ SAI: Perform a full backup of your on-premises PostgreSQL, and then, in the migration window, perform an incremental backup.
    Phương án này sử dụng backup truyền thống (full + incremental, ví dụ pg_dump/pg_basebackup + WAL archive).
    Lý do sai: Có downtime lớn (phải dừng ứng dụng trong "migration window" để apply incremental và restore). Không hỗ trợ continuous replication, phù hợp cho cold migration chứ không phải minimal downtime. Không tận dụng real-time sync.

  • ❌ SAI: Create a read replica on Cloud SQL, and then promote it to a read/write standalone instance.
    Phương án đề xuất tạo read replica trên Cloud SQL (managed PostgreSQL) rồi promote thành standalone.
    Lý do sai: Đích đến sai – câu hỏi yêu cầu Compute Engine (self-managed VM), không phải Cloud SQL (managed service). Cloud SQL replica chỉ hỗ trợ migrate nội bộ managed-to-managed, và promote vẫn gây downtime ngắn (vài phút). Không phù hợp cho self-managed migration.

  • ❌ SAI: Use Database Migration Service to migrate your database.
    Sử dụng Database Migration Service (DMS) của Google Cloud.
    Lý do sai: DMS (phiên bản 2026 với CDC - Change Data Capture) hỗ trợ PostgreSQL on-prem → Cloud SQL/AlloyDB với continuous migration (minimal downtime ~1-5 phút lag). Nhưng không hỗ trợ trực tiếp Compute Engine (self-managed VM), vì DMS nhắm đến managed services. Phải setup manual replication riêng, không phải giải pháp "out-of-box" minimal downtime cho Compute Engine.

  • ✅ ĐÚNG: Create a hot standby on Compute Engine, and use PgBouncer to switch over the connections.
    (Đã giải thích chi tiết ở phần đáp án đúng ở trên). Đây là best practice cho zero-downtime PostgreSQL self-managed migration trên Google Cloud.

🧩 Tóm tắt so sánh: Các phương án sai gây downtime cao hơn hoặc không khớp đích đến, chỉ hot standby + PgBouncer mới đạt yêu cầu chính xác.
📘 Tài liệu tham khảo bổ sung:

Câu 109
You have an application that sends banking events to Bigtable cluster-a in us-east. You decide to add cluster-b in us-central1. Cluster-a replicates data to cluster-b. You need to ensure that Bigtable continues to accept read and write requests if one of the clusters becomes unavailable and that requests are routed automatically to the other cluster. What deployment strategy should you use?
  1. A Use the default app profile with single-cluster routing.
  2. B Use the default app profile with multi-cluster routing.
  3. C Create a custom app profile with multi-cluster routing.
  4. D Create a custom app profile with single-cluster routing.
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 Google Cloud Bigtable (không phải AWS như đề cập nhầm, vì Bigtable là dịch vụ NoSQL của Google Cloud). Tình huống:

  • Ứng dụng gửi sự kiện ngân hàng (banking events) đến cluster-a tại vùng us-east.
  • Thêm cluster-b tại us-central1, với cluster-a replicate dữ liệu sang cluster-b (chế độ replication).
  • Yêu cầu: Đảm bảo Bigtable tiếp tục chấp nhận read/write requests nếu một cluster unavailable, và tự động route requests đến cluster còn lại (high availability và automatic failover).
  • Cần chọn deployment strategy phù hợp liên quan đến app profile trong Bigtable.

Mục tiêu chính là sử dụng multi-cluster routing để client tự động route đến cluster lành mạnh nhất, hỗ trợ replication và fault tolerance. Bigtable replication yêu cầu cấu hình app profile đúng để đạt HA (High Availability). (Kiến thức cập nhật đến 2026: Bigtable vẫn giữ nguyên cơ chế app profile cho multi-cluster từ các bản update 2023-2025, không thay đổi lớn).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Create a custom app profile with multi-cluster routing.

🛠️ Lý do chi tiết:

  • Trong Bigtable replicated instance (nhiều cluster), cần custom app profile với multi-cluster routing để client tự động phân phối read/write đến tất cả cluster (STRONG consistency cho write, eventual cho read nếu cần).
  • Điều này đảm bảo automatic routing đến cluster available, tránh downtime nếu cluster-a hoặc b fail. Default profile không hỗ trợ multi-cluster tốt cho HA.
  • Phù hợp banking events (yêu cầu low-latency, high-throughput, durability).

📋 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, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể:

  • ❌ [SAI] Use the default app profile with single-cluster routing.
    Phương án này không đúng vì default app profile chỉ route đến một cluster cụ thể (single-cluster routing), không hỗ trợ automatic failover. Nếu cluster-a down, requests sẽ fail hoàn toàn, không route sang cluster-b dù có replication.

  • ❌ [SAI] Use the default app profile with multi-cluster routing.
    Phương án này không tồn tại và sai vì default app profile luôn là single-cluster routing (không thể set multi-cluster). Bigtable không cho phép thay đổi default profile thành multi-cluster; phải tạo custom mới.

  • ✅ [ĐÚNG] Create a custom app profile with multi-cluster routing.
    Phương án hoàn toàn đúng vì tạo custom app profile với multi-cluster routing cho phép client tự động route read/write đến cluster gần nhất/ lành mạnh nhất. Hỗ trợ replication, đảm bảo HA và zero-downtime khi một cluster unavailable.

  • ❌ [SAI] Create a custom app profile with single-cluster routing.
    Phương án này sai dù là custom profile, vì single-cluster routing chỉ bind với một cluster (ví dụ chỉ cluster-a), không tận dụng cluster-b cho failover. Replication tồn tại nhưng routing không tự động.

📘 Tài liệu tham khảo (cập nhật mới nhất đến 2026)

Hy vọng phân tích giúp bạn ôn thi chứng chỉ hiệu quả! 🚀 Nếu cần thêm ví dụ code hoặc demo, hãy hỏi nhé!

Câu 110
Your organization works with sensitive data that requires you to manage your own encryption keys. You are working on a project that stores that data in a Cloud SQL database. You need to ensure that stored data is encrypted with your keys. What should you do?
  1. A Export data periodically to a Cloud Storage bucket protected by Customer-Supplied Encryption Keys.
  2. B Use Cloud SQL Auth proxy.
  3. C Connect to Cloud SQL using a connection that has SSL encryption.
  4. D Use customer-managed encryption keys with Cloud SQL.
Xem giải thích

🧩 Phân tích 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 nhạy cảm trong Cloud SQL (dịch vụ cơ sở dữ liệu quan hệ được quản lý trên Google Cloud Platform - GCP). Tổ chức của bạn yêu cầu quản lý khóa mã hóa riêng (self-managed encryption keys) để mã hóa dữ liệu lưu trữ (at-rest encryption). Dự án đang sử dụng Cloud SQL để lưu trữ dữ liệu này, và nhiệm vụ là đảm bảo dữ liệu được mã hóa bằng chính các khóa của bạn.

📌 Yêu cầu chính: Không chỉ mã hóa dữ liệu truyền (in-transit) mà phải mã hóa dữ liệu lưu trữ bằng khóa do khách hàng quản lý (Customer-Managed Encryption Keys - CMEK), giúp tổ chức kiểm soát hoàn toàn khóa mã hóa, phù hợp với các quy định nghiêm ngặt như GDPR, HIPAA hoặc dữ liệu nhạy cảm nội bộ.

Cập nhật kiến thức đến 2026: Cloud SQL hỗ trợ CMEK từ năm 2020 và đã được cải tiến liên tục (phiên bản mới nhất 2025-2026 hỗ trợ tích hợp sâu hơn với Cloud Key Management Service - KMS, bao gồm tự động xoay khóa và audit logs chi tiết). Không liên quan trực tiếp đến AWS (có lẽ là nhầm lẫn, vì AWS dùng RDS với AWS KMS tương tự).

✅ Đáp án đúng: Use customer-managed encryption keys with Cloud SQL

Lý do lựa chọn:

  • Đây là giải pháp chính xác và trực tiếp để mã hóa dữ liệu lưu trữ (at-rest) trong Cloud SQL bằng khóa do khách hàng quản lý qua Cloud KMS.
  • Bạn có thể kích hoạt CMEK khi tạo hoặc cập nhật instance Cloud SQL, chọn khóa từ KMS, đảm bảo Google không quản lý khóa thay bạn.
  • ✅ Lợi ích: Tuân thủ zero-trust model, kiểm soát đầy đủ vòng đời khóa (tạo, xoay, xóa), và dữ liệu chỉ được giải mã khi truy cập hợp lệ. Không cần export dữ liệu hay thay đổi kết nối.

🛠️ Giải thích chi tiết tất cả các phương án

  • Export data periodically to a Cloud Storage bucket protected by Customer-Supplied Encryption Keys.
    ❌ Sai: Phương án này chỉ di chuyển dữ liệu định kỳ ra Cloud Storage (sử dụng CSEK - khóa do khách hàng cung cấp trực tiếp), không mã hóa dữ liệu gốc trong Cloud SQL. Dữ liệu vẫn lưu tại chỗ bằng khóa mặc định của Google, vi phạm yêu cầu mã hóa at-rest ngay từ đầu. Thêm nữa, việc export định kỳ gây phức tạp, mất dữ liệu thời gian thực và tăng chi phí/latency. Không phải giải pháp gốc cho Cloud SQL.

  • Use Cloud SQL Auth proxy.
    ❌ Sai: Cloud SQL Auth Proxy chỉ dùng để xác thực và kết nối an toàn (IAM-based auth, tránh public IP), không liên quan đến mã hóa dữ liệu lưu trữ. Nó hỗ trợ in-transit encryption gián tiếp qua TCP, nhưng không kiểm soát khóa at-rest. Không đáp ứng yêu cầu "manage your own encryption keys" cho dữ liệu stored.

  • Connect to Cloud SQL using a connection that has SSL encryption.
    ❌ Sai: SSL/TLS chỉ mã hóa dữ liệu truyền (in-transit) giữa client và Cloud SQL, không ảnh hưởng đến dữ liệu lưu trữ at-rest. Cloud SQL mặc định hỗ trợ SSL, nhưng khóa SSL do Google quản lý, không phải khóa của bạn. Không giải quyết vấn đề mã hóa stored data bằng self-managed keys.

  • Use customer-managed encryption keys with Cloud SQL.
    ✅ Đúng: Như đã giải thích ở trên, đây là tính năng CMEK native của Cloud SQL, tích hợp Cloud KMS để bạn tạo/quản lý khóa asymmetric encryption cho toàn bộ instance (bao gồm data, backups, replicas). Hỗ trợ MySQL, PostgreSQL, SQL Server.

📘 Tài liệu tham khảo (cập nhật mới nhất 2026)

🛡️ Lời khuyên: Luôn kiểm tra IAM roles (Cloud KMS CryptoKey Encrypter/Decrypter) và enable audit logs cho compliance! Nếu cần lab thực hành, dùng GCP Free Tier.