Lộ trình
Microsoft AzureCơ bảnTuần 2: Đào sâu dịch vụ cốt lõiBài 12 / 30

Ngày 12: Database Services

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

Chọn Azure SQL Database hoặc Cosmos DB bằng transaction/access pattern, consistency, scale, partitioning, latency và operational responsibility.

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

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

Chọn Azure SQL Database hoặc Cosmos DB bằng transaction/access pattern, consistency, scale, partitioning, latency và operational responsibility.

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

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

  • Tìm hiểu Azure SQL Database, Cosmos DB
  • Phân biệt use case SQL và NoSQL trên Azure
Instructor walkthrough

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

Scenario xuyên suốt

Hệ thống order cần transaction và query quan hệ; catalog global cần scale theo region với schema linh hoạt. Dùng NoSQL cho transaction quan hệ phức tạp hoặc dùng SQL cho mọi access pattern đều tạo bottleneck và chi phí không cần thiết.

01Đọc bài toán

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

02Vẽ luồng / boundary

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

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

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

04Kiểm chứng / recovery

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

Cách nối lý thuyết với thực tế
  • Azure SQL Database là managed relational database, phù hợp schema/relationship/transaction/SQL query; customer vẫn chịu schema, indexing, access, backup requirement và cost tier.
  • Cosmos DB là distributed NoSQL platform với APIs/multi-model options tùy cấu hình; partition key, consistency, RU/s và replication quyết định behavior/cost.
  • SQL vs NoSQL không phải câu hỏi “database nào tốt hơn”; access pattern, transaction boundary, schema evolution, scale và latency là đầu vào.
  • Managed database giảm OS operations nhưng không tự thiết kế authorization, data classification, backup/restore test hay application correctness.

Bắt đầu từ data access

Order/payment thường cần relationship, constraint và transaction boundary rõ. Catalog global có thể cần schema linh hoạt, phân phối nhiều region và scale theo partition. Vì vậy SQL Database và Cosmos DB giải các problem khác nhau.

Azure SQL Database

Managed relational engine giảm OS/patching nhưng customer vẫn thiết kế schema, index, query, identity, firewall/private access, backup/restore requirement, retention và cost tier. Transaction correctness vẫn là trách nhiệm application/database design.

Cosmos DB

Cosmos DB là distributed NoSQL platform; partition key là quyết định cốt lõi vì ảnh hưởng data distribution, throughput và hot partition. Consistency level là trade-off giữa freshness/latency/availability. RU/s, storage, regions, replication và API choice ảnh hưởng chi phí và behavior.

Bài tập

Thiết kế order và catalog. Với mỗi data set ghi query chính, transaction, partition, consistency, residency, replication, backup/recovery và rejected alternative. Tạo scenario duplicate order và stale catalog rồi mô tả guardrail.

Terminal reference

Command list và cách dùng

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

Commands · read-only checkpoints
az account show --output table
az account list --output table
az group list --output table
Hands-on lab

Thực hành theo scenario

  1. Viết data model cho order/payment và product/catalog; ghi transaction boundary, query, write/read ratio, partition key và consistency expectation.
  2. Tạo decision matrix SQL Database vs Cosmos DB: schema, join, global distribution, latency, scale, operations, cost và migration risk.
  3. Mô phỏng hot partition, duplicate order và stale read; đề xuất key/idempotency/consistency control.
  4. Dùng portal/docs/pricing calculator ở mức design; không tạo database có phí và không đưa PII thật vào lab.
Evidence checkpoint

Kiểm chứng kết quả

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

  • Chọn database theo access pattern và transaction boundary.
  • Giải thích partition key/RU/consistency ở mức AZ-900.
  • Phân biệt managed service với “không còn trách nhiệm”.
  • Có backup/restore, authorization, encryption và cost consideration.
  • Decision matrix có rejected alternative và migration risk.
Transfer to exam / production

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

SQL hướng relational schema, joins và transactions; Cosmos DB hướng distributed NoSQL, global scale/low latency và partitioned access. Đề thường kiểm tra access pattern, không chỉ “big data”.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Workload cần quan hệ dữ liệu, JOIN và transaction nhiều bước cho order/payment. Lựa chọn nào phù hợp nhất ở mức nền tảng?

Kết thúc bài

Checklist trước khi sang Ngày 2