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.