Skip to content

ACID properties

Published: at 12:03 PM

🧠 คำย่อสำคัญใน System Design

ภาพนี้สรุปคำย่อที่ใช้บ่อยในงานออกแบบระบบซอฟต์แวร์ โดยแยกเป็น 4 กลุ่มหลัก ได้แก่ CAP, BASE, SOLID และ KISS ซึ่งแต่ละกลุ่มมีจุดประสงค์เฉพาะในด้านความถูกต้อง ความทนทาน หรือความเรียบง่ายในการพัฒนา


🟪 1. CAP Theorem

CAP = Consistency, Availability, Partition Tolerance

ตัวอักษรความหมาย
Cข้อมูลต้องตรงกันในทุก node (Consistency)
Aระบบต้องตอบกลับได้เสมอ (Availability)
Pระบบต้องทนทานต่อการล่มของบางส่วนของเครือข่าย (Partition Tolerance)

ไม่สามารถมีทั้ง 3 พร้อมกันได้ในระบบเดียว ต้องเลือก 2 อย่างเสมอ

ทางเลือกความหมาย
CAเหมาะกับระบบ local ที่ไม่มี partition
CPระบบแม่นยำแต่บางครั้งอาจไม่ตอบ
APระบบเร็ว ตอบกลับได้แม้ข้อมูลอาจยังไม่ตรง

🟦 2. BASE (ใช้ใน NoSQL)

BASE = Basically Available, Soft State, Eventual Consistency

ตัวอักษรความหมาย
BAระบบตอบกลับได้ แม้ข้อมูลไม่สมบูรณ์
Sสถานะของระบบอาจเปลี่ยนได้แม้ไม่มี input
Eข้อมูลจะตรงกันในที่สุด (ไม่ต้องทันที)

🟩 3. SOLID Principles

หลักการเขียนโปรแกรมเชิงวัตถุให้ maintain ง่าย ยืดหยุ่น และ test ได้ง่าย

ตัวอักษรหลักการความหมาย
SSingle Responsibility1 class/ฟังก์ชันควรมีหน้าที่เดียว
OOpen/Closed Principleเปิดให้ขยาย แต่ปิดการแก้ไข
LLiskov Substitutionsubclass ควรแทน superclass ได้โดยไม่พัง
IInterface Segregationแยก interface ให้เฉพาะเจาะจง
DDependency Inversionพึ่งพา abstraction แทน implementation

🟨 4. KISS Principle

KISS = Keep It Simple, Stupid

ตัวอย่าง:
🔧 มีดพับที่ใช้งานง่าย ตรงตามความต้องการของผู้ใช้ ดีกว่ามีดพับที่มีทุกอย่างแต่ใช้งานลำบาก


✅ สรุปเปรียบเทียบ

คำย่อจุดประสงค์ตัวอย่างการใช้งาน
CAPTrade-off ใน distributed systemเลือก availability หรือ consistency
BASEความยืดหยุ่นใน NoSQLระบบที่เน้น performance มากกว่า consistency
SOLIDเขียนโค้ดให้ขยาย/ทดสอบง่ายClass/component ที่ maintain ได้ดี
KISSออกแบบเรียบง่ายUI/UX หรือ business logic

Previous Post
English for Software Engineer
Next Post
API protocols