Khi học hoặc làm việc với database, bạn có từng gặp các chữ viết tắt ACID, BASE, CAP rồi tự hỏi chúng có nghĩa là gì không? Mình đã từng như vậy, và bài này là kết quả tìm hiểu của mình về chủ đề đó.

CAP nghĩa là cái nón?

CAP là viết tắt của Consistency, Availability, Partition-tolerance, được Eric Brewer giới thiệu trong một buổi diễn thuyết vào năm 2000. Theo Brewer, khi xảy ra partition trong một hệ thống phân tán, tức là kết nối mạng hoặc liên lạc giữa các node bị chia cắt, hệ thống chỉ có thể chọn consistency hoặc availability. Nó không thể đảm bảo cả hai cùng lúc. Vậy những tính chất này là gì, và tại sao chúng ta không thể chọn cả hai?