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

Giải thích cách hỗ trợ giao dịch trong Cosmos DB?

Câu trả lời

Giao dịch trong Cosmos DB được hỗ trợ thông qua việc đảm bảo tính toàn vẹn và nhất quán của dữ liệu. Cosmos DB tuân theo các thuộc tính ACID (Nguyên tử, Nhất quán, Cô lập, Bền vững) cho mọi hoạt động trong một phân vùng logic duy nhất. Điều này có nghĩa là khi thực hiện một hoạt động ghi trên một phân vùng logic duy nhất, tất cả các thay đổi sẽ được thực hiện một cách nguyên tử; nghĩa là hoặc là tất cả các thay đổi đều được cam kết vào cơ sở dữ liệu, hoặc không có thay đổi nào được thực hiện, đảm bảo không có sự không nhất quán dữ liệu trong trường hợp có sự cố xảy ra[20].

Cosmos DB cung cấp tính năng Batch Giao dịch (Transactional Batch) cho phép thực hiện một loạt các hoạt động như tạo, đọc, cập nhật và xóa (CRUD) trên các mục trong một container như một phần của một giao dịch logic. Nếu một hoạt động trong lô thất bại, toàn bộ lô sẽ được lùi lại, đảm bảo rằng cơ sở dữ liệu vẫn ở trạng thái nhất quán[20].

Đối với các giao dịch đa tài liệu trải qua nhiều phân vùng, Cosmos DB cung cấp tính năng Thủ tục Lưu trữ (Stored Procedures) cho các hoạt động này. Điều này đảm bảo rằng các giao dịch được xử lý một cách đáng tin cậy và hiệu quả, bất kể độ phức tạp hoặc lượng dữ liệu liên quan[20].

Ngoài ra, Cosmos DB còn hỗ trợ các mức độ nhất quán khác nhau mà người dùng có thể chọn lựa dựa trên yêu cầu cụ thể của ứng dụng, từ Nhất quán Mạnh (Strong Consistency) đến Nhất quán Cuối cùng (Eventual Consistency), cho phép cân nhắc giữa độ nhất quán và hiệu suất[4][12].

Citations:
[1] https://parveensingh.com/cosmosdb-consistency-levels/
[2] https://www.serverlessnotes.com/docs/understanding-azure-cosmos-db-consistency-levels
[3] https://st...

middle

middle

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

middle

Tên một số chế độ thông lượng RUs được sử dụng trong Cosmos DB.

middle

Tên và định nghĩa một số Consistency Models/Levels trong Azure Cosmos DB

middle

Tên một số ưu và nhược điểm của việc sử dụng GUID làm Khóa Phân Vùng 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