Định lý CAP so với BASE (NoQuery)


12

Định lý CAP so với BASE (NoQuery)

Xin chào, tôi đang cố gắng viết một bài báo nhỏ cho công việc của mình về NoQuery và đã mô tả Định lý CAP là, nếu không phải là tất cả, thì hầu hết các cơ sở dữ liệu NoQuery đều tuân thủ. Sau này tôi đã đọc một bài báo về sự khác biệt giữa NoQuery và RDBMS, trong đó tuyên bố rằng cơ sở dữ liệu NoQuery sử dụng BASE đối tác ACID.

Tôi biết các thuộc tính của BASE, ACID và CAP nhưng tôi đã có một thời gian khó khăn để tìm ra những gì liên quan đến định lý CAP và BASE có liên quan đến nhau. Theo tôi hiểu, định lý CAP dẫn đến từ viết tắt BASE nhưng liệu đó có phải là kết luận đúng? Hay đó là hai cách tiếp cận khác nhau để xây dựng cơ sở dữ liệu, có một số thuộc tính tương tự ??

Trong bài đăng trên blog này (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) tác giả viết:

Việc phát triển phần mềm trong thế giới BASE chịu lỗi khó hơn so với thế giới ACID khó tính, nhưng định lý CAP của nhà sản xuất nói rằng bạn không có lựa chọn nào nếu muốn mở rộng quy mô. Tuy nhiên, như Brewer chỉ ra trong bài trình bày này, có một sự liên tục giữa ACID và BASE. Bạn có thể quyết định mức độ bạn muốn ở gần một đầu của sự liên tục hoặc đầu kia theo mức độ ưu tiên của bạn.

Trong một bài viết khác, tác giả viết:

Nhiều cơ sở dữ liệu NOSQL ở trên đã nới lỏng các yêu cầu về Tính nhất quán để đạt được Tính khả dụng và Phân vùng tốt hơn. Điều này dẫn đến các hệ thống được gọi là BASE (Cơ bản có sẵn, Trạng thái mềm, Phù hợp cuối cùng). Chúng không có giao dịch theo nghĩa cổ điển và đưa ra các ràng buộc trên mô hình dữ liệu để cho phép các sơ đồ phân vùng tốt hơn (như hệ thống Động lực, v.v.). Một cuộc thảo luận toàn diện hơn về CAP, ACID và BASE có sẵn trong phần giới thiệu này.

Điều này nêu rõ rằng kết quả CAP trong BASE.

Tôi hy vọng ai đó có thể làm rõ điều này với tôi và loại bỏ sự nhầm lẫn của tôi ..

Cảm ơn
- Mestika

Câu trả lời:


15

CAP về cơ bản là một sự liên tục dọc theo đó BASE và ACID ở hai đầu đối diện.

Sơ đồ CAP

CAP là tính nhất quán, tính khả dụng và dung sai phân vùng. Về cơ bản, bạn có thể chọn 2 trong số đó nhưng bạn không thể làm cả 3.

ACID tập trung vào tính nhất quán và sẵn có.

BASE tập trung vào dung sai và tính sẵn có của phân vùng và ném tính nhất quán ra khỏi cửa sổ.


1
Một cơ sở dữ liệu ACID tốt nên tập trung vào tính nhất quán và dung sai phân vùng, bởi vì ném dung sai phân vùng ra khỏi cửa sổ (để đặt nó trong lời nói của bạn) sẽ phá vỡ tính nhất quán mỗi khi phân vùng xảy ra.
peter

ACID không tập trung vào tính khả dụng. Chữ 'A' là viết tắt của Nguyên tử và bao gồm những thứ như hủy bỏ - rollback - khởi động lại.
momo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.