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ả...

Câu trả lời

Trong Azure Cosmos DB, khi sử dụng các tài khoản có chức năng ghi nhiều khu vực (multi-region writes), việc quản lý đồng thời và xử lý xung đột trở nên phức tạp hơn do sự trễ trong đồng bộ hóa dữ liệu giữa các khu vực. Tuy nhiên, Cosmos DB cung cấp các cơ chế để xử lý điều này một cách hiệu quả, trong đó bao gồm cả việc sử dụng Optimistic Concurrency Control (OCC).

Hoạt Động của OCC trong Môi Trường Ghi Nhiều Khu Vực

  1. Đọc và Lưu ETag:

    • Giống như trong mô hình ghi đơn khu vực, 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 từ bất kỳ khu vực nào, 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 và Ghi Lại:

    • Sau khi thực hiện các thay đổi trên tài liệu, ứng dụng sẽ cố gắng ghi lại tài liệu đó vào Cosmos DB, kèm theo giá trị _etag mà nó đã nhận được khi đọc.
    • Yêu cầu ghi này có thể được thực hiện từ bất kỳ khu vực nào.
  3. Kiểm Tra ETag và Xử Lý Xung Đột:

    • 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 _etag khớp, điều này có nghĩa là tài liệu c...
expert

expert

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

expert

Tại sao các phân vùng logic lớn là một lựa chọn không tốt cho việc mở rộng Cosmos DB?

expert

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

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?

Bình luận

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

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