7 คะแนน โดย GN⁺ 2025-02-27 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • EdgeDB รีแบรนด์ภายใต้ชื่อใหม่ว่า Gel
  • PostgreSQL กำลังค่อย ๆ รุกคืบกินส่วนแบ่งใน ตลาดฐานข้อมูล มากขึ้นในช่วงหลัง
    • PostgreSQL แทบเป็นตัวอย่างเดียวของฐานข้อมูลกระแสหลักที่ยังคงบำรุงรักษาและพัฒนาแบบโอเพนซอร์ส
    • เริ่มต้นจากโครงการวิจัย และเผยแพร่ภายใต้ไลเซนส์ลักษณะคล้าย MIT จึงไม่มีประเด็นอย่าง การเปลี่ยนไลเซนส์ หรือ การถูกซื้อกิจการ ทำให้ได้รับ ความเชื่อมั่น สูง
  • เหตุผลที่ PostgreSQL ถูกเรียกว่าเป็น “โอเพนซอร์ส relational DB ที่ก้าวหน้าที่สุด”
    • ถูกออกแบบโดยให้ ความสามารถในการขยาย และ ความเป็นโมดูลาร์ เป็นหัวใจสำคัญมาตั้งแต่สมัยโครงการ Berkeley POSTGRES ในปี 1985
    • รองรับ ชนิดข้อมูล ได้หลากหลาย (JSON, ข้อมูลเชิงพื้นที่, เวกเตอร์ ฯลฯ) จนแทบทำหน้าที่เป็นฐานข้อมูลแบบ มัลติโหมด ได้
    • มีประสิทธิภาพด้าน query optimization และ Planner สูง ทำให้เมื่อคอมไพล์ EdgeQL (ภาษา query ของ Gel) ไปเป็น SQL ก็ยังจัดการคิวรีขนาดใหญ่ได้อย่างเสถียร
    • มี ส่วนขยายของ Postgres ให้ใช้อย่างมากมาย และยังพัฒนาส่วนขยายด้วย Rust ได้ด้วย
    • ฐานข้อมูลจำนวนมาก เช่น CockroachDB, YugabyteDB, TiDB, Google Spanner ต่างให้ความสำคัญกับ ความเข้ากันได้กับ Postgres เป็นอันดับแรก
  • Gel (เดิมคือ EdgeDB) เป็นแนวคิดในการแทนที่เลเยอร์ ฟรอนต์เอนด์ ของ Postgres
    • แม้ Aurora หรือ Neon จะเปลี่ยนเลเยอร์สตอเรจ แต่ Gel มุ่งไปที่การเข้าถึงฐานข้อมูลโดยใช้ EdgeQL แทน SQL
    • เช่นเดียวกับที่ TypeScript ทำงานอยู่บน JavaScript, Gel ทำงานบนพื้นฐานของ Postgres โดยคอมไพล์และปรับแต่ง สคีมาและคิวรี ให้อยู่ในรูปแบบที่ใช้งานง่ายกว่า
    • ตั้งแต่เวอร์ชันใหม่ Gel 6.0 ก็รองรับ SQL โดยตรงด้วย ทำให้เริ่มนำไปใช้แบบค่อยเป็นค่อยไปได้
    • สามารถใช้งาน Gel ผ่านเครื่องมืออย่าง Drizzle, Prisma, SQLAlchemy ได้

เหตุผลของการรีแบรนด์

  • ชื่อ “Edge” ทำให้เกิดความสับสน เพราะชวนให้นึกถึงภาพลักษณ์อย่าง Edge Computing หรือ graph DB
  • จึงเปลี่ยนชื่อเป็น “Gel” ที่สั้น กระชับ และให้ความรู้สึกยืดหยุ่น

อะไรที่เปลี่ยนไป และอะไรที่ไม่เปลี่ยน

  • บริษัท ทีม และพันธกิจยังคงเหมือนเดิม
  • เครื่องมือและไลบรารีจะใช้ชื่อใหม่ (gel) แทนชื่อเดิม (edgedb) และยังมี symlink หรือแพ็กเกจชื่อเดิมไว้รองรับการใช้งานย้อนหลัง
  • ตอนนี้สามารถทดลองใช้ v6.0 บน Gel Cloud ได้แล้ว
  • ไลเซนส์ Apache และการพัฒนาแบบโอเพนซอร์สจะยังดำเนินต่อไป และมีแผนจะแชร์รายละเอียดการรับประกันในโพสต์ถัดไป

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

 
GN⁺ 2025-02-27
ความคิดเห็นจาก Hacker News
  • มีความเห็นว่า query planner/optimizer ของ PostgreSQL นั้นล้ำสมัยมาก
    • cost-based planner ของ Postgres นั้นยอดเยี่ยม แต่เป็นสถาปัตยกรรมจากยุค 1980 และเก่ากว่าระบบ Volcano/Cascades ที่ Microsoft SQL Server และ CockroachDB ใช้
    • ตลอด 30 ปีที่ผ่านมา มีความก้าวหน้ามากมายในด้าน query optimization แต่แทบไม่ได้ถูกสะท้อนเข้ามาใน Postgres
    • Postgres เพิ่ม parallel workers และ JIT เข้ามาแล้ว แต่การออกแบบพื้นฐานแทบไม่เปลี่ยนแปลง
    • แนวทางการเพิ่มการปรับปรุงค่อนข้างอนุรักษนิยม ขณะที่ฐานข้อมูลอื่นรองรับ index skip scan มานานแล้ว แต่ Postgres ยังอยู่ระหว่างการพัฒนาเพื่อรองรับสิ่งนี้
    • เทคโนโลยีที่ล้ำหน้าจริง ๆ คือ Umbra ซึ่งเป็นโครงการวิจัยของกลุ่ม Thomas Neumann แห่งมหาวิทยาลัยมิวนิก เป็นผลงานต่อจาก HyPer และกำลังถูกทำเชิงพาณิชย์ในชื่อ CedarDB
    • บทวิเคราะห์ของพวกเขาเกี่ยวกับ query planner ของ Postgres เป็นสิ่งที่น่าอ่านมาก
  • มีความเห็นว่า Gel เปรียบได้กับ TypeScript สำหรับ Postgres
    • ใช้ EdgeDB มาหลายปีแล้ว และหลังจากเคยใช้ RethinkDB กับ MongoDB มาก่อน นี่คือฐานข้อมูลที่ชอบที่สุด
    • ไม่จำเป็นต้องท่องจำคำสั่ง SQL และเมื่อมีปัญหากับ query ก็มี UI ที่ดีสำหรับดูข้อมูล
  • EdgeDB ยอดเยี่ยมจริง ๆ ทั้ง schema, migrations, TypeScript query builder, auth และฟีเจอร์อื่น ๆ ล้วนทำได้ดี
    • ในแอป Remix ขนาดเล็ก ใช้ DB โดยตรงได้เลยโดยไม่ต้องสร้าง API layer แยก
  • ชอบชื่อใหม่ และเวลาต้องพิมพ์ "edgedb" ตอนใช้ CLI ก็รู้สึกว่ายุ่งยากอยู่แล้ว
  • หวังว่าเอกสารชุดใหม่จะดีขึ้น เพราะของเดิมใช้งานยากและยังขาด ๆ อยู่บ้าง
  • เคยลอง ORM มาหลายตัว แต่ ORM ของ EdgeDB ทำงานได้เรียบง่ายมาก ยกเว้นปัญหาที่ไม่เป็นไปตามแนวทางที่กำหนด
    • ทุกอย่างทำงานได้ดีโดยไม่มีบั๊กหรือการตั้งค่าผิดพลาด
  • EdgeDB เป็นผลิตภัณฑ์ที่ออกแบบมาดี และมีแผนจะใช้กับโปรเจกต์ส่วนตัว
  • Postgres นั้นยอดเยี่ยม แต่ต้องใช้ความพยายามค่อนข้างมากหากต้องรองรับ workload ขนาดใหญ่
    • ถามคนที่เคยต้อง shard ฐานข้อมูลก็น่าจะรู้
  • บทเรียนคือเวลาเริ่มบริษัทฐานข้อมูลใหม่ ควรเริ่มจาก SQL
    • แทบทุก DB ที่เริ่มต้นโดยไม่รองรับ SQL สุดท้ายก็มักจะต้องเพิ่มมันเข้ามา
  • การผสานรวมอย่างแนบแน่นกับ TypeScript toolchain ทำให้ edgeql มีประโยชน์มาก และมี error น้อยกว่า ORM มาก
  • Gel เป็นสูตรที่ประสบความสำเร็จ โดยเฉพาะในโลกของ TypeScript
  • เคยทำ side project ด้วย EdgeDB 5.0 และให้ความรู้สึกสนุกแบบเดียวกับการพัฒนาแอปด้วย Django หรือ Rails
    • ใช้งานร่วมกับ Typescript+React ในสภาพแวดล้อม serverless
    • สนใจเรื่องการ self-host อยู่
  • สงสัยว่าถ้ามี Postgres DB อยู่ใน region ที่กำหนดไว้แล้ว และ deploy gel ลงใน k8s cluster ตามเอกสาร จะทำงานได้ดีหรือไม่
    • สงสัยว่าการ deploy แบบนี้ฟรีหรือไม่ และมีฟีเจอร์อะไรจากบริการคลาวด์ที่หายไปบ้าง
    • ไม่อยากเสียฟีเจอร์ high availability, backup และ monitoring ของ GCP
    • สงสัยว่าสามารถกำหนด region ที่เก็บข้อมูล และนำไปวางไว้หลัง VPC ได้หรือไม่
 
codemasterkimc 2025-02-27

ฐานข้อมูลเชิงสัมพันธ์โอเพนซอร์สที่ล้ำหน้าที่สุดในโลก