ทฤษฎีบท CAP กับ BASE (NoSQL)


12

ทฤษฎีบท CAP กับ BASE (NoSQL)

สวัสดีฉันกำลังพยายามเขียนบทความเล็ก ๆ สำหรับงานของฉันเกี่ยวกับ NoSQL และได้อธิบาย CAP Theorem ว่าถ้าไม่ใช่ทั้งหมดนั้นฐานข้อมูล NoSQL ส่วนใหญ่จะเป็นไปตามนั้น ฉันภายหลังอ่านกระดาษเกี่ยวกับความแตกต่างระหว่าง NoSQL และ RDBMS ซึ่งระบุว่าฐานข้อมูล NoSQL ใช้ ACID counterpart BASE

ฉันรู้ว่าคุณสมบัติของ BASE, ACID และ CAP แต่ฉันยากที่จะเข้าใจว่าทฤษฎีบทของ CAP และ BASE เกี่ยวข้องกันอย่างไร เมื่อฉันเข้าใจแล้วทฤษฎีบท CAP นำไปสู่คำย่อฐาน แต่เป็นข้อสรุปที่ถูกต้องหรือไม่? หรือว่าเป็นสองวิธีที่แตกต่างกันในการ "สร้าง" ฐานข้อมูลซึ่งมีคุณสมบัติที่คล้ายกันบ้าง

ในโพสต์บล็อกนี้ (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/) ผู้เขียนเขียน:

มันยากที่จะพัฒนาซอฟต์แวร์ในโลก BASE ที่สามารถป้องกันความผิดพลาดได้เมื่อเทียบกับโลกของกรดที่มีพิถีพิถัน แต่ทฤษฎีบท CAP ของ Brewer's บอกว่าคุณไม่มีทางเลือกถ้าคุณต้องการขยาย อย่างไรก็ตามในขณะที่บรูเออร์ชี้ให้เห็นในงานนำเสนอนี้มีความต่อเนื่องระหว่างกรดและเบส คุณสามารถตัดสินใจได้ว่าคุณต้องการใกล้ถึงจุดสิ้นสุดของความต่อเนื่องหรืออีกด้านหนึ่งตามลำดับความสำคัญของคุณ

ในบทความอื่นผู้เขียนเขียน:

ฐานข้อมูล NOSQL จำนวนมากด้านบนทั้งหมดได้คลายข้อกำหนดเกี่ยวกับความสอดคล้องเพื่อให้บรรลุความพร้อมใช้งานและการแบ่งพาร์ติชันที่ดีขึ้น สิ่งนี้ส่งผลให้ระบบทราบว่าเป็น BASE (โดยทั่วไปมีสถานะ Soft-state สอดคล้องกันในที่สุด) สิ่งเหล่านี้ไม่มีการทำธุรกรรมในความหมายดั้งเดิมและแนะนำข้อ จำกัด ของตัวแบบข้อมูลเพื่อเปิดใช้งานรูปแบบพาร์ติชันที่ดีขึ้น (เช่นระบบไดนาโมและอื่น ๆ ) การอภิปรายที่ครอบคลุมมากขึ้นเกี่ยวกับ CAP, ACID และ BASE มีอยู่ในบทนำนี้

ซึ่งระบุไว้อย่างชัดเจนว่าผลลัพธ์ของ CAP เป็นฐาน

ฉันหวังว่าใครบางคนสามารถชี้แจงเรื่องนี้ให้ฉันและขจัดความสับสนของฉัน ..

ขอบคุณ
- Mestika

คำตอบ:


15

CAP นั้นเป็นส่วนต่อเนื่องที่เบสและกรดอยู่ตรงข้ามกัน

ไดอะแกรม CAP

CAPคือความสอดคล้องความพร้อมใช้งานและความทนทานต่อการแบ่งพาร์ติชัน โดยทั่วไปคุณสามารถเลือก 2 ตัว แต่คุณทำไม่ได้ทั้ง 3 ข้อ

กรดมุ่งเน้นไปที่ความสอดคล้องและความพร้อมใช้งาน

BASEมุ่งเน้นไปที่ความทนทานต่อการแบ่งพาร์ติชั่นและความพร้อมใช้งาน


1
ฐานข้อมูลกรดที่ดีควรมุ่งเน้นที่ความสอดคล้องและความทนทานต่อการแบ่งพาร์ติชันเนื่องจากการทิ้งความอดทนของพาร์ติชันออกไปนอกหน้าต่าง
เตอร์

กรดไม่ได้มุ่งเน้นไปที่ความพร้อมใช้งาน เครื่องหมาย 'A' หมายถึงAtomicityและครอบคลุมสิ่งต่าง ๆ เช่นการยกเลิก - ย้อนกลับ - รีสตาร์ท
momo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.