Amazon DynamoDB
ฐานข้อมูลแบบ NoSQL ที่รวดเร็วขีดสุด
RDS (SQL) ต้องมีฟอร์มการกรอกแฟ้มเป็นคอลัมน์ชัดเจนตายตัว แต่ DynamoDB (NoSQL) เหมือนตู้ล็อกเกอร์ฝากของ — ของข้างในคุณจะโยนกระเป๋า, รองเท้า, หรือตุ๊กตา เข้าไปก็ได้ (โครงสร้างเอกสารยืดหยุ่น หน้าตาข้อมูลแต่ละแถวไม่จำเป็นต้องเหมือนกันเป๊ะ) พอรู้แค่หมายเลขกุญแจก็ดึงของออกมาได้ไวระดับมิลลิวินาที (เสี้ยววิ) ไม่ว่าจะเก็บหลักพัน หรือหลักล้านชิ้น
Amazon DynamoDB (ระบบฐานข้อมูลแบบคีย์-แวลูและเอกสาร) เป็นฐานข้อมูลประเภท NoSQL ที่ AWS พัฒนาให้เป็นแบบ Fully Managed และ Serverless หมายความว่าเราไม่ต้องเลือกขนาดเครื่อง EC2 เลย ระบบจะขยายการรองรับโหลดลูกค้า (Scale) ให้อัตโนมัติแบบไร้ขีดจำกัด
- ไม่มีคำว่า "เลือกขนาดเครื่อง" ให้ปวดหัว คุณเลือกแค่โหมดจ่ายเงิน On-Demand (จ่ายตามการอ่าน/เขียนจริง) หรือ Provisioned (เหมาจ่ายปริมาณ)
- โครงสร้างข้อมูลเป็น Key-Value / JSON Document
- มีฟีเจอร์ Global Tables — ทำสำเนาข้ามโลก (Multi-Region) โดยซิงก์กันหลายทวีป ตอบสนองลูกค้าข้ามทวีปได้รวดเร็ว
สรุป Key Takeaways
- DynamoDB = Serverless NoSQL ฐานข้อมูลที่รองรับสเกลยักษ์
- เร็วระดับเสี้ยววิ (single-digit millisecond) ไม่จำกัดความจุ
- Global Tables กระจายข้อมูลข้าม Region ไว ๆ
คำถามที่พบบ่อย
DynamoDB ต่างจาก RDS ยังไง เลือกจากอะไร
RDS เป็น SQL — โครงสร้างตารางตายตัว join ซับซ้อนได้ เหมาะกับข้อมูลเชิงสัมพันธ์ เช่น ระบบบัญชี ส่วน DynamoDB เป็น NoSQL แบบ key-value — schema ยืดหยุ่น ตอบสนองระดับ millisecond คงที่ไม่ว่าข้อมูลจะโตแค่ไหน เหมาะกับ session, ตะกร้าสินค้า, เกม, IoT — โจทย์ที่บอก single-digit millisecond + scale มหาศาล ให้ตอบ DynamoDB
DAX คืออะไร ต่างจากการเอา ElastiCache มาแคชเอง
DAX (DynamoDB Accelerator) เป็นแคชที่ออกแบบมาเสียบหน้า DynamoDB โดยเฉพาะ — API เดียวกันเป๊ะ ไม่ต้องแก้โค้ดมาก ลด latency การอ่านจาก milliseconds เหลือ microseconds ส่วน ElastiCache ยืดหยุ่นกว่าแต่ต้องเขียน logic แคชเอง ข้อสอบถ้าพูดถึงเร่งการอ่าน DynamoDB ตรงๆ ให้ตอบ DAX
DynamoDB คิดเงินยังไง ต้องจองเครื่องไหม
ไม่มีเครื่องให้จอง — เลือกได้ระหว่าง On-Demand (จ่ายต่อ request เหมาะกับโหลดเดายาก) กับ Provisioned (กำหนด RCU/WCU ล่วงหน้า ถูกกว่าเมื่อโหลดสม่ำเสมอ และเปิด Auto Scaling ได้) โจทย์ unpredictable traffic ให้เลือก On-Demand
Global Tables เอาไว้ทำอะไร
ทำให้ตาราง DynamoDB มีสำเนาแบบอ่าน-เขียนได้ (multi-active) ในหลาย region พร้อมกัน sync ให้เอง — เหมาะกับแอป global ที่อยากให้ผู้ใช้แต่ละทวีปอ่านเขียนที่ region ใกล้ตัว และเป็น DR ในตัว
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

