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

`Optimistic Concurrency Contro...

Câu trả lời

Optimistic Concurrency Control (OCC) trong Azure Cosmos DB là một cơ chế quản lý đồng thời cho phép nhiều quá trình hoặc người dùng thực hiện các thao tác đọc và ghi trên cùng một tài liệu mà không cần khóa tài liệu đó. OCC dựa trên giả định rằng xung đột trong việc truy cập dữ liệu là hiếm, và do đó, nó cho phép các thao tác được thực hiện mà không bị chặn cho đến khi thực sự cần thiết phải giải quyết xung đột. Điều này giúp tăng hiệu suất và giảm độ trễ trong môi trường có nhiều truy cập đồng thời.

Cách Thức Hoạt Động của OCC trong Cosmos DB

  1. Đọc và Lưu ETag: Mỗi tài liệu trong Cosmos DB có một thuộc tính _etag duy nhất, được cập nhật mỗi khi tài liệu thay đổi. Khi một ứng dụng đọc tài liệu, nó cũng nhận được giá trị _etag hiện tại của tài liệu đó.
  2. Thực Hiện Thay Đổi: Ứng dụng có thể thực hiện các thay đổi trên tài liệu mà nó đã đọc.
  3. Ghi Lại Với ETag: Khi ứng dụng cố gắng ghi lại tài liệu đã thay đổi, nó cần gửi lại giá trị _etag mà nó đã nhận được khi đọc tài liệu.
  4. Kiểm Tra ETag: Cosmos DB sẽ kiểm tra xem giá trị _etag trong yêu cầu ghi có khớp với giá trị _etag hiện tại của tài liệu trong cơ sở dữ liệu hay không. Nếu chúng khớp, điều này c...
expert

expert

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

expert

Cosmos DB cung cấp những tùy chọn bảo mật nào?

senior

Sự khác biệt giữa Partition KeyPrimary Key trong Cosmos DB là gì?

middle

Việc có cùng Partition Key trong nhiều containers có phải là một ý tưởng tốt không?

Bình luận

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

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