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

Sự khác biệt giữa Khóa Phân vùng và Khóa Chính trong Cosmos DB là gì?

Câu trả lời

Trong Azure Cosmos DB, khóa phân vùng (Partition Key) và khóa chính (Primary Key) đều là những khái niệm quan trọng nhưng có mục đích và chức năng khác nhau.

Khóa Phân vùng (Partition Key):

  • Khóa phân vùng được sử dụng để phân chia dữ liệu thành các phân vùng logic, giúp Cosmos DB có thể mở rộng và quản lý dữ liệu một cách hiệu quả. Mỗi phân vùng có thể chứa một lượng lớn dữ liệu và được quản lý trên nhiều máy chủ vật lý, giúp tăng khả năng mở rộng và hiệu suất của cơ sở dữ liệu.
  • Chọn khóa phân vùng phù hợp là quan trọng vì nó ảnh hưởng đến hiệu suất truy vấn và chi phí. Một khóa phân vùng tốt nên có độ phân tán cao để dữ liệu được phân bổ đều qua các phân vùng[1].

Khóa Chính (Primary Key):

  • Khóa chính là một hoặc một nhóm các trường trong bảng dữ liệu được sử dụng để xác định duy nhất mỗi bản ghi. Trong Cosmos DB, khóa chính thường được sử dụng để xác định duy nhất mỗi đối tượng hoặc tài liệu trong cơ sở dữ liệu.
  • Khóa chính đảm bảo tính toàn vẹn của dữ liệu bằng cách không cho phép giá trị trùng lặp hoặc giá trị null. Điều này giúp đảm bảo mỗi bản ghi có thể được xác định một cách chính xác và duy nhất[2][4].

Sự khác biệt chính:

  • Mục đích sử dụng: Khóa phân vùng được sử dụng để phân chia dữ liệu thành các phân vùng logic để t...
junior

junior

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

senior

Khi nào và làm thế nào bạn tránh/ngăn chặn các truy vấn qua các phân vùng trong Cosmos DB?

middle

Liệu việc sử dụng CurrentDate làm khóa phân vùng trong cosmosdb có tốt không?

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