Backend nền tảng
D7 · ACID và BASE
ACID = Atomic, Consistent, Isolated, Durable → nhất quán mạnh, giao dịch nguyên tử (SQL).
D7 · Junior · cốt lõi
ACID: chuyển khoản – hoặc trọn vẹn, hoặc không có gì. BASE: số lượt like – lệch vài giây cũng không sao, rồi sẽ khớp.
Cốt lõi
- ACID = Atomic, Consistent, Isolated, Durable → nhất quán mạnh, giao dịch nguyên tử (SQL).
- BASE = Basically Available, Soft state, Eventual consistency → khả dụng cao (NoSQL).
Đánh đổi
Đánh đổi giữa nhất quán mạnh và khả dụng/mở rộng.
Trong thực tế
Payments cần ACID; Cassandra (AP) theo BASE.
Bug thường gặp
Trừ tiền và ghi lịch sử giao dịch bằng hai câu lệnh không nằm trong một transaction → lỗi giữa chừng, tiền bị trừ mà không có lịch sử.
Tự hỏi lại
Liên hệ ACID/BASE với CAP (C4) như thế nào?