Consistency Models (Các mô hình nhất quán)

Ba mức nhất quán từ chặt chẽ nhất đến linh hoạt, quyết định cách dữ liệu được cập nhật và nhìn thấy giữa các node.

Ba mô hình

Mô hìnhĐảm bảoĐánh đổiVí dụ
Strong (mạnh)Sau khi ghi, mọi lần đọc đều thấy dữ liệu mới nhất; không đọc được dữ liệu cũĐộ trễ cao, có thể giảm khả dụng (chờ đồng bộ)Đặt vé máy bay (chống double-booking), số dư ngân hàng
Eventual (cuối cùng)Tạm thời có thể đọc dữ liệu cũ, nhưng “cuối cùng” mọi node sẽ đồng bộCó độ trễ đồng bộ; đổi lấy khả dụng + hiệu năng caoĐổi avatar mạng xã hội, Cassandra, DynamoDB
Weak (yếu)Không hứa hẹn thời hạn cụ thể để đồng bộ; có thể lệch lâu hoặc chỉ một phầnNhất quán thấp nhấtCache TTL dài, bảng xếp hạng game cập nhật vài phút

Ghi chú

  • Eventual consistency thực chất là một dạng của weak consistency.
  • Giữa hai thái cực còn có biến thể: session consistency (nhất quán trong phiên của một user), read-your-writes (sau khi bạn ghi thì bạn đọc thấy ngay, dù người khác chưa thấy).
  • Chọn mô hình nào tùy bài toán: chỗ cần chính xác cao → strong; chỗ có thể “mềm dẻo” để đổi lấy hiệu suất → eventual.

Liên quan