บริษัทกำลังออกแบบระบบที่ต้องการทั้ง Consistency (ข้อมูลถูกต้องสม่ำเสมอ) และ Availability (พร้อมใช้งานตลอด) และ Partition Tolerance (ทนต่อเครือข่ายขัดข้อง) ตามทฤษฎี CAP Theorem ข้อสรุปใดถูกต้องที่สุด
กในระบบกระจาย (Distributed System) ที่ต้องการ Partition Tolerance ต้องเลือกระหว่าง Consistency หรือ Availability อย่างใดอย่างหนึ่ง
ขAvailability และ Consistency สามารถมีพร้อมกันได้โดยไม่ต้อง Partition Tolerance
คPartition Tolerance ไม่จำเป็นต้องคำนึงถึงในการออกแบบระบบกระจายสมัยใหม่ เพราะเทคโนโลยีเครือข่ายในปัจจุบันมีความเสถียรสูงมากจนแทบไม่เกิดปัญหาการเชื่อมต่อขาดหาย
งสามารถมีคุณสมบัติทั้งสามได้พร้อมกันหากใช้ฮาร์ดแวร์ที่มีประสิทธิภาพสูงเพียงพอ
เฉลยอธิบาย
CAP Theorem (Brewer's Theorem) ระบุว่าระบบกระจายสามารถรับประกันคุณสมบัติได้เพียงสองในสามเท่านั้น ในทางปฏิบัติ Partition Tolerance เป็นสิ่งจำเป็นสำหรับระบบกระจายเพราะเครือข่ายอาจขัดข้องได้เสมอ ดังนั้นต้องเลือกระหว่าง CP (Consistency + Partition Tolerance เช่น HBase, Zookeeper) หรือ AP (Availability + Partition Tolerance เช่น Cassandra, DynamoDB) ตัวเลือก A ผิดเพราะเป็นข้อจำกัดทางทฤษฎี ตัวเลือก C ผิดเพราะเครือข่ายอาจขัดข้องได้เสมอ ตัวเลือก D ผิดเพราะ CA ไม่ได้รับประกัน Partition Tolerance