10 คะแนน โดย GN⁺ 2024-04-16 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • Neon เป็นบริการที่นำเสนอแนวทางใหม่สำหรับการพัฒนาฐานข้อมูล Postgres และเพิ่งเปิดตัวอย่างเป็นทางการเมื่อไม่นานมานี้
  • Postgres เป็นหนึ่งในฐานข้อมูลสำหรับนักพัฒนาที่ได้รับความนิยมมากที่สุด แต่ยังมีความท้าทายในด้านการขยายระบบและการกู้คืนจากความขัดข้อง
  • นักพัฒนาต้องการให้การสร้างคลัสเตอร์ Postgres ทำได้รวดเร็ว ขยาย/ย่อขนาดอัตโนมัติ สามารถสร้างบรานช์สำหรับงานที่แยกอิสระได้ทันที และรองรับการกู้คืนกลับไปยังจุดเวลาเดิมได้อย่างรวดเร็ว

สถาปัตยกรรมและคุณสมบัติของ Neon

  • ใช้สถาปัตยกรรมที่แยก storage ออกจาก compute โดยยืมแนวคิดมาจาก Amazon Aurora
  • เปิดซอร์สการเปลี่ยนแปลงทั้งหมดและส่งกลับไปยัง upstream
  • ผู้ใช้สามารถใช้งาน Postgres ได้อย่างเต็มรูปแบบ
  • ด้วยความสามารถด้านบรานช์ นักพัฒนาจึงทำงานแยกจากกันได้อย่างอิสระโดยไม่เกิดการชนกัน
  • compute สามารถขยายได้อย่างอิสระตามภาระงาน
  • บรานช์ถูกสร้างได้ภายในไม่กี่วินาที และใช้วิธี COW จึงมี overhead ด้านพื้นที่น้อย
  • การสร้างและการทำสำเนาฐานข้อมูลหรือเซิร์ฟเวอร์ไม่ต้องใช้เวลามาก

พัฒนาการของ Neon

  • เดือนธันวาคม 2022 เปิดให้ใช้งานได้โดยไม่ต้องมีคำเชิญ
  • เปิดให้ผู้ใช้ทุกคนใช้งานฟีเจอร์บรานช์
  • รองรับ API ทำให้สามารถทำ Postgres management แบบอัตโนมัติได้
  • เปิดตัว serverless driver ช่วยเพิ่มความเร็วในการ deploy JS/TS
  • ผสานรวมกับ Vercel ทำให้สามารถสร้าง DB branch สำหรับทุก preview ได้
  • เปิดตัวฟังก์ชันปรับขนาดอัตโนมัติ ทำให้ไม่ต้องทำงานแบบ manual
  • สามารถจัดการได้โดยตรงจากเทอร์มินัลผ่าน CLI
  • มุ่งเน้นการ scale ลงสู่ 0 และการปรับปรุงพฤติกรรม cold start

ความเห็นของ GN⁺

  • Neon เป็นบริการที่น่าสนใจซึ่งมุ่งเน้นการปรับปรุงประสบการณ์ของนักพัฒนา โดยเฉพาะฟีเจอร์ database branching ที่ดูจะช่วยเพิ่มความเร็วในการพัฒนาได้มาก
  • อย่างไรก็ตาม ยังมีประเด็นที่ต้องพิจารณาเมื่อนำไปใช้งานจริง เช่น รองรับความสามารถทั้งหมดของ Postgres ได้สมบูรณ์หรือไม่ และควรทำ migration อย่างไร
  • ควรมีการตรวจสอบเรื่องความเข้ากันได้กับ Postgres เดิม รวมถึงเสถียรภาพและประสิทธิภาพ โดยเนื่องจากยังเป็นช่วงต้นหลังเปิดตัว จึงอาจต้องเข้าหาอย่างระมัดระวัง
  • บริการที่คล้ายกัน ได้แก่ Amazon Aurora, Google Cloud Spanner และ Citus ซึ่งควรเปรียบเทียบข้อดีข้อเสียของแต่ละบริการ
  • ด้วยความที่สร้างบน Postgres จึงยังคงได้รับข้อดีของ Postgres อย่างครบถ้วน นี่เป็นจุดดึงดูดสำคัญ เพราะนักพัฒนาสามารถใช้เครื่องมือที่คุ้นเคยไปพร้อมกับเพิ่มประสิทธิภาพการพัฒนาได้ ซึ่งอาจกลายเป็นจุดแข็งเฉพาะตัวของ Neon

2 ความคิดเห็น

 
xguru 2024-04-16

Neon - เซิร์ฟเวอร์เลส Postgres โอเพนซอร์ส

ที่นี่ก็เปิดตัวเป็น GA หลังจากผ่านไป 2 ปีเหมือนกันนะครับ ให้ความรู้สึกเหมือนกำลังแข่งกับ Supabase เลย น่าสนใจดีครับ

 
GN⁺ 2024-04-16
ความคิดเห็นบน Hacker News
  • ผู้ใช้รายหนึ่งเล่าประสบการณ์เชิงลบว่าเมื่อใช้ Neon ฝ่ายสนับสนุนลูกค้าไม่ค่อยช่วยเหลือ มีบั๊กเยอะ ช้า และราคาแพงเกินไป
  • ขณะที่ผู้ใช้อีกรายโฮสต์ Neon เองในฐานะผู้ดูแล Kubernetes ภายในองค์กร และพอใจกับโซลูชันทางเทคนิคของ Neon มาก โดยบอกว่าหากไม่มี Neon ก็แทบจะดำเนินบริษัทต่อไปได้ยาก
  • ความสามารถในการแตกสาขาฐานข้อมูลทั้งก้อนดูยอดเยี่ยม แต่ราคาค่อนข้างแพงเล็กน้อย สำหรับแพ็กเกจ $69/เดือน การเช่าเซิร์ฟเวอร์เฉพาะอาจถูกกว่า
  • ผู้ใช้รายหนึ่งย้ายจาก PlanetScale มา Neon เพราะสามารถขยาย/ลดขนาดได้ง่าย และรันหลายฐานข้อมูลบนคลัสเตอร์เดียวกันได้ Neon ใช้ง่ายกว่า RDS และเริ่มต้นได้เร็วกว่า (ระดับหลายร้อยมิลลิวินาที)
  • ลูกค้าที่ใช้ Neon มานานกว่าหนึ่งปีบอกว่าไม่เคยเจอปัญหาใด ๆ เลย ยกเว้นการเปลี่ยนแปลงด้านราคาเมื่อไม่นานมานี้
  • ฟีเจอร์ "branch" ควรถูกเรียกว่า "snapshot" หรือ "checkpoint" มากกว่า การสร้างเวอร์ชันเขียนได้แบบ CoW และย้อนกลับไปยังเวอร์ชันก่อนหน้าได้นั้นคือ snapshot ส่วน branch สื่อถึงการ merge ซึ่งเป็นปัญหาที่ซับซ้อนมาก
  • จังหวะเวลาออกสู่ตลาดน่าประทับใจ เพราะออกมาหลังประกาศ GA ของ Supabase เพียงหนึ่งวัน ทั้งสองแพลตฟอร์มยอดเยี่ยมทั้งคู่
  • ราคาสตอเรจสูงมากที่ $1.50 ~ $1.75 ต่อ GB ทำให้การใช้กับโปรเจกต์งานอดิเรกอาจเป็นภาระ
  • ยังไม่ชัดเจนว่า Neon ต่างจาก AWS Aurora อย่างไร หรือทำไมจึงควรเลือกใช้ Neon ในแง่ราคาและการขยายตัว
  • หากไดรเวอร์ของ Neon ทำให้การส่งต่อการเชื่อมต่อ localhost ทำได้ง่ายขึ้น ก็จะช่วยยกระดับประสบการณ์การพัฒนาและทดสอบได้ เพราะนักพัฒนานิยมเชื่อมต่อกับฐานข้อมูล Postgres แบบโลคัลเพื่อพัฒนา/ทดสอบ
  • PM ของ Neon ควรพิจารณาว่า หากมองจากมุมของนักพัฒนาหน้าใหม่ที่ต้องการลองใช้ Neon จะต้องเปลี่ยนแปลงโค้ดและเวิร์กโฟลว์การพัฒนาอะไรบ้าง