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 đổi | Ví 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ần | Nhất quán thấp nhất | Cache 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
- Consistency vs Availability - bức tranh tổng
- CAP Theorem - CP nghiêng về strong, AP nghiêng về eventual
- Replication - đồng bộ chặt (strong) vs bất đồng bộ (eventual)
- Cache - cache stale = biểu hiện của nhất quán yếu