Ngân hàng đề — Google Cloud Digital Leader
Tìm thấy 611 câu.
A university provides each student with a Google Cloud project for learning purposes. To prevent uncontrolled spending, the administrator wants to set a hard limit so that no student can create more than two virtual machine instances within their project.
Which Google Cloud feature allows for setting this type of service usage limit?
-
A
Resource Quotas
-
B
Cloud Billing budgets
-
C
IAM Policies
-
D
Cloud Monitoring
Xem giải thích
Đáp án
A — Resource Quotas (hạn ngạch tài nguyên).
Vì sao đúng
Đề đòi một giới hạn CỨNG về số lượng tài nguyên, và đó chính xác là việc của quota.
⚠ Quota chặn cứng:
Đặt quota: CPUs = 2 (hoặc số instance)
↓
Sinh viên tạo máy ảo thứ ba
↓
⚠ LỖI NGAY LẬP TỨC:
"Quota exceeded"
↓
⚠ Máy KHÔNG được tạo
⚠ Không có cách nào lách
↓
→ đúng thứ đề gọi là
"hard limit"
⚠ Vì sao ngân sách KHÔNG chặn được:
Cloud Billing Budget
↓
Đạt 50%, 90%, 100%
↓
⚠ CHỈ GỬI CẢNH BÁO
⚠ Dịch vụ VẪN chạy
⚠ Sinh viên VẪN tạo được máy
↓
→ không phải "hard limit"
⚠ Đối chiếu #13255 (lô 138) — đề đó khoá budget threshold rules, vì yêu cầu là được THÔNG BÁO ở các mốc phần trăm. Câu này khoá quota, vì yêu cầu là CHẶN CỨNG số lượng tài nguyên. Hai câu KHÔNG mâu thuẫn — chúng hỏi hai cơ chế khác nhau.
Cách phân biệt: "báo cho tôi biết khi..." → budget alert. "không cho phép tạo quá..." → quota.
⚠ Vì sao IAM cũng không giải quyết:
IAM quyết định ĐƯỢC HAY KHÔNG
được tạo máy ảo
↓
⚠ Nhưng KHÔNG đếm SỐ LƯỢNG
↓
Có quyền → tạo được 2 máy
→ cũng tạo được 200 máy
↓
→ IAM là công tắc bật/tắt,
quota là cái van định lượng
Vì sao các phương án khác sai
-
B (ngân sách Cloud Billing) — phương án gần nhất vì cũng nhằm kiểm soát chi tiêu. Nhưng ngân sách chỉ cảnh báo, không chặn. Đề nói rõ là muốn "hard limit".
-
C (chính sách IAM) — kiểm soát ai được làm gì, không kiểm soát bao nhiêu.
-
D (Cloud Monitoring) — theo dõi và cảnh báo, không chặn hành động nào.
Ghi nhớ
⚠ Bốn công cụ kiểm soát — bảng phải thuộc: | Công cụ | Tác dụng | |---|---| | Resource Quota | ⚠ CHẶN CỨNG số lượng tài nguyên | | Cloud Billing budget | ⚠ chỉ CẢNH BÁO theo % chi tiêu | | IAM | ai được làm gì | | Organization Policy | ⚠ CẤM một loại hành vi, kể cả với Owner |
Từ khoá nhận diện:
"không cho tạo quá N tài nguyên" → quota "báo cho tôi khi tiêu tới X%" → budget alert "cấm tạo IP công khai ở mọi project" → Organization Policy "ai được tạo máy ảo" → IAM
| Hai loại quota | Loại |
|---|---|
| Rate quota | ⚠ số lời gọi API mỗi phút — tự đặt lại theo chu kỳ |
| Allocation quota | ⚠ số tài nguyên đồng thời — CPU, IP, đĩa |
| Đề này | allocation quota |
| Phạm vi | theo project, và thường theo VÙNG |
| ⚠ Điều quan trọng về quota | Điểm |
|---|---|
| Mặc định có sẵn cho mọi project | Google đặt trần ban đầu |
| Có thể XIN NÂNG | qua console, thường được duyệt |
| Có thể tự HẠ XUỐNG | ⚠ đây là cách dùng trong đề — hạ để giới hạn sinh viên |
| Theo vùng | ⚠ nhớ hạ ở MỌI vùng, không chỉ một |
| Vượt quota | lỗi ngay, không âm thầm |
| Kiểm soát chi tiêu cho môi trường học tập | Việc |
|---|---|
| Hạ quota CPU, IP, đĩa | ⚠ rào chắn cứng |
| Đặt ngân sách cảnh báo | biết khi có bất thường |
| Organization Policy giới hạn loại máy | cấm máy quá lớn, cấm GPU |
| Giới hạn vùng được dùng | |
| Tự động tắt máy ngoài giờ | script hoặc scheduler |
| ⚠ Kết hợp | quota chặn, budget cảnh báo, policy đặt lằn ranh |
| ⚠ Cách chặn chi tiêu triệt để nhất | Cách |
|---|---|
| Budget alert → Pub/Sub → Cloud Function | |
| Function gỡ liên kết tài khoản thanh toán | |
| Hậu quả | ⚠ MỌI dịch vụ trong project DỪNG — kể cả dữ liệu có thể mất |
| Dùng cho | môi trường học tập, thử nghiệm |
| ⚠ KHÔNG dùng cho production |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Quota hiện tại là bao nhiêu | trang IAM & Admin → Quotas | | Đã hạ ở mọi vùng chưa | ⚠ lọc theo vùng, đừng chỉ xem một | | Sinh viên có bị chặn thật không | thử tạo máy thứ ba bằng tài khoản thử |
Và một cách phân biệt gọn để không bao giờ nhầm hai công cụ này: quota nói "không", ngân sách nói "coi chừng". Khi đề bài dùng những chữ như hard limit, prevent, not allowed thì câu trả lời gần như luôn là quota hoặc Organization Policy, chứ không phải cảnh báo ngân sách.
A company wants to migrate its on-premises transactional database, which runs a standard WordPress website, to Google Cloud. They need a fully managed relational database service that supports MySQL and is optimized for a single region.
What is the most straightforward and cost-effective choice?
-
A
Cloud Storage
-
B
BigQuery
-
C
Cloud Spanner
-
D
Cloud SQL
Xem giải thích
Đáp án
D — Cloud SQL.
Vì sao đúng
Đề nêu bốn yêu cầu, và Cloud SQL khớp cả bốn một cách thẳng thắn:
⚠ Bốn yêu cầu ↔ Cloud SQL:
1. CSDL GIAO DỊCH cho WordPress
→ WordPress vốn chạy trên MySQL
2. QUAN HỆ, CÓ QUẢN LÝ HOÀN TOÀN
→ Google lo vá, sao lưu, HA
3. ⚠ HỖ TRỢ MySQL
→ Cloud SQL có MySQL, PostgreSQL,
SQL Server
4. ⚠ TỐI ƯU CHO MỘT VÙNG,
ĐƠN GIẢN VÀ TIẾT KIỆM NHẤT
→ đúng vị trí của Cloud SQL
⚠ Di cư WordPress gần như không phải sửa gì:
WordPress tại chỗ
→ MySQL tự quản
↓
Database Migration Service
↓
Cloud SQL for MySQL
↓
⚠ Chỉ đổi chuỗi kết nối
trong wp-config.php
⚠ KHÔNG sửa mã WordPress
⚠ KHÔNG đổi schema
⚠ Vì sao Spanner là thừa ở đây:
SPANNER
✔ quan hệ, ACID
✔ mở rộng ngang toàn cầu
↓
⚠ Nhưng đề nói rõ:
"TỐI ƯU CHO MỘT VÙNG"
"ĐƠN GIẢN và TIẾT KIỆM NHẤT"
↓
⚠ Spanner ĐẮT hơn nhiều
⚠ Và WordPress KHÔNG được
chứng nhận chạy trên Spanner
↓
→ dùng Spanner ở đây là
trả tiền cho thứ không cần
Vì sao các phương án khác sai
-
C (Cloud Spanner) — phương án gần nhất vì cũng là CSDL quan hệ có quản lý. Nhưng nó sinh ra cho quy mô toàn cầu với nhất quán mạnh, đắt hơn đáng kể, và đề chỉ cần một vùng cùng tiết kiệm nhất.
-
B (BigQuery) — kho phân tích (OLAP). WordPress cần đọc ghi giao dịch độ trễ thấp, hoàn toàn sai loại.
-
A (Cloud Storage) — lưu tệp, không phải cơ sở dữ liệu. (Nó có vai trò cho ảnh và tệp tải lên của WordPress, nhưng không thay được CSDL.)
Ghi nhớ
⚠ Chọn CSDL — bảng phải thuộc: | Nhu cầu | Chọn | |---|---| | MySQL/PostgreSQL/SQL Server, một vùng | ⚠ Cloud SQL | | Quan hệ + toàn cầu + nhất quán mạnh | Spanner | | NoSQL tài liệu, ứng dụng di động | Firestore | | NoSQL thông lượng cực lớn | Bigtable | | Phân tích | BigQuery | | Bộ nhớ đệm | Memorystore |
Từ khoá nhận diện:
"nâng và chuyển MySQL/WordPress" → Cloud SQL "nhiều châu lục, nhất quán mạnh" → Spanner "đơn giản nhất, tiết kiệm nhất, một vùng" → ⚠ thường là Cloud SQL "báo cáo, phân tích" → BigQuery
| Cloud SQL — điều cần nhớ | Điểm |
|---|---|
| Ba engine | MySQL, PostgreSQL, SQL Server |
| Có quản lý | ⚠ vá, sao lưu, sao chép, chuyển đổi dự phòng |
| HA | primary + standby ở hai zone, tự chuyển đổi |
| Read replica | giảm tải đọc, có cả xuyên vùng |
| Point-in-time recovery | quay về một thời điểm |
| Mở rộng | ⚠ chủ yếu DỌC — máy to hơn |
| Cloud SQL Enterprise Plus | hiệu năng cao hơn, bảo trì gần như không gián đoạn |
| Kiến trúc WordPress trên Google Cloud | Thành phần |
|---|---|
| Ứng dụng | Compute Engine, GKE, hoặc Cloud Run |
| CSDL | ⚠ Cloud SQL for MySQL |
| Ảnh và tệp tải lên | ⚠ Cloud Storage, không để trên đĩa máy chủ |
| CDN | Cloud CDN cho nội dung tĩnh |
| Bộ nhớ đệm | Memorystore for Redis |
| Chống tấn công | Cloud Armor |
| Công cụ di cư CSDL | Công cụ |
|---|---|
| Database Migration Service | ⚠ di cư MySQL/PostgreSQL với ít gián đoạn |
mysqldump + import |
cách đơn giản, có gián đoạn |
| Datastream | CDC liên tục |
| Lời khuyên | ⚠ luôn thử ở môi trường staging trước |
| Tối ưu chi phí Cloud SQL | Việc |
|---|---|
| Chọn đúng kích cỡ máy | ⚠ Recommender gợi ý sau vài tuần |
| Cam kết dài hạn (CUD) | giảm sâu nếu chạy lâu dài |
| Tắt HA cho môi trường dev | ⚠ HA gần gấp đôi chi phí |
| Dừng instance dev ngoài giờ | |
| Dọn bản sao lưu cũ |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Có cần HA không | ⚠ production thì có, dev thì không | | Kích cỡ máy có hợp không | Cloud Monitoring — CPU và bộ nhớ | | Sao lưu có chạy không | ⚠ và đã thử KHÔI PHỤC bao giờ chưa |
Và một việc mà rất nhiều đội bỏ qua cho tới ngày cần đến: thử khôi phục từ bản sao lưu. Cloud SQL sao lưu tự động rất đáng tin, nhưng một bản sao lưu chưa từng được khôi phục thử vẫn chỉ là một giả thiết — và ngày mất dữ liệu là ngày tệ nhất để kiểm chứng giả thiết đó.
A data analyst is running queries on BigQuery.
Which of the following statements about BigQuery is NOT true?
-
A
It can run fast SQL queries over petabytes of data.
-
B
It is primarily designed for Online Transaction Processing (OLTP) workloads like e-commerce checkouts.
-
C
It separates the concepts of storage and compute, allowing them to scale independently.
-
D
It is a serverless platform, meaning users do not need to provision or manage underlying infrastructure.
Xem giải thích
Đáp án
B — "BigQuery chủ yếu được thiết kế cho tải OLTP như thanh toán trong thương mại điện tử." Đây là mệnh đề KHÔNG đúng.
Vì sao đúng
⚠ Đây là câu hỏi PHỦ ĐỊNH — đề hỏi mệnh đề nào SAI. Ba mệnh đề còn lại đều mô tả đúng BigQuery.
⚠ BigQuery là OLAP, không phải OLTP:
OLTP (Online Transaction Processing)
→ nhiều thao tác NHỎ, rất nhanh
→ đọc/ghi vài dòng, độ trễ mili-giây
→ ⚠ ví dụ: thanh toán đơn hàng
→ công cụ: Cloud SQL, Spanner,
Firestore, Bigtable
OLAP (Online Analytical Processing)
→ ⚠ ÍT truy vấn nhưng mỗi truy vấn
QUÉT RẤT NHIỀU dữ liệu
→ độ trễ tính bằng GIÂY
→ ví dụ: doanh thu theo vùng
trong ba năm
→ công cụ: ⚠ BIGQUERY
⚠ Vì sao BigQuery không làm được việc thanh toán:
Thanh toán đơn hàng cần:
- ⚠ giao dịch ACID trên vài dòng
- ⚠ độ trễ dưới 100ms
- ⚠ hàng nghìn thao tác/giây
↓
BigQuery:
⚠ độ trễ truy vấn tính bằng GIÂY
⚠ tính tiền theo BYTE QUÉT
⚠ ⚠ có giới hạn số lần
UPDATE/DELETE mỗi bảng
↓
→ sai hoàn toàn loại tải công việc
⚠ Ba mệnh đề kia đều ĐÚNG:
A. "SQL nhanh trên hàng petabyte"
→ ⚠ ĐÚNG — đây là thế mạnh chính
C. "TÁCH lưu trữ và tính toán,
mở rộng độc lập"
→ ⚠ ĐÚNG — kiến trúc cốt lõi:
Colossus lưu, Dremel tính,
Jupiter nối hai bên
D. "Serverless, không phải
cấp phát hạ tầng"
→ ⚠ ĐÚNG — không có cụm nào
để quản
Vì sao các phương án khác sai
(Ở câu phủ định, "sai" nghĩa là mệnh đề đó đúng về BigQuery, nên không phải đáp án.)
- A — BigQuery thật sự chạy được truy vấn SQL trên hàng petabyte trong vài giây.
- C — kiến trúc tách lưu trữ khỏi tính toán là đặc điểm nền tảng của BigQuery.
- D — BigQuery là serverless: không cụm, không máy chủ, không cấp phát.
Ghi nhớ
⚠ OLTP và OLAP — bảng phải thuộc: | | OLTP | OLAP | |---|---|---| | Mục đích | giao dịch | phân tích | | Truy vấn | nhiều, nhỏ | ⚠ ít, quét rất nhiều | | Độ trễ | mili-giây | giây | | Dữ liệu | hiện hành | lịch sử | | Sản phẩm | Cloud SQL, Spanner, Firestore, Bigtable | ⚠ BigQuery |
Từ khoá nhận diện:
"thanh toán, đặt hàng, cập nhật hồ sơ" → OLTP "báo cáo, xu hướng, tổng hợp nhiều năm" → OLAP → BigQuery "tách lưu trữ và tính toán" → BigQuery "serverless kho dữ liệu" → BigQuery
| ⚠ Kiến trúc BigQuery — vì sao nó nhanh | Thành phần |
|---|---|
| Colossus | hệ thống tệp phân tán — lớp LƯU TRỮ |
| Dremel | engine truy vấn — lớp TÍNH TOÁN |
| Jupiter | ⚠ mạng siêu nhanh nối hai lớp |
| Borg | điều phối tài nguyên |
| Định dạng cột (Capacitor) | ⚠ chỉ đọc cột cần — nền tảng của tốc độ |
| ⚠ Vì sao tách lưu trữ và tính toán lại quan trọng | Lý do |
|---|---|
| Lưu trữ rẻ, tăng bao nhiêu cũng được | |
| Tính toán chỉ trả khi chạy truy vấn | |
| Hai bên mở rộng ĐỘC LẬP | |
| So với kho truyền thống | ⚠ phải mua cụm cho cả hai cùng lúc |
| Hệ quả | lưu dữ liệu nhiều năm mà không tốn tiền tính toán |
| Hai mô hình giá của BigQuery | Mô hình |
|---|---|
| On-demand | ⚠ trả theo BYTE QUÉT |
| Capacity (slots) | trả theo năng lực tính toán — dễ dự đoán |
| Lưu trữ | theo GB, ⚠ rẻ hơn sau 90 ngày không sửa |
| Giảm chi phí | ⚠ SELECT đúng cột, phân vùng, cụm |
| ⚠ Bẫy lớn nhất | SELECT * quét toàn bộ cột — rất tốn |
| Khi nào BigQuery vẫn "gần" thời gian thực | Trường hợp |
|---|---|
| Storage Write API | nạp luồng, đọc được ngay |
| BI Engine | ⚠ bộ nhớ đệm trong RAM cho dashboard |
| Materialized view | kết quả tính sẵn |
| ⚠ Vẫn không phải | thay thế cho CSDL giao dịch |
| Mẹo làm câu hỏi PHỦ ĐỊNH | Mẹo |
|---|---|
| ⚠ Gạch chân chữ NOT / KHÔNG trước khi đọc phương án | |
| Đánh dấu Đ/S cho từng phương án | |
| Chọn cái duy nhất bị đánh S | |
| Lỗi hay mắc | ⚠ đọc lướt rồi chọn mệnh đề ĐÚNG nhất |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Truy vấn quét bao nhiêu byte | ⚠ xem ước tính ở góc trên trước khi chạy | | Bảng đã phân vùng chưa | bq show — xem timePartitioning | | Ai đang tốn nhiều nhất | INFORMATION_SCHEMA.JOBS |
Và một thói quen nhỏ giúp tiết kiệm rất nhiều tiền trong BigQuery: luôn nhìn con số ước tính byte quét trước khi bấm chạy. Nó hiện sẵn trong giao diện, mất một giây để đọc, và là thứ duy nhất phân biệt một truy vấn vài xu với một truy vấn vài triệu đồng.
A company is migrating its on-premises e-commerce application to Google Cloud. Instead of moving their self-managed MySQL database to a virtual machine, they decide to migrate it to Google's fully managed Cloud SQL service. This allows them to take advantage of automated backups and patching without fundamentally changing the application's code.
What is this migration strategy called?
-
A
Replatform
-
B
Reimagine
-
C
Rehost
-
D
Retire
Xem giải thích
Đáp án
A — Replatform.
Vì sao đúng
Replatform nằm giữa rehost và refactor: có thay đổi, nhưng chỉ đủ để dùng dịch vụ có quản lý, không viết lại ứng dụng.
⚠ Đọc đề thấy đúng đặc trưng của replatform:
"THAY VÌ chuyển MySQL tự quản
sang một máy ảo..."
↓
⚠ Đó chính là mô tả rehost
bị BÁC BỎ
"...họ chuyển sang Cloud SQL
có quản lý hoàn toàn"
↓
⚠ ĐỔI nền tảng chạy CSDL
"...KHÔNG thay đổi về căn bản
mã của ứng dụng"
↓
⚠ KHÔNG phải refactor
↓
→ REPLATFORM
⚠ Ba mức thay đổi — nhìn cạnh nhau:
REHOST
MySQL tự quản → MySQL trên VM
↓
⚠ vẫn tự vá, tự sao lưu,
tự dựng HA
REPLATFORM ← đề này
MySQL tự quản → Cloud SQL
↓
⚠ chỉ đổi chuỗi kết nối
⚠ Google lo vá, sao lưu, HA
REFACTOR
Ứng dụng khối → microservices,
CSDL chia theo dịch vụ
↓
⚠ viết lại nhiều, mất hàng tháng
⚠ Vì sao replatform thường là điểm ngọt:
Công sức: vừa phải
→ đổi chuỗi kết nối, thử lại
Lợi ích: rất lớn
→ ⚠ bỏ hẳn việc vá CSDL
→ ⚠ có sao lưu tự động và PITR
→ ⚠ bật HA bằng một hộp kiểm
→ ⚠ read replica trong vài phút
↓
→ tỉ lệ lợi ích trên công sức
cao nhất trong ba chiến lược
⚠ Đối chiếu #13280 (cùng lô này) — đề đó khoá Rehost vì công ty phải ra khỏi trung tâm dữ liệu gấp và muốn thay đổi ít nhất có thể, chạy trên VM mô phỏng máy chủ cũ. Câu này khoá Replatform vì họ chủ động đổi sang dịch vụ có quản lý. Hai câu KHÔNG mâu thuẫn — chúng khác nhau ở mức độ thay đổi.
Vì sao các phương án khác sai
-
C (Rehost) — phương án gần nhất, và chính đề đã bác bỏ nó tường minh: "thay vì chuyển sang một máy ảo". Rehost là bê nguyên trạng lên VM.
-
B (Reimagine) — không phải một chiến lược trong bộ "6 R" chuẩn. Từ gần nghĩa là Refactor / Re-architect, và dù sao cũng đòi viết lại — trái với "không đổi mã ứng dụng".
-
D (Retire) — bỏ hẳn ứng dụng. Ở đây họ đang chuyển nó đi, không bỏ.
Ghi nhớ
⚠ Bộ "6 R" chiến lược di cư — bảng phải thuộc: | Chiến lược | Nội dung | |---|---| | Rehost | ⚠ bê nguyên lên VM — nhanh nhất, lợi ích ít nhất | | Replatform | ⚠ chỉnh nhẹ để dùng dịch vụ có quản lý — điểm ngọt | | Refactor | viết lại theo kiến trúc đám mây — lợi ích lớn nhất | | Repurchase | thay bằng SaaS | | Retire | ⚠ bỏ hẳn — thường 10–20% ứng dụng không ai dùng | | Retain | tạm giữ lại tại chỗ |
Từ khoá nhận diện:
"đổi sang dịch vụ có quản lý, không sửa mã" → Replatform "bê nguyên trạng, thay đổi ít nhất" → Rehost "tách microservices, viết lại" → Refactor "mua SaaS thay thế" → Repurchase
| Các cặp replatform hay gặp | Từ → Sang |
|---|---|
| MySQL/PostgreSQL tự quản | → Cloud SQL |
| Máy chủ web trên VM | → Cloud Run hoặc App Engine |
| Hadoop tự dựng | → Dataproc |
| Kafka tự quản | → Pub/Sub |
| Redis tự quản | → Memorystore |
| Airflow tự dựng | → Cloud Composer |
| Kho dữ liệu truyền thống | → BigQuery |
| ⚠ Lợi ích cụ thể khi bỏ CSDL tự quản | Lợi ích |
|---|---|
| Không còn vá hệ điều hành và MySQL | |
| Sao lưu tự động + PITR | |
| HA bằng một hộp kiểm | ⚠ tự chuyển đổi trong ~60 giây |
| Read replica trong vài phút | |
| Giám sát và cảnh báo sẵn có | |
| Nâng phiên bản có hỗ trợ |
| Cái giá của replatform | Cái giá |
|---|---|
| Phải kiểm thử lại | tương thích phiên bản, tham số |
| ⚠ Mất một số quyền ở tầng CSDL | không có SUPER privilege |
| Một số plugin, extension không được hỗ trợ | ⚠ kiểm tra TRƯỚC |
| Khoá chân nhiều hơn rehost | giảm bằng cách dùng engine chuẩn |
| Thứ tự nên theo trong một dự án di cư | Bước |
|---|---|
| 1 | Retire trước — ⚠ thứ không dùng thì đừng chuyển |
| 2 | Repurchase những gì có SaaS tốt |
| 3 | Replatform phần hạ tầng phổ biến (CSDL, cache, queue) |
| 4 | Rehost phần còn lại nếu gấp |
| 5 | Refactor dần sau khi đã lên đám mây |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Phiên bản có tương thích không | kiểm phiên bản MySQL Cloud SQL hỗ trợ | | Plugin/extension có chạy không | ⚠ thử ở staging trước | | Hiệu năng có giữ nguyên không | đo trước và sau khi chuyển |
Và một quy tắc rất đáng theo khi lập kế hoạch di cư: đừng chuyển thứ không ai dùng. Mỗi tổ chức đều có một số ứng dụng vẫn chạy chỉ vì chưa ai dám tắt — và bước "retire" thường tiết kiệm nhiều thời gian hơn mọi kỹ thuật tối ưu khác cộng lại.
A business analyst needs to run complex SQL queries over several years' worth of historical sales data, amounting to many terabytes. The goal is to identify long-term trends and patterns.
Which Google Cloud service is purpose-built for this type of large-scale analytical workload?
-
A
BigQuery
-
B
Cloud SQL
-
C
Cloud Spanner
-
D
Cloud Storage
Xem giải thích
Đáp án
A — BigQuery.
Vì sao đúng
Đề mô tả đúng loại tải công việc mà BigQuery sinh ra để làm: truy vấn SQL phức tạp, trên nhiều terabyte dữ liệu lịch sử, để tìm xu hướng dài hạn.
⚠ Ba manh mối ↔ BigQuery:
1. "SQL PHỨC TẠP"
→ BigQuery hỗ trợ SQL chuẩn
đầy đủ, có window function,
CTE, mảng và cấu trúc lồng
2. "NHIỀU NĂM DỮ LIỆU, HÀNG TERABYTE"
→ ⚠ BigQuery quét hàng petabyte
trong vài giây
3. "TÌM XU HƯỚNG VÀ MẪU DÀI HẠN"
→ ⚠ đây là PHÂN TÍCH (OLAP),
không phải giao dịch
⚠ Vì sao BigQuery nhanh đến vậy:
LƯU TRỮ THEO CỘT
→ truy vấn 3 cột trong bảng
có 200 cột
↓
⚠ chỉ đọc 3 cột đó
⚠ không đọc 197 cột còn lại
↓
XỬ LÝ SONG SONG QUY MÔ LỚN
→ ⚠ hàng nghìn slot cùng chạy
một truy vấn
↓
TÁCH LƯU TRỮ VÀ TÍNH TOÁN
→ thêm sức tính toán mà
không phải chuyển dữ liệu
⚠ Vì sao ba phương án kia không hợp:
CLOUD SQL
→ ⚠ CSDL GIAO DỊCH, một máy chủ
→ truy vấn quét terabyte sẽ
chạy hàng giờ hoặc treo
CLOUD SPANNER
→ quan hệ, quy mô lớn ✔
→ ⚠ nhưng tối ưu cho GIAO DỊCH
→ phân tích nặng thì đắt và chậm
hơn BigQuery nhiều
CLOUD STORAGE
→ ⚠ lưu TỆP, không truy vấn được
→ (BigQuery CÓ THỂ đọc dữ liệu ở đó
qua bảng ngoài, nhưng engine
phân tích vẫn là BigQuery)
Vì sao các phương án khác sai
-
C (Cloud Spanner) — phương án gần nhất về mặt "quy mô lớn và SQL", nhưng Spanner tối ưu cho OLTP. Chạy phân tích nặng trên Spanner vừa chậm hơn vừa đắt hơn, và còn ảnh hưởng tới tải giao dịch đang chạy.
-
B (Cloud SQL) — CSDL một máy chủ cho tải giao dịch. Không có kiến trúc song song để quét terabyte.
-
D (Cloud Storage) — chỉ lưu tệp, tự nó không chạy được truy vấn SQL.
Ghi nhớ
⚠ Chọn công cụ theo loại tải — bảng phải thuộc: | Tải | Chọn | |---|---| | Phân tích, báo cáo, xu hướng | ⚠ BigQuery | | Giao dịch, một vùng | Cloud SQL | | Giao dịch, toàn cầu | Spanner | | Đọc/ghi khoá–giá trị cực nhanh | Bigtable | | Lưu tệp | Cloud Storage |
Từ khoá nhận diện:
"phân tích lịch sử, hàng terabyte, xu hướng" → BigQuery "thanh toán, đặt hàng" → Cloud SQL / Spanner "dashboard cho người dùng nghiệp vụ" → Looker trên BigQuery "dự báo bằng SQL" → BigQuery ML
| ⚠ Giảm chi phí truy vấn BigQuery | Việc |
|---|---|
⚠ ĐỪNG dùng SELECT * |
quét mọi cột — lỗi tốn tiền số một |
| Phân vùng theo ngày | ⚠ truy vấn một tháng chỉ quét một tháng |
| Gom cụm (clustering) | theo cột hay lọc |
| Xem ước tính byte trước khi chạy | hiện sẵn trong giao diện |
| Đặt hạn mức byte tối đa mỗi truy vấn | chặn tai nạn |
| Materialized view | tính sẵn phần hay dùng |
| BI Engine | đệm RAM cho dashboard |
| Tính năng phân tích mạnh của BigQuery | Tính năng |
|---|---|
| Window function | xếp hạng, chạy tích luỹ |
| Mảng và STRUCT | dữ liệu lồng nhau |
APPROX_* |
⚠ đếm phân biệt gần đúng — nhanh hơn nhiều |
| Time travel | ⚠ truy vấn dữ liệu 7 ngày trước |
| BigQuery ML | mô hình bằng SQL |
| Geospatial | phân tích không gian |
| Search index | tìm kiếm văn bản |
| Tổ chức dữ liệu phân tích theo lớp | Lớp |
|---|---|
| Raw / bronze | nguyên trạng, không sửa |
| Staging / silver | đã làm sạch |
| Mart / gold | ⚠ đã mô hình hoá cho nghiệp vụ |
| Công cụ | Dataform để quản chuỗi biến đổi SQL |
| BigQuery còn là gì ngoài kho dữ liệu | Vai trò |
|---|---|
| Bảng ngoài / BigLake | truy vấn dữ liệu ngoài tại chỗ |
| Analytics Hub | chia sẻ dữ liệu giữa các tổ chức |
| BigQuery Omni | ⚠ truy vấn dữ liệu nằm ở đám mây khác |
| Log Analytics | chạy SQL trên log |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Truy vấn quét bao nhiêu | ⚠ ước tính hiện ở góc trên | | Bảng đã phân vùng chưa | bq show | | Ai tốn nhiều nhất | INFORMATION_SCHEMA.JOBS |
Và một quyết định thiết kế nên làm ngay từ bảng đầu tiên: phân vùng theo cột ngày. Nó không tốn gì để bật lúc tạo bảng, nhưng thêm vào sau khi bảng đã có hàng tỉ dòng thì phải viết lại toàn bộ bảng — và cho tới lúc đó, mọi truy vấn đều đang quét nhiều hơn mức cần thiết.
A temporary contractor needs access to a Google Cloud project to update the code for an application running on Compute Engine VMs.
According to the principle of least privilege, which predefined IAM role would be most appropriate to grant them?
-
A
Project Browser
-
B
Project Viewer
-
C
Project Editor
-
D
Project Owner
Xem giải thích
Đáp án
C — Project Editor.
Vì sao đúng
Trong bốn vai được đưa ra, Editor là vai hẹp nhất mà vẫn đủ để nhà thầu làm được việc đề mô tả: cập nhật mã của ứng dụng chạy trên máy ảo Compute Engine.
⚠ So bốn vai với công việc cần làm:
BROWSER
→ ⚠ CHỈ xem cây phân cấp tài nguyên
→ không xem được nội dung
→ KHÔNG đủ
VIEWER
→ xem tài nguyên và cấu hình
→ ⚠ KHÔNG SỬA được gì
→ KHÔNG đủ để cập nhật mã
EDITOR ← đủ
→ xem + tạo + sửa + xoá tài nguyên
→ ⚠ triển khai được mã lên VM
→ ⚠ KHÔNG quản lý được QUYỀN
→ KHÔNG quản lý được thanh toán
OWNER
→ mọi quyền của Editor
→ ⚠ + CẤP QUYỀN cho người khác
→ ⚠ + quản lý thanh toán
→ QUÁ RỘNG cho nhà thầu tạm thời
⚠ Ranh giới quan trọng nhất giữa Editor và Owner:
EDITOR có thể đổi TÀI NGUYÊN
OWNER có thể đổi AI ĐƯỢC LÀM GÌ
↓
⚠ Owner tự cấp thêm quyền
cho chính mình hoặc người khác
⚠ Owner gỡ được quyền của bạn
↓
→ tuyệt đối không cấp Owner
cho người ngoài tổ chức
Ghi nhớ về chất lượng câu hỏi
Trong thực tế, quyền tối thiểu thật sự cho việc này còn hẹp hơn Editor rất nhiều. Nhà thầu chỉ cần triển khai mã lên vài máy ảo, nên các vai dựng sẵn phù hợp hơn sẽ là:
roles/compute.instanceAdmin.v1— quản lý máy ảoroles/compute.osLoginhoặcosAdminLogin— đăng nhập SSH vào máyroles/iap.tunnelResourceAccessor— vào máy qua IAP mà không cần IP công khaiEditor cho quyền trên MỌI dịch vụ trong project — kể cả BigQuery, Cloud Storage, Pub/Sub — những thứ nhà thầu không cần đụng tới.
Nhưng các vai hẹp đó KHÔNG có trong danh sách phương án, và trong bốn vai cơ bản được đưa ra thì Editor là lựa chọn đúng. Khoá đáp án giữ nguyên là C. Quy tắc làm bài: chọn phương án phù hợp nhất CÓ TRONG DANH SÁCH — nhưng khi làm thật, hãy tìm vai dựng sẵn hẹp hơn.
Vì sao các phương án khác sai
-
B (Project Viewer) — phương án gần nhất theo hướng "càng hẹp càng tốt", nhưng Viewer chỉ đọc. Nhà thầu sẽ không triển khai được bản cập nhật nào — quyền tối thiểu vẫn phải đủ để làm việc.
-
D (Project Owner) — quá rộng: cho phép cấp quyền cho người khác và quản lý thanh toán. Vi phạm nghiêm trọng nguyên tắc quyền tối thiểu.
-
A (Project Browser) — chỉ cho xem cấu trúc phân cấp (danh sách project, folder), không xem được nội dung tài nguyên. Còn hẹp hơn Viewer.
Ghi nhớ
⚠ Các vai cơ bản của IAM — bảng phải thuộc: | Vai | Làm được gì | |---|---| | Browser | chỉ xem CÂY phân cấp | | Viewer | xem tài nguyên và cấu hình, KHÔNG sửa | | Editor | ⚠ xem + tạo + sửa + xoá, KHÔNG quản quyền | | Owner | ⚠ mọi thứ + CẤP QUYỀN + thanh toán | | ⚠ Google khuyến nghị | dùng vai DỰNG SẴN thay cho bốn vai này |
Từ khoá nhận diện:
"chỉ xem, kiểm toán" → Viewer "cần sửa và triển khai" → Editor (hoặc vai dựng sẵn hẹp hơn) "quản lý quyền cho người khác" → Owner "quyền tối thiểu trong thực tế" → ⚠ vai dựng sẵn theo dịch vụ
| Nguyên tắc quyền tối thiểu | Nguyên tắc |
|---|---|
| Cấp đúng đủ để làm việc, không hơn | |
| ⚠ Không hơn nhưng cũng không thiếu | |
| Ưu tiên | vai dựng sẵn > vai cơ bản |
| Hẹp nhất | vai tuỳ biến — tốn công bảo trì |
| Công cụ | ⚠ IAM Recommender — gợi ý thu hẹp dựa trên mức dùng thật |
| ⚠ Với NGƯỜI NGOÀI tổ chức | Biện pháp |
|---|---|
| Cấp quyền CÓ THỜI HẠN | ⚠ IAM Conditions theo thời gian hết hạn |
| Giới hạn phạm vi | một project, không phải cả tổ chức |
| Bắt buộc MFA | |
| Bật Data Access audit log | biết họ đã xem gì |
| ⚠ Đặt lịch GỠ QUYỀN | bước hay bị quên nhất |
| Ghi lại lý do cấp | phục vụ kiểm toán |
| Vai dựng sẵn hay dùng cho Compute Engine | Vai |
|---|---|
compute.instanceAdmin.v1 |
quản lý máy ảo |
compute.osLogin |
SSH với quyền thường |
compute.osAdminLogin |
SSH với quyền sudo |
compute.viewer |
chỉ xem |
iap.tunnelResourceAccessor |
⚠ vào máy qua IAP, không cần IP công khai |
| Ba cách siết chặt hơn nữa | Cách |
|---|---|
| IAM Conditions | theo thời gian, IP, tài nguyên cụ thể |
| IAM Deny policy | ⚠ chặn tường minh một số quyền dù có vai |
| Organization Policy | đặt lằn ranh cho cả tổ chức |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Nhà thầu đang có quyền gì | gcloud projects get-iam-policy | | Họ có dùng hết quyền đó không | ⚠ IAM Recommender sau vài tuần | | Quyền đã hết hạn chưa | kiểm IAM Conditions, hoặc lịch nhắc thủ công |
Và một việc nên làm cùng lúc với việc cấp quyền cho nhà thầu: đặt luôn ngày hết hạn. IAM Conditions cho phép ghi thẳng thời điểm quyền tự mất hiệu lực — và đó là cách duy nhất chắc chắn rằng một hợp đồng ba tháng không biến thành một tài khoản có quyền sửa production suốt ba năm.
A financial services company needs a database for a global trading platform. The two absolute requirements are: It must be a relational database with full support for SQL and ACID transactions. It must scale horizontally across multiple continents while providing strong global consistency.
Which Google Cloud database is the only one that meets both of these requirements?
-
A
Cloud Spanner
-
B
Cloud SQL
-
C
Cloud Bigtable
-
D
BigQuery
Xem giải thích
Đáp án
A — Cloud Spanner.
Vì sao đúng
Đề nêu hai yêu cầu tuyệt đối, và điểm mấu chốt là chúng phải cùng tồn tại:
⚠ Hai yêu cầu, và vì sao chỉ Spanner có cả hai:
YÊU CẦU 1
Quan hệ đầy đủ: SQL + giao dịch ACID
↓
Cloud SQL ✔
Spanner ✔
Bigtable ✘ (chỉ ACID trong 1 dòng)
BigQuery ✘ (không phải OLTP)
YÊU CẦU 2
Mở rộng NGANG xuyên lục địa +
nhất quán mạnh TOÀN CẦU
↓
Cloud SQL ✘ (chỉ mở rộng DỌC)
Spanner ✔
↓
⚠ GIAO của hai tập:
CHỈ CÒN SPANNER
⚠ TrueTime — thứ làm nên điều bất thường này:
Định lý CAP nói: khi mạng phân mảnh,
phải chọn giữa nhất quán và sẵn sàng
↓
Spanner không phá vỡ định lý,
nhưng làm phân mảnh trở nên
CỰC KỲ HIẾM
↓
⚠ Đồng hồ nguyên tử + GPS
ở mọi trung tâm dữ liệu
⚠ Mạng riêng của Google
↓
→ nhất quán ngoại (external
consistency): mọi giao dịch có
THỨ TỰ TOÀN CỤC thống nhất
⚠ Vì sao sàn giao dịch cần chính xác điều đó:
Lệnh mua ở Tokyo và
lệnh bán ở New York
↓
⚠ Phải có MỘT thứ tự duy nhất
mà cả hai nơi đều đồng ý
↓
Nếu chỉ nhất quán cuối cùng
↓
⚠ Hai nơi thấy hai trạng thái
sổ lệnh khác nhau
⚠ Khớp lệnh sai, đối soát sai
⚠ Gần trùng với #13253 (lô 138) và #13141 (lô 138) — cả ba đề đều nêu cùng bộ yêu cầu (quan hệ + toàn cầu + nhất quán mạnh) cho ba ngành khác nhau (bán lẻ, thanh toán, giao dịch chứng khoán), và cả ba cùng khoá Spanner. Hoàn toàn nhất quán. Đây là mẫu đề lặp nhiều nhất trong phần cơ sở dữ liệu.
Vì sao các phương án khác sai
-
B (Cloud SQL) — phương án gần nhất: thoả yêu cầu 1 (quan hệ, ACID) nhưng trượt yêu cầu 2. Nó mở rộng dọc, và bản sao xuyên vùng chỉ nhất quán cuối cùng.
-
C (Cloud Bigtable) — thoả yêu cầu 2 một phần (mở rộng ngang) nhưng trượt yêu cầu 1: không phải quan hệ, không SQL đầy đủ, giao dịch chỉ trong một dòng.
-
D (BigQuery) — có SQL và quy mô lớn, nhưng là kho phân tích, không phải CSDL giao dịch.
Ghi nhớ
⚠ Ma trận chọn CSDL — bảng phải thuộc: | CSDL | Quan hệ? | Mở rộng ngang? | Nhất quán mạnh toàn cầu? | |---|---|---|---| | Cloud SQL | ✔ | ✘ | ✘ | | Spanner | ✔ | ✔ | ⚠ ✔ — duy nhất | | Bigtable | ✘ | ✔ | ✘ (chỉ trong dòng) | | Firestore | ✘ | ✔ | ✔ trong phạm vi hẹp | | BigQuery | SQL nhưng OLAP | ✔ | không áp dụng |
Từ khoá nhận diện:
"quan hệ + nhiều châu lục + nhất quán mạnh" → ⚠ Spanner, luôn luôn "MySQL/PostgreSQL một vùng" → Cloud SQL "phi quan hệ + hàng triệu thao tác/giây" → Bigtable "phân tích lịch sử" → BigQuery
| Spanner — điều cần nhớ | Điểm |
|---|---|
| Phương ngữ | GoogleSQL và PostgreSQL |
| TrueTime | ⚠ đồng hồ nguyên tử + GPS |
| Nhất quán ngoại | mức mạnh nhất |
| Đơn vị | node hoặc processing unit |
| Cấu hình | regional, dual-region, multi-region |
| Interleaved tables | đặt bảng con cạnh bảng cha |
| ⚠ Chống hotspot | đừng dùng khoá chính tăng dần |
| SLA | ⚠ tới 99,999% với cấu hình đa vùng |
| ⚠ Ba mức nhất quán | Mức |
|---|---|
| Nhất quán ngoại (external) | Spanner — có thứ tự toàn cục |
| Nhất quán mạnh | đọc luôn thấy ghi mới nhất |
| Nhất quán cuối cùng | ⚠ có thể đọc dữ liệu cũ trong chốc lát |
| Khi nào KHÔNG chọn Spanner | Trường hợp |
|---|---|
| Ứng dụng chỉ chạy một vùng | Cloud SQL rẻ hơn nhiều |
| Tải nhỏ, ngân sách chặt | Spanner có mức sàn |
| Chỉ chạy phân tích | BigQuery |
| Không cần giao dịch nhiều dòng | Bigtable |
| Thiết kế trên Spanner — điều quyết định | Điều |
|---|---|
| ⚠ Khoá chính | quan trọng hơn cả số node |
| Tránh | UUID tuần tự, timestamp, số tăng dần |
| Nên | băm, UUIDv4, hoặc đảo bit |
| Công cụ kiểm | Key Visualizer |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | CPU có quá tải không | ⚠ giữ dưới 65% cho đa vùng | | Có hotspot không | Key Visualizer | | Truy vấn nào chậm | Query Insights |
Và một mẫu câu hỏi rất đáng nhận diện khi ôn thi: hễ đề liệt kê "quan hệ" và "toàn cầu" và "nhất quán mạnh" cùng một lúc thì đáp án là Spanner. Đó là sản phẩm duy nhất trong danh mục Google Cloud có cả ba, và các đề thi khai thác điều đó rất nhiều lần dưới những vỏ ngành nghề khác nhau.
An employee receives an email that appears to be from their company's IT department, asking them to click a link and enter their corporate credentials on a web page to perform a mandatory security update.
The web page is a fake, designed to steal their username and password.
What type of cybersecurity attack is this?
-
A
Phishing
-
B
Ransomware
-
C
Man-in-the-middle
-
D
Distributed Denial-of-Service (DDoS)
Xem giải thích
Đáp án
A — Phishing (tấn công lừa đảo).
Vì sao đúng
Đề mô tả đúng ba yếu tố cấu thành một cuộc tấn công phishing: mạo danh một nguồn đáng tin, tạo cớ khẩn cấp, và lừa lấy thông tin đăng nhập qua một trang web giả.
⚠ Ba yếu tố trong đề:
1. MẠO DANH
"email trông như từ bộ phận IT
của công ty"
↓
2. CỚ HỢP LÝ VÀ KHẨN CẤP
"cập nhật bảo mật BẮT BUỘC"
↓
3. THU THẬP THÔNG TIN ĐĂNG NHẬP
"trang web GIẢ để đánh cắp
tên đăng nhập và mật khẩu"
↓
⚠ Đây là định nghĩa của phishing:
tấn công vào CON NGƯỜI,
không phải vào hệ thống
⚠ Vì sao phishing hiệu quả đến vậy:
Không cần khai thác lỗ hổng nào
↓
⚠ Nó khai thác TÂM LÝ:
- tin vào thẩm quyền (bộ phận IT)
- sợ hậu quả ("bắt buộc")
- vội vàng, không kiểm tra kỹ
↓
→ Mọi tường lửa và bản vá
đều không giúp gì
↓
⚠ Đây là véc-tơ tấn công
phổ biến nhất trong thực tế
⚠ Ba loại tấn công kia khác hẳn:
RANSOMWARE
→ mã độc MÃ HOÁ dữ liệu
rồi đòi tiền chuộc
→ ⚠ phishing thường là
CÁCH ransomware xâm nhập,
nhưng là hai thứ khác nhau
MAN-IN-THE-MIDDLE
→ ⚠ kẻ tấn công CHẶN GIỮA
hai bên đang liên lạc
→ nạn nhân không hề gõ gì
vào trang giả
DDoS
→ dội lưu lượng làm dịch vụ sập
→ ⚠ không đánh cắp gì cả
Vì sao các phương án khác sai
-
B (ransomware) — phương án gần nhất vì phishing thường là cửa vào của ransomware. Nhưng bản thân ransomware là mã độc mã hoá dữ liệu đòi tiền chuộc; đề chỉ mô tả bước đánh cắp thông tin đăng nhập.
-
C (man-in-the-middle) — kẻ tấn công xen vào giữa một phiên liên lạc hợp lệ. Ở đây nạn nhân chủ động truy cập một trang giả.
-
D (DDoS) — nhằm làm ngừng dịch vụ, không đánh cắp thông tin.
Ghi nhớ
⚠ Các loại tấn công phải phân biệt được: | Loại | Đặc điểm | |---|---| | Phishing | ⚠ email/tin nhắn giả mạo lừa lấy thông tin | | Spear phishing | ⚠ nhắm vào MỘT người cụ thể, có nghiên cứu trước | | Whaling | nhắm vào lãnh đạo cấp cao | | Vishing / Smishing | qua điện thoại / tin nhắn SMS | | Ransomware | mã hoá dữ liệu, đòi tiền chuộc | | Man-in-the-middle | chặn giữa hai bên liên lạc | | DDoS | dội lưu lượng làm ngừng dịch vụ | | Social engineering | ⚠ khái niệm bao trùm — thao túng con người |
Từ khoá nhận diện:
"email giả, trang đăng nhập giả" → phishing "dữ liệu bị mã hoá, đòi tiền chuộc" → ransomware "nghe lén, chặn giữa" → man-in-the-middle "làm sập bằng lưu lượng" → DDoS → Cloud Armor
| ⚠ Cách phòng phishing hiệu quả nhất | Cách |
|---|---|
| ⚠ Khoá bảo mật phần cứng (Titan Security Key) | CHỐNG ĐƯỢC phishing hoàn toàn |
| Vì sao | ⚠ khoá gắn với TÊN MIỀN — trang giả không kích hoạt được |
| MFA nói chung | tốt, nhưng OTP vẫn bị lừa được |
| Đào tạo và diễn tập phishing | |
| Bộ lọc email | Gmail chặn phần lớn |
| Chính sách xác minh qua kênh khác | gọi điện xác nhận |
| Dịch vụ Google Cloud liên quan | Dịch vụ |
|---|---|
| Titan Security Key | ⚠ chống phishing ở tầng phần cứng |
| Google Workspace security | lọc thư, cảnh báo |
| BeyondCorp / IAP | ⚠ xét cả thiết bị và ngữ cảnh, không chỉ mật khẩu |
| Advanced Protection Program | cho tài khoản rủi ro cao |
| Security Command Center | phát hiện hoạt động bất thường |
| Cloud Audit Logs | lần theo sau sự cố |
| Dấu hiệu nhận biết một email phishing | Dấu hiệu |
|---|---|
| Tạo cảm giác KHẨN CẤP | ⚠ "bắt buộc", "trong 24 giờ" |
| Tên miền người gửi hơi lệch | it-suport@ thay vì it-support@ |
| Link không khớp với chữ hiển thị | ⚠ rê chuột để xem URL thật |
| Hỏi thông tin đăng nhập | ⚠ bộ phận IT thật KHÔNG BAO GIỜ hỏi mật khẩu |
| Lỗi chính tả, cách xưng hô chung chung |
| Việc phải làm khi nghi bị lừa | Việc |
|---|---|
| Đổi mật khẩu NGAY | |
| Thu hồi mọi phiên đăng nhập | ⚠ bước hay bị quên |
| Báo cho đội bảo mật | |
| Rà audit log | xem có truy cập lạ không |
| Kiểm tra quy tắc chuyển tiếp thư | ⚠ kẻ tấn công hay cài để đọc thư sau này |
Ba việc kiểm chứng cho một tổ chức: | Việc | Cách | |---|---| | Đã bắt buộc MFA chưa | Admin console | | Tài khoản quản trị đã dùng khoá phần cứng chưa | ⚠ ưu tiên nhóm này trước | | Nhân viên có nhận ra phishing không | diễn tập phishing nội bộ định kỳ |
Và một sự thật đáng suy nghĩ về bảo mật đám mây: kẻ tấn công hiếm khi phá vỡ mã hoá của Google — họ chỉ cần một nhân viên gõ mật khẩu vào một trang giả. Đó cũng là lý do khoá bảo mật phần cứng, thứ khiến trang giả không thể hoạt động dù nạn nhân có bấm vào, là khoản đầu tư bảo mật hiệu quả nhất trên mỗi đồng bỏ ra.
A cutting-edge research institute is using TensorFlow to build and train extremely large and complex machine learning models. To reduce training time from weeks to days, they need access to Google's purpose-built, proprietary hardware that is highly optimized for TensorFlow performance.
What is this hardware accelerator called?
-
A
Field-Programmable Gate Array (FPGA)
-
B
Graphics Processing Unit (GPU)
-
C
Central Processing Unit (CPU)
-
D
Tensor Processing Unit (TPU)
Xem giải thích
Đáp án
D — Tensor Processing Unit (TPU).
Vì sao đúng
Đề nêu ba đặc điểm, và cả ba chỉ đúng TPU: phần cứng độc quyền do Google tự thiết kế, tối ưu cho TensorFlow, và rút ngắn thời gian huấn luyện.
⚠ Ba manh mối ↔ TPU:
1. "PHẦN CỨNG ĐỘC QUYỀN của Google"
→ ⚠ TPU do Google tự thiết kế
→ CPU và GPU là của Intel/AMD/NVIDIA
2. "TỐI ƯU CAO ĐỘ CHO TENSORFLOW"
→ ⚠ TPU sinh ra cho TensorFlow
(nay hỗ trợ cả JAX và PyTorch)
3. "GIẢM THỜI GIAN HUẤN LUYỆN
TỪ TUẦN XUỐNG NGÀY"
→ mô hình rất lớn, rất phức tạp
⚠ Vì sao TPU nhanh cho học sâu:
Huấn luyện mạng nơ-ron chủ yếu là
NHÂN MA TRẬN khổng lồ, lặp đi lặp lại
↓
CPU: vài chục lõi mạnh, đa dụng
→ linh hoạt, không chuyên
GPU: hàng nghìn lõi nhỏ
→ tốt cho tính toán song song
⚠ TPU: MẠCH CHUYÊN DỤNG (ASIC)
chỉ để nhân ma trận
↓
⚠ Systolic array — dữ liệu chảy
qua mảng nhân mà không phải
quay lại bộ nhớ liên tục
↓
→ hiệu suất trên mỗi watt
cao hơn nhiều
⚠ Khi nào chọn cái nào:
CPU
→ mô hình nhỏ, tiền xử lý,
suy luận đơn giản
GPU
→ ⚠ linh hoạt nhất: nhiều framework,
nhiều kiểu mô hình
→ mô hình vừa, nghiên cứu đa dạng
TPU
→ ⚠ mô hình RẤT LỚN,
huấn luyện dài ngày,
kiến trúc phù hợp
→ hiệu quả chi phí cao nhất
ở quy mô lớn
Vì sao các phương án khác sai
-
B (GPU) — phương án gần nhất và thật sự dùng được cho việc này. Nhưng GPU không phải phần cứng độc quyền của Google (chủ yếu là NVIDIA), và không được thiết kế riêng cho TensorFlow. Đề nhấn mạnh cả hai điểm đó.
-
C (CPU) — đa dụng, chậm hơn nhiều lần cho học sâu quy mô lớn.
-
A (FPGA) — mạch lập trình lại được, không phải sản phẩm Google cung cấp cho khách hàng huấn luyện ML trên Google Cloud.
Ghi nhớ
⚠ Ba loại bộ xử lý cho ML — bảng phải thuộc: | Loại | Đặc điểm | |---|---| | CPU | đa dụng, ít lõi mạnh — tiền xử lý, mô hình nhỏ | | GPU | ⚠ hàng nghìn lõi, linh hoạt, hỗ trợ mọi framework | | TPU | ⚠ ASIC của Google, chuyên nhân ma trận, quy mô rất lớn |
Từ khoá nhận diện:
"phần cứng độc quyền của Google, tối ưu cho TensorFlow" → TPU "linh hoạt, nhiều framework, CUDA" → GPU "mô hình nhỏ, tiền xử lý" → CPU "huấn luyện mô hình khổng lồ, tiết kiệm chi phí ở quy mô lớn" → TPU
| TPU — điều cần biết | Điểm |
|---|---|
| Bản chất | ASIC — mạch tích hợp chuyên dụng |
| Framework hỗ trợ | ⚠ TensorFlow, JAX, và PyTorch/XLA |
| Pod | ⚠ hàng nghìn chip nối bằng mạng tốc độ cao |
| Dùng ở đâu | Vertex AI, GKE, Compute Engine |
| Thế hệ | v2, v3, v4, v5e, v5p… |
| Ironwood / thế hệ mới | tối ưu cho suy luận mô hình lớn |
| ⚠ Khi nào TPU KHÔNG phải lựa chọn tốt | Trường hợp |
|---|---|
| Mô hình nhỏ | chi phí không bù được |
| Kiến trúc có nhiều thao tác tuỳ biến | ⚠ TPU kén hơn GPU |
| Cần thư viện chỉ chạy trên CUDA | |
| Phần lớn thời gian tốn ở nạp dữ liệu | ⚠ nâng phần cứng không giúp gì |
| Lời khuyên | đo xem nút thắt ở đâu TRƯỚC khi đổi phần cứng |
| Tối ưu chi phí huấn luyện | Việc |
|---|---|
| Spot / Preemptible | ⚠ rẻ hơn nhiều, có checkpoint thì không sợ mất |
| Lưu checkpoint thường xuyên | |
| Bắt đầu bằng mô hình nhỏ | chứng minh ý tưởng trước |
| Transfer learning | ⚠ thường bỏ qua được việc huấn luyện từ đầu |
| Chọn vùng có TPU và giá tốt | |
| Tắt tài nguyên ngay khi xong |
| Nút thắt thật khi huấn luyện | Nút thắt |
|---|---|
| Nạp dữ liệu (I/O) | ⚠ rất hay là thủ phạm thật |
| Tiền xử lý trên CPU | |
| Giao tiếp giữa các node | khi huấn luyện phân tán |
| Tính toán | mới là chỗ TPU/GPU giúp |
| Công cụ | profiler của TensorFlow / Vertex AI |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Nút thắt nằm ở đâu | ⚠ chạy profiler trước khi đổi phần cứng | | Mức sử dụng chip bao nhiêu | thấp nghĩa là nghẽn ở dữ liệu | | Chi phí mỗi lần huấn luyện | so giữa GPU và TPU trên cùng bài toán |
Và một lời nhắc thực tế trước khi ai đó đề xuất mua thêm phần cứng mạnh hơn: rất nhiều lần vấn đề không nằm ở chip. Nếu đường ống nạp dữ liệu không theo kịp, TPU đắt tiền sẽ ngồi chờ đúng như GPU rẻ hơn đã ngồi chờ — và profiler là thứ cho bạn biết điều đó trong mười phút.
An application is composed of several independent microservices. When a new user signs up, the user service" needs to notify the "email service" and the "analytics service" so they can perform their respective tasks.
To ensure the services are not tightly coupled, what product should be used to act as a reliable, asynchronous message bus between them?
-
A
Dataflow
-
B
Cloud SQL
-
C
Pub/Sub
-
D
Cloud Load Balancing
Xem giải thích
Đáp án
C — Pub/Sub.
Vì sao đúng
Đề dùng đúng ba chữ mô tả Pub/Sub: bus thông điệp, bất đồng bộ, đáng tin cậy — và mục tiêu là giảm ràng buộc chặt (tight coupling) giữa các dịch vụ.
⚠ Trước và sau khi có Pub/Sub:
RÀNG BUỘC CHẶT
user service
├── gọi HTTP → email service
└── gọi HTTP → analytics service
↓
⚠ user service PHẢI BIẾT
địa chỉ của cả hai
⚠ Một dịch vụ chết → đăng ký
người dùng LỖI THEO
⚠ Thêm dịch vụ thứ ba
→ phải SỬA MÃ user service
TÁCH RỜI VỚI PUB/SUB
user service → publish "user.created"
↓
TOPIC
┌────────┴────────┐
subscription subscription
email service analytics service
↓
⚠ user service KHÔNG biết
ai đang nghe
⚠ Một bên chết → thông điệp
NẰM CHỜ, không mất
⚠ Thêm dịch vụ mới → chỉ tạo
thêm SUBSCRIPTION
⚠ Fan-out — cơ chế then chốt:
MỘT topic, NHIỀU subscription
↓
⚠ MỖI subscription nhận
MỘT BẢN SAO ĐẦY ĐỦ
↓
Email service xử lý theo cách của nó
Analytics service theo cách của nó
↓
→ hai bên độc lập hoàn toàn
Xem thêm #13260 (lô 138) — Pub/Sub với vai trò "cửa trước" của dữ liệu luồng. Câu này là vai trò thứ hai: bus thông điệp giữa các microservice. Cùng một sản phẩm, hai kiểu dùng.
Vì sao các phương án khác sai
-
A (Dataflow) — công cụ xử lý dữ liệu luồng và lô. Nó tiêu thụ dữ liệu từ Pub/Sub, không thay thế vai trò truyền tin.
-
B (Cloud SQL) — cơ sở dữ liệu. Có thể giả lập hàng đợi bằng bảng, nhưng đó là mẫu chống (anti-pattern): không mở rộng, phải hỏi vòng (polling), khó bảo đảm giao đúng một lần.
-
D (Cloud Load Balancing) — phân phối lưu lượng đồng bộ tới các backend. Người gọi vẫn phải chờ phản hồi, và backend chết thì lời gọi vẫn lỗi.
Ghi nhớ
⚠ Đồng bộ và bất đồng bộ — bảng phải thuộc: | | Đồng bộ (HTTP) | Bất đồng bộ (Pub/Sub) | |---|---|---| | Người gọi | CHỜ phản hồi | ⚠ gửi xong đi luôn | | Bên nhận chết | ⚠ lời gọi LỖI | thông điệp NẰM CHỜ | | Thêm bên nhận | phải sửa mã bên gửi | ⚠ chỉ thêm subscription | | Hợp với | cần kết quả ngay | việc chạy nền, thông báo |
Từ khoá nhận diện:
"tách rời, bất đồng bộ, bus thông điệp" → Pub/Sub "nhận luồng dữ liệu quy mô lớn" → Pub/Sub "xử lý và biến đổi luồng" → Dataflow "hàng đợi tác vụ có kiểm soát tốc độ" → Cloud Tasks "định tuyến sự kiện tới dịch vụ" → Eventarc
| Bốn khái niệm của Pub/Sub | Khái niệm |
|---|---|
| Topic | nơi bên gửi đẩy thông điệp vào |
| Subscription | ⚠ mỗi cái nhận MỘT BẢN SAO đầy đủ |
| Push / Pull | Pub/Sub gọi bạn, hay bạn tự kéo |
| Dead-letter topic | ⚠ nơi chứa thông điệp giao hỏng nhiều lần |
| Bảo đảm của Pub/Sub | Bảo đảm |
|---|---|
| Giao ít nhất một lần | mặc định |
| Exactly-once | tuỳ chọn, trong một vùng |
| Ordering key | giữ thứ tự theo khoá |
| Giữ thông điệp | ⚠ mặc định 7 ngày |
| Tự mở rộng | không cần khai trước dung lượng |
| ⚠ Bên nhận phải xử lý được thông điệp TRÙNG | Lý do |
|---|---|
| Giao ít nhất một lần nghĩa là có thể lặp | |
| Cách chữa | ⚠ thiết kế IDEMPOTENT — chạy lại không đổi kết quả |
| Ví dụ | kiểm message_id đã xử lý chưa trước khi làm |
| Sai lầm | giả định mỗi thông điệp chỉ đến đúng một lần |
| Chọn giữa ba công cụ bất đồng bộ | Công cụ |
|---|---|
| Pub/Sub | ⚠ fan-out, thông lượng lớn, nhiều bên nhận |
| Cloud Tasks | hàng đợi tác vụ, ⚠ kiểm soát tốc độ gửi tới một đích |
| Eventarc | định tuyến sự kiện Google Cloud tới Cloud Run |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Có bị dồn ứ không | num_undelivered_messages | | Thông điệp có bị mất không | ⚠ kiểm hạn giữ và dead-letter topic | | Xử lý trùng có an toàn không | rà lại tính idempotent của bên nhận |
Và một lợi ích của kiến trúc tách rời chỉ lộ rõ khi hệ thống lớn lên: thêm một tính năng mới không cần đụng tới mã cũ. Sáu tháng nữa, khi đội chống gian lận cũng muốn biết mỗi lần có người đăng ký, họ chỉ cần tạo một subscription — còn dịch vụ người dùng thì không hề biết có gì thay đổi.