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

OOC hoạt động như thế nào đối với các tài khoản...

Câu trả lời

OOC, hay Optimistic Concurrency Control, là một cơ chế kiểm soát đồng thời lạc quan được sử dụng trong Azure Cosmos DB để ngăn chặn việc cập nhật và xóa mất mát. Mỗi đối tượng trong Azure Cosmos DB có một thuộc tính _etag được định nghĩa bởi hệ thống, tự động cập nhật mỗi khi đối tượng được cập nhật. Thuộc tính này có thể được sử dụng với tiêu đề yêu cầu if-match do khách hàng cung cấp để cập nhật điều kiện một đối tượng, đảm bảo phiên bản bên phía khách hàng khớp với phiên bản trên máy chủ. Nếu có sự không khớp, máy chủ sẽ trả về phản hồi "HTTP 412 Precondition failure", cho phép khách hàng tải lại đối tượng hoặc ghi đè phiên bản của nó.

Trong môi trường ghi nhiều khu vực, dữ liệu có thể được cam kết độc lập vào các khu vực phụ nếu giá trị _etag của chúng khớp với dữ liệu trong khu vực địa phương. Nếu chính sách giải quyết xung đột hợp nhất dữ liệu mới vào khu vực trung tâm, nó sẽ được sao chép toàn cầu với _etag mới. Nếu chính sách từ chối dữ liệu mới, khu vực phụ sẽ được quay trở lại dữ liệu và _etag ban đầu[7].

Citations:
[1] https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/how-to-multi-master
[2] https://techmindfactory.com/Cosmos-Db-Global-Distribution/
[3] https://stackoverflow.com/questions/71117407/how-to-test-multi-region-write-in-cosmos-db
[4] https://learn.microsoft.com/en-us/azure/cosmos-db/di...

expert

expert

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

expert

Optimistic Concurrency Control - OCC

junior

Dữ liệu được lưu trữ như thế nào trong các phân vùng khác nhau trong một container Cosmos DB?

middle

Các truy vấn chéo phân vùng trong Cosmos DB là gì?

Bình luận

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

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