เห็นบทความเรื่อง Things You Should Know About Databases
จากทาง Architecture Notes
ว่าด้วยเรื่องที่ควรต้องรู้เกี่ยวกับ database ที่ใช้งานกัน
โดยเฉพาะ RDBMS (Relational DataBase Management System)
ที่ถูกใช้งานกันอย่างมากในระบบต่าง ๆ

มีเรื่องพื้นฐานหลายอย่างที่น่าสนใจมาก ๆ
และบ่อยครั้งเรามักจะหลงลืมหรือไม่เข้าใจมัน
ทำให้ใช้งานแบบถูก ๆ ผิด ๆ กันมา
ดังนั้นมาดูกัน โดยประกอบไปด้วยเรื่องต่าง ๆ ดังนี้

  • การทำงานของ Index ว่าเป็นอย่างไร มีโครงสร้างอย่างไร (BTRee และ B+Tree)
    ช่วยให้ค้นหาข้อมูลได้รวดเร็วขึ้นอย่างไร
  • Performance ของการอ่านและเขียนข้อมูล รวมทั้งเรื่องของ Big O Notation
  • การจัดการ transaction ที่ต้องเข้าใจ ACID (Atomic, Consistency, Isolation, Durability)
  • ทำความเข้าใจเรื่องของการเข้าถึงข้อมูลพร้อม ๆ กัน (Concurrency) ซึ่งต้องเข้าใจ Isolation Level ทั้ง Repeatable read, Serializable, Read committed และ Read uncommitted เป็นต้น

ลองอ่านรายละเอียดเพิ่มเติมดูครับ
เป็นการปูพื้นฐานให้แน่น ก่อนที่จะไปเรื่องที่ซับซ้อนกว่านี้

ใน RDBMS มี ACID
ส่วนในโลกของ NoSQL จะมี BASE (Basically Available, Soft state และ Eventually consistent)