มีช่วงเวลาเฉพาะที่ฐานข้อมูลที่จัดการให้หยุดเป็นความสะดวกและเริ่มเป็นกำแพง คุณต้องการ extension ที่ระดับนั้นไม่มี คุณต้องการเห็น query plan จริงและปรับจูน work_mem คุณต้องการ superuser บริการที่จัดการให้เป็นค่าเริ่มต้นที่ดีจนถึงตอนที่คุณต้องเป็นเจ้าของสิ่งนั้น — และตอนนั้น VPS พร้อม root เต็มรูปแบบคือคำตอบที่ตรงไปตรงมา
หน้านี้เกี่ยวกับการรัน PostgreSQL หรือ Redis ของคุณเองอย่างถูกต้อง และการชัดเจนว่าที่ที่เครื่องที่ใช้ร่วมกันเป็นทางเลือกที่ถูกต้องและที่ที่ไม่ใช่
ฐานข้อมูลต้องการอะไรจริง ๆ
ฐานข้อมูลสนใจสองสิ่งที่เซิร์ฟเวอร์เกมไม่สนใจ: หน่วยความจำสำหรับ working set และ disk I/O รูปร่างคร่าว ๆ:
- แอปเดียว — instance Postgres (หรือ Redis) บวกบริการ backend working set มักคือ 1.7-2 GB Small ($8) จัดการมันได้โดยไม่ดราม่า
- สองสามแอป หรือ concurrency โปรดักชันจริง — การเชื่อมต่อมากขึ้น แคชใหญ่ขึ้น งานพื้นหลัง Medium ($12) ให้พื้นที่เหลือ
- เครื่องอื่นต้องเข้าถึง — คุณต้องการที่อยู่ที่เสถียรและ routable ดังนั้น แพ็กเกจ dedicated-IPv4 (Small-IP $16 ขึ้นไป) เพิ่มเติมด้านล่าง
Redis เบากว่าอีก — มันผูกหน่วยความจำ ดังนั้นกำหนดขนาดแพ็กเกจตาม dataset บวก overhead แล้วเสร็จ Postgres คือตัวที่ตอบแทนการปรับจูนเล็กน้อย
เหตุผลจริงในการโฮสต์เอง: การควบคุม
นี่คือที่ที่ VPS ได้ที่ยืน บนเครื่องของคุณเองคุณได้:
postgresql.confทั้งหมด —shared_buffers,work_mem,max_connections, การตั้ง WAL ทั้งหมด ปรับจูนตามงานของคุณแทนค่าเริ่มต้นของผู้จำหน่าย- extension ใดก็ได้
pgvectorสำหรับ embeddings และการค้นหาเชิงความหมาย,PostGISสำหรับ geospatial,TimescaleDBสำหรับ time series,pg_cron,pg_stat_statements— ติดตั้งสิ่งที่คุณต้องการ ระดับที่จัดการให้มักจำกัดรายการ extension หรือกันไว้หลังแพ็กเกจสูงกว่า - superuser และ OS ข้างใต้มัน คุณย้าย data directory, ปรับจูน kernel, รัน
pg_dumpตามกำหนดของคุณเอง และตั้ง streaming replication ไปยังอีกเครื่องได้หากต้องการ
หากไม่มีอะไรในนั้นสำคัญกับคุณ ฐานข้อมูลที่จัดการให้ก็โอเคจริง ๆ และคุณควรใช้มัน หน้านี้สำหรับกรณีที่มันสำคัญ
ที่ที่เครื่องที่ใช้ร่วมกันเป็นเครื่องมือผิด
พูดตรง ๆ: VPS แบบ shared-vCPU ไม่ได้สร้างมาสำหรับ OLTP หนัก — หลายร้อยธุรกรรมต่อวินาทีพร้อมการเขียนที่วิกฤตความหน่วง งานนั้นอยู่รอดหรือตายที่ disk I/O รับประกันและคล็อกคงที่ และแพ็กเกจที่ใช้ร่วมกันไม่สัญญาทั้งสอง หากนั่นคือคุณ คุณต้องการฮาร์ดแวร์เฉพาะ และเราขอบอกตอนนี้ดีกว่าดู latency p99 ของคุณทำให้เราทั้งคู่ขายหน้า
สำหรับกรณีที่พบมากกว่ามาก — ฐานข้อมูลหลังแอปเดียว เครื่องมือภายใน คลังวิเคราะห์ แคช — แพ็กเกจที่ใช้ร่วมกันถูกต้องพอดี
การสำรองไม่ใช่ทางเลือก
การโฮสต์เองหมายถึงการสำรองเป็นงานของคุณ และกฎหนึ่งคือ: ทำมันก่อนที่คุณต้องการ สำหรับ Postgres pg_dump บน cron สำหรับการสำรองเชิงตรรกะ หรือ WAL archiving สำหรับการกู้คืน point-in-time บนอะไรที่คุณใส่ใจจริง ส่ง dump ออกจากเครื่อง — ไปยัง object storage หรืออีกเซิร์ฟเวอร์ — เพื่อให้ดิสก์เสียไม่พาการสำรองไปด้วย ทดสอบการกู้คืนอย่างน้อยครั้งหนึ่ง การสำรองที่คุณไม่เคยกู้คืนคือความหวัง ไม่ใช่การสำรอง
ให้เซิร์ฟเวอร์อื่นเชื่อมต่อ
หากฐานข้อมูลให้บริการเฉพาะแอปบนเครื่องเดียวกัน ผูกมันกับ localhost แล้วเสร็จ — ไม่มีอะไรให้เปิด ทันทีที่เครื่องอื่นต้องเข้า สองสิ่งเปลี่ยน:
- คุณต้องการที่อยู่ที่เสถียรและ routable — นั่นคือ แพ็กเกจ dedicated-IPv4 (Small-IP $16, Medium-IP $20) แพ็กเกจ NAT ใช้ที่อยู่ร่วมกัน ซึ่งโอเคสำหรับขาออกแต่ไม่ใช่การเป็นฐานข้อมูลที่เซิร์ฟเวอร์อื่นโทรเข้า
- คุณ firewall มันหนัก เปิด 5432 (หรือ 6379) เฉพาะกับ IP เจาะจงที่ต้องการ ไม่เคยกับ
0.0.0.0/0และกำหนดให้ใช้ TLS พอร์ต Postgres ที่เปิดบนอินเทอร์เน็ตสาธารณะถูกพบในไม่กี่นาที
เลือกแพ็กเกจ
| การตั้งค่า | แพ็กเกจ |
|---|---|
| DB หลังแอปเดียว, localhost เท่านั้น | Small ($8) |
| สองสามแอป / concurrency โปรดักชัน | Medium ($12) |
| เซิร์ฟเวอร์อื่นต้องเชื่อมต่อเข้า | Small-IP ($16) / Medium-IP ($20) |
| OLTP หนัก หลายร้อย TPS | ฮาร์ดแวร์เฉพาะ ไม่ใช่ VPS ที่ใช้ร่วมกัน |
ฐานข้อมูลที่โฮสต์เองส่วนใหญ่เริ่มบน Small และโตเป็น Medium หรือแพ็กเกจ dedicated-IP เมื่อรับแอปหรือ client ภายนอกมากขึ้น
ทำไมที่นี่
root เต็มรูปแบบหมายถึงมันคือฐานข้อมูลของคุณจนสุด — ทุกบรรทัดคอนฟิก ทุก extension กำหนดการสำรองของคุณเอง ไม่มีระดับตัดสินว่าคุณติดตั้งอะไรได้ การชำระเป็นคริปโต (USDC หรือ USDT บน Base, Ethereum หรือ Polygon) ไม่ต้อง KYC ไม่มีเอกสาร root ในเวลาประมาณ 60 วินาทีหลังจ่าย และคุณให้ Postgres รับการเชื่อมต่อได้สองสามนาทีถัดมา
สรุปที่ตรงไปตรงมา: โฮสต์เองเมื่อคุณต้องการการควบคุม — extension, การปรับจูน, superuser — และเมื่องานของคุณปานกลาง สำหรับฐานข้อมูลของแอปเล็กถึงกลาง แพ็กเกจที่ใช้ร่วมกันคือเครื่องมือที่ถูกต้อง สำหรับ OLTP วิกฤตความหน่วงหลายร้อย TPS มันไม่ใช่ และเราจะพูดอย่างนั้น พร้อมไหม? เลือกแพ็กเกจ
ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกสิ