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

Quy tắc chung để chọn Partition Key lý tưởng trong CosmosDB là gì?

middle

Giải thích sự khác biệt giữa Point ReadsQueries trong Cosmos DB?

middle

Khi nào bạn sẽ tạo một container mới thay vì thêm dữ liệu của loại khác vào container đã được tạo trong Cosmos DB?

Bình luận

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

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