ดูแลเองหรือใช้บริการที่มีคนดูแลให้
คุณสามารถรันฐานข้อมูลเองบนเซิร์ฟเวอร์ หรือเช่าฐานข้อมูลแบบ มีคนดูแลให้ (managed) (Supabase, Neon, PlanetScale, RDS, Cloudflare D1) ที่ผู้ให้บริการจัดการเรื่องแบ็กอัพ การอัปเดตแพตช์ และความพร้อมใช้งานให้
สำหรับ vibe coding ให้เริ่มจากบริการที่มีคนดูแลให้เสมอ การดูแลฐานข้อมูลเองหมายความว่าตอนนี้คุณต้องรับผิดชอบเรื่องแบ็กอัพ การอัปเดตความปลอดภัย พื้นที่ดิสก์ และการกู้ระบบตอนตีสามด้วยตัวเอง นั่นคืองานปฏิบัติการจริง ๆ ที่จะดึงความสนใจของคุณออกจากการสร้างสิ่งที่คุณต้องการสร้าง บริการที่มีคนดูแลให้มีค่าใช้จ่ายเล็กน้อย แต่ประหยัดเวลาและความเสี่ยงมหาศาล ให้ขยับไปดูแลฐานข้อมูลเองก็ต่อเมื่อคุณมีเหตุผลที่ชัดเจนและมีทักษะรองรับแล้วเท่านั้น
เมื่อคุณเลือกผู้ให้บริการแบบมีคนดูแลให้ ควรรู้ไว้ว่าจริง ๆ แล้วคุณกำลังจ่ายเงินเพื่ออะไร เพราะหน้าโฆษณาการตลาดของแต่ละเจ้าดูคล้ายกันไปหมด มีบางสิ่งที่แตกต่างกันจริง ๆ ดังนี้
- รูปแบบการเชื่อมต่อ (connection model) แพลตฟอร์มแบบ (Cloudflare Workers, Vercel functions) เปิดและปิดการเชื่อมต่อฐานข้อมูลตลอดเวลา ซึ่งอาจทำให้ connection pool แบบดั้งเดิมของ Postgres หมดลง ผู้ให้บริการอย่าง Neon และ Supabase มี connection pooler (PgBouncer หรือเทียบเท่า) มาให้เพื่อแก้ปัญหานี้โดยเฉพาะ — ใช้ connection string แบบ pooled ในโค้ด serverless ของคุณ
- การแตกกิ่ง (branching) และแบ็กอัพ Neon และ PlanetScale ให้คุณ "แตกกิ่ง" ฐานข้อมูลได้เหมือน ทำให้คุณทดสอบการทำ migration บนสำเนาได้ ตรวจสอบให้แน่ใจว่าเปิดใช้งานการกู้คืนแบบ point-in-time และรู้ว่ามันย้อนกลับได้ไกลแค่ไหน
- การผูกติดกับแพลตฟอร์ม (lock-in) D1 และ DynamoDB นั้นยอดเยี่ยม แต่ผูกคุณไว้กับคลาวด์เจ้าเดียว ส่วน Postgres ธรรมดา (Supabase, Neon, RDS) เคลื่อนย้ายได้ — สคีมาและคิวรีของคุณย้ายไปโฮสต์ Postgres ที่ไหนก็ได้ สำหรับมือใหม่ส่วนใหญ่ ตัวเลือกที่ย้ายได้จะปลอดภัยกว่าในระยะยาว