Định lý CAP

Trong khoa học máy tính lý thuyết, định lý CAP hay còn gọi là định lý Brewer (được đặt theo tên nhà khoa học máy tính Eric Brewer và được đưa ra vào năm 2000), phát biểu rằng bất kỳ hệ thống dữ liệu phân tán nào chỉ có thể đảm bảo hai trong ba yếu tố sau đây:[1][2]

Tính nhất quán (Consistency) Tính khả dụng

(Availability)

Tính chịu thương tổn phân vùng

(Partition Fault Tolerance)

Mỗi lần đọc sẽ nhận được dữ liệu mới nhất hoặc lỗi (error). Mỗi truy vấn luôn nhận được một trả lời không lỗi (non-error response), nhưng không đảm bảo dữ liệu trả về chứa thông tin mới nhất. Hệ thống tiếp tục hoạt động bình thường mặc dù một số lượng bất kỳ các thông điệp (message) bị mất (hoặc trễ) vì lỗi mạng giữa các node.

Khi lỗi phân vùng mạng (network partition failure) xảy ra, hệ thống phải lựa chọn một trong hai phương án sau đây:

  • Hủy tác vụ, điều này làm giảm tính khả dụng (availability) nhưng đảm bảo tính nhất quán (consistency) của hệ thống.
  • Tiếp tục thực hiện tác vụ để đảm bảo tính khả dụng nhưng có thể dẫn đến không nhất quán trong dữ liệu trả về.

Nói cách khác, định lý CAP chỉ ra rằng khi có phân vùng mạng (network partition), người ta phải lựa chọn giữa tính nhất quán và tính khả dụng. Lưu ý rằng tính nhất quán như định nghĩa trong định lý CAP khá khác so với sự nhất quán được đảm bảo trong các giao dịch cơ sở dữ liệu ACID.

Biểu đồ Venn của định lý CAP

Giải thích

[sửa | sửa mã nguồn]

Không có hệ thống phân tán nào có thể đảm bảo được an toàn trước các sự cố mạng, khi đó việc phân vùng mạng trở nên cần thiết.[3] Nếu mạng bị phân vùng thì ta chỉ có thể thỏa mãn được một trong hai yếu tố còn lại: tính nhất quán hoặc tính khả dụng. Khi chọn tính nhất quán thay vì tính khả dụng, hệ thống sẽ trả lại lỗi (error) hoặc lỗi hết thời gian chờ (time out) nếu thông tin được truy vấn không thể đảm bảo được là mới nhất. Khi chọn tính khả dụng thay vì tính nhất quán, hệ thống sẽ luôn xử lý truy vấn và cố gắng trả lại phiên bản hiện có của thông tin, ngay cả khi nó không thể đảm bảo đó là phiên bản mới nhất.[4]

Sự lựa chọn giữa tính nhất quán và tính khả dụng chỉ xảy ra khi mạng bị phân vùng; trong trường hợp mạng không phân vùng, cả tính nhất quán lẫn tính khả dụng của thông tin đều được đảm bảo.

Các hệ thống cơ sở dữ liệu truyền thống được thiết kế dựa trên các tính chất ACID như RDBMS ưu tiên tính nhất quán thay vì tính khả dụng, trong khi các hệ thống được thiết kế dựa trên lý thuyết BASE, ví dụ như các mô hình NoSQL, chọn tính khả dụng thay vì tính nhất quán.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Gilbert, Seth; Lynch, Nancy (tháng 6 năm 2002). “Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services”. ACM SIGACT News (bằng tiếng Anh). 33 (2): 51–59. doi:10.1145/564585.564601. ISSN 0163-5700.
  2. ^ “Brewer's CAP Theorem, julianbrowne.com, Retrieved 02-Mar-2010”.
  3. ^ Kleppmann, Martin (18 tháng 9 năm 2015). “A Critique of the CAP Theorem”. Apollo-University Of Cambridge Repository, Apollo-University Of Cambridge Repository. doi:10.17863/cam.13083. Chú thích journal cần |journal= (trợ giúp)
  4. ^ “Greiner, Robert. "CAP Theorem: Revisited". Robertgreiner.com. Retrieved 2016-09-02”.

Liên kết ngoài

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Võ thuật tổng hợp (MMA): Lịch sử và Nguồn Gốc
Võ thuật tổng hợp (MMA): Lịch sử và Nguồn Gốc
Những ngôi sao điện ảnh như Bruce Lee (Lý Tiểu Long) là người đưa võ thuật đến gần hơn với công chúng
Nhân vật Narberal Gamma (Nabe) - Overlord
Nhân vật Narberal Gamma (Nabe) - Overlord
Narberal Gamma (ナ ー ベ ラ ル ・ ガ ン マ, Narberal ・ Γ) là một hầu gái chiến đấu doppelgänger và là thành viên của "Pleiades Six Stars
[Genshin Impact] Guide La Hoàn Thâm Cảnh v2.3
[Genshin Impact] Guide La Hoàn Thâm Cảnh v2.3
Cẩm nang đi la hoàn thâm cảnh trong genshin impact mùa 2.3
Review và Cảm nhận “Một thoáng ra rực rỡ ở nhân gian”
Review và Cảm nhận “Một thoáng ra rực rỡ ở nhân gian”
Đây là cuốn sách nhưng cũng có thể hiểu là một lá thư dài 300 trang mà đứa con trong truyện dành cho mẹ mình - một người cậu rất rất yêu