ความสอดคล้องในทฤษฎีบทกรดและ CAP มันเหมือนกันหรือไม่?


18

จากความเข้าใจของฉันความสอดคล้องใน ACID คือการรับรองความถูกต้องของข้อมูล

อย่างไรก็ตามความสอดคล้องใน CAP หมายถึงข้อมูลสามารถปรากฏอย่างรวดเร็วในระบบกระจาย

หมายความว่า: พวกเขาไม่ได้แนวคิดเดียวกันหรือไม่

คำตอบ:


18

มันไม่เหมือนกันจริงๆเพราะขอบเขตของข้อมูล

กรด

CAP

  • ความสอดคล้อง (โหนดทั้งหมดมีข้อมูลเดียวกันผ่านความสอดคล้องในที่สุด)
  • ความพร้อมใช้งาน
  • Partition-Tolerance: ระบบยังคงทำงานแม้จะมีการสูญหายของข้อความโดยพลการหรือความล้มเหลวของส่วนหนึ่งของระบบ

สรุป

  • ACID จัดการกับความสอดคล้องของข้อมูลของแต่ละโหนด
  • CAP ระบุถึงความสอดคล้องของข้อมูลทั่วทั้งคลัสเตอร์

1
ในที่สุด ในที่สุดควรจะเป็นตัวหนา Rolando มันเป็นตัวจัดการที่ดี :) สวัสดีปีใหม่!
Philᵀᴹ

3

CAP theorem : ระบุว่าระบบแบบกระจายสามารถให้บริการสองอย่าง (เช่นความพร้อมใช้งานและความทนทานต่อการแบ่งพาร์ติชัน) แต่ไม่เคยมีสามข้อ ตัวอย่างเช่นหากบริการให้ความพร้อมใช้งานและการแบ่งพาร์ติชันจะไม่สามารถรับประกันความสอดคล้องได้ในทันทีดังนั้นจึงใช้ความสอดคล้องในที่สุดซึ่งจะทำให้โครงสร้างพื้นฐานไหลระหว่างความไม่สอดคล้องกันและความมั่นคงอย่างไรก็ตาม ณ จุดหนึ่งไม่ช้าก็เร็ว ส่งผลให้ในที่สุดความสอดคล้อง บริการคลาวด์ทำงานในรูปแบบดังกล่าวและ Simple DB ของ Amazon ใช้ความสอดคล้องในที่สุด

คุณสมบัติ ACIDมักใช้กับฐานข้อมูลเชิงสัมพันธ์ ถ้าคุณต้องการใช้กรดในแบบกระจาย (ฐานข้อมูลแบบกระจาย), กรดใช้ 2PC (สองเฟสกระทำ) เพื่อบังคับให้สอดคล้องกันข้ามพาร์ทิชัน อย่างไรก็ตามเนื่องจาก ACID ให้ความสอดคล้องและการแบ่งพาร์ติชันการใช้ทฤษฎีบท CAP สำหรับ (สภาพแวดล้อมแบบกระจาย) นี่จะหมายความว่าความพร้อมใช้งานจะลดลง

ด้วยเหตุนี้จึงใช้BASE (โดยทั่วไปจะมีสถานะนุ่มนวลและมีความสอดคล้องกันในที่สุด) ซึ่งสามารถให้ระดับความสามารถในการปรับขยายที่ไม่สามารถรับได้ด้วยกรด

หวังว่านี่จะช่วยได้


-1

เกี่ยวกับความสอดคล้องในทฤษฎีบท CAP ที่ Julian Brown เขียนในบทความของเขา ( http://www.julianbrowne.com/article/brewers-cap-theorem ):

บริการที่สอดคล้องทำงานได้อย่างสมบูรณ์หรือไม่เลย Gilbert และ Lynch ใช้คำว่า "atomic" แทนที่จะสอดคล้องกันในการพิสูจน์ซึ่งมีเหตุผลทางเทคนิคมากกว่าเพราะการพูดอย่างเคร่งครัดและสอดคล้องกันคือ C ใน ACID ที่ใช้กับคุณสมบัติอุดมคติของธุรกรรมฐานข้อมูลและหมายความว่าข้อมูลจะไม่ถูกยืนยันว่า แบ่งข้อ จำกัด ที่กำหนดไว้ล่วงหน้าบางอย่าง แต่ถ้าคุณคิดว่ามันเป็นข้อ จำกัด ที่กำหนดไว้ล่วงหน้าของระบบกระจายที่ไม่อนุญาตให้มีค่าหลายค่าสำหรับข้อมูลชิ้นเดียวกันฉันคิดว่าการรั่วไหลในสิ่งที่เป็นนามธรรมถูกเสียบ (บวกถ้า Brewer ใช้คำว่าอะตอมปรมาณู ทฤษฎีบทและเราทุกคนต้องอยู่ในโรงพยาบาลทุกครั้งที่เราพยายามออกเสียง)

ดังนั้นCใน CAP จะสอดคล้องกับAในกรด

กับGilbert และ Lynchเขาอ้างถึงบทความ"Seth Gilbert และ Nancy Lynch: การคาดการณ์ของ Brewer และความเป็นไปได้ของความสอดคล้องของบริการเว็บที่มีการแบ่งพาร์ติชัน"


1
ความสอดคล้องของ CAP นำไปใช้กับระบบแบบกระจายในขณะที่ ACID จะย่อตัวเองจากระดับของสถาปัตยกรรมระบบ ความคงที่ของ CAP อาจจำเป็นสำหรับการใช้งานของกรดอะมิโน แต่มันไม่เหมือนกัน
mustaccio

เนื่องจาก Brewer เขาเองวางทฤษฎีบท CAP ของเขาเกี่ยวกับกรด ( people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdfหน้า 2 & 3) ฉันคิดว่ามันเหมาะสมที่จะมองลึกลงไปในความสัมพันธ์ระหว่าง ทั้งสอง
white_gecko
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.