เมื่อออกแบบระบบฐานข้อมูลสำหรับเซิร์ฟเวอร์ที่ต้องการความน่าเชื่อถือสูง นักออกแบบควรพิจารณาหลักการ ACID ข้อใดที่มักขัดแย้งกับประสิทธิภาพ (Performance) มากที่สุด และต้องทำการแลกเปลี่ยน (Trade-off) อย่างไร
กAtomicity ขัดแย้งกับประสิทธิภาพมากที่สุด ควรยกเลิก Atomicity ทั้งหมด
ขConsistency ไม่มีผลต่อประสิทธิภาพเลย
คDurability ขัดแย้งกับประสิทธิภาพเพราะต้องเขียนข้อมูลลงดิสก์ทุกครั้ง ต้องใช้ Write-Ahead Logging หรือ SSD เพื่อลดผลกระทบ
งIsolation ที่สูงช่วยเพิ่มประสิทธิภาพเพราะลดการแชร์ทรัพยากร
เฉลยอธิบาย
ใน ACID: Durability รับประกันว่าเมื่อ Transaction สำเร็จแล้ว ข้อมูลจะถาวรแม้ระบบล้มเหลว ซึ่งต้องเขียนข้อมูลลงดิสก์ (Disk I/O) ทุกครั้ง ทำให้ช้ากว่าการเขียนใน RAM Isolation ที่สูง (เช่น Serializable) ก็ลดประสิทธิภาพเพราะต้องล็อกข้อมูลนานขึ้น ทั้งสองมักถูก Trade-off โดยใช้ Write-Ahead Logging (WAL), SSD ความเร็วสูง หรือลด Isolation Level เป็น Read Committed แทน Serializable Atomicity ไม่ขัดแย้งมากนัก และ Isolation สูงทำให้ช้าลงไม่ใช่เร็วขึ้น