Câu hỏi phỏng vấn Cosmos DB
Câu hỏi

Khi nào và làm thế nào bạn tránh/ngăn chặn ...

Câu trả lời

Trong Azure Cosmos DB, việc tránh hoặc ngăn chặn các truy vấn qua các phân vùng (cross-partition queries) là quan trọng để tối ưu hóa hiệu suất và giảm chi phí. Các truy vấn qua phân vùng thường tốn nhiều tài nguyên hơn và chậm hơn so với các truy vấn chỉ tập trung vào một phân vùng duy nhất. Dưới đây là một số chiến lược để tránh hoặc ngăn chặn các truy vấn qua phân vùng:

1. Chọn Partition Key Thông Minh

Chọn một partition key phù hợp là bước đầu tiên và quan trọng nhất. Partition key nên:

  • Có cardinality cao (nhiều giá trị duy nhất).
  • Được sử dụng thường xuyên trong các truy vấn của bạn.
  • Phân bổ dữ liệu một cách đều đặn để tránh tình trạng một số phân vùng quá tải.

2. Sử dụng Partition Key trong Truy Vấn

Luôn sử dụng partition key trong điều kiện lọc của truy vấn. Điều này đảm bảo rằng truy vấn chỉ tập trung vào một phân vùng cụ thể, giúp giảm độ trễ và chi phí RU:

sql Copy
SELECT * FROM c WHERE c.partitionKey = 'specificValue'

3. Thiết kế Dữ liệu và Truy Vấn Có Chủ Ý

  • Thiết kế mô hình dữ liệu của bạn để các truy vấn thườn...
senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Giải thích thế nào là Point Read trong Cosmos DB?

expert

OOC hoạt động như thế nào đối với các tài khoản có chức năng ghi nhiều khu vực trong Cosmos DB?

expert

Tại sao các phân vùng logic lớn là một lựa chọn không tốt cho việc mở rộng Cosmos DB?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào