Postgres.new - Postgres ในเบราว์เซอร์พร้อมอินเทอร์เฟซ AI
(supabase.com)- แซนด์บ็อกซ์ Postgres ที่รันได้โดยตรงในเบราว์เซอร์ พร้อมการรองรับ AI
- สร้างฐานข้อมูล Postgres ได้ไม่จำกัดแบบทันที (และเร็ว ๆ นี้จะสามารถดีพลอยไปยัง S3 ได้ด้วย)
- แต่ละฐานข้อมูลจะจับคู่กับโมเดลภาษาขนาดใหญ่ (LLM) เพื่อรองรับการใช้งานที่น่าสนใจหลากหลาย:
- สร้างตารางด้วยการลากและวางไฟล์ CSV
- สร้างและส่งออกรายงาน
- สร้างกราฟ
- สร้างไดอะแกรมฐานข้อมูล
- ทุกอย่างทำงานแบบโลคัลภายในเบราว์เซอร์
เดโมการใช้งาน
- เมื่อต้องการคิวรีและทำภาพข้อมูลจากไฟล์ CSV อย่างรวดเร็ว
- เมื่อต้องการใช้ ChatGPT เขียน SQL แล้วลองรันกับฐานข้อมูลจริง
- เมื่อต้องการวางแผนโปรเจกต์ใหม่และให้ AI ช่วยออกแบบฐานข้อมูล
วิธีการทำงาน
- ทุกคิวรีทำงานภายในเบราว์เซอร์
- เป็นไปได้ด้วย PGlite ซึ่งเป็น Postgres เวอร์ชัน WASM ที่รันได้โดยตรงในเบราว์เซอร์
แรงจูงใจในการพัฒนา
- การพัฒนาด้วย AI: นำเสนอการโต้ตอบระหว่าง Postgres และ AI ในรูปแบบใหม่
- การทำ Postgres เป็นแซนด์บ็อกซ์: รันได้รวดเร็วในเบราว์เซอร์และเหมาะกับงานใช้ครั้งเดียว
- ฐานข้อมูลต้นทุนต่ำ: มีศักยภาพในการให้บริการฐานข้อมูลจำนวนมากด้วยต้นทุนต่ำ
ฟีเจอร์และการทำงาน
AI Assistant
- จับคู่ PGlite กับ GPT-4o และมอบสิทธิ์เต็มรูปแบบเหนือฐานข้อมูลให้ AI
- AI สามารถทำหลายงานต่อเนื่องกันได้ ทำให้ให้ความรู้สึกเหมือนมนุษย์มากขึ้น
การนำเข้าและส่งออก CSV
- ลากและวางไฟล์ CSV เพื่อสร้างตารางโดยอัตโนมัติ
- AI จะวิเคราะห์ส่วนหัวและแถวตัวอย่างของ CSV เพื่อกำหนดชนิดข้อมูล
- หากเกิดข้อผิดพลาดใน SQL, AI จะพยายามแก้ไขด้วยตัวเอง
กราฟ
- เพียงเพิ่มคำว่า "chart" ลงในข้อความ AI ก็จะรันคิวรีที่เหมาะสมและสร้างกราฟให้
- ใช้ Chart.js ในการเรนเดอร์กราฟ
ER Diagram และ Migration
- AI จะสร้างคำสั่ง
CREATEและALTERเพื่อสร้าง ER Diagram จากฐานข้อมูลจริง - ใช้ postgres-meta เวอร์ชันที่เข้ากันได้กับเบราว์เซอร์ เพื่อโหลดตารางของ PGlite เข้า JavaScript และเรนเดอร์ด้วยเครื่องมือสร้างภาพสคีมา
Semantic Search และ RAG
- รองรับการค้นหาเวกเตอร์ภายในเบราว์เซอร์ด้วยส่วนขยาย pgvector
- ใช้ Transformers.js เพื่อสร้าง text embedding แล้วจัดเก็บและคิวรีใน PGlite
การดีพลอย
- มีแผนจะดีพลอยฐานข้อมูล PGlite ไปยัง S3 เพื่อรองรับกรณีใช้งานที่หลากหลายในต้นทุนต่ำ
เจาะลึก PGlite
PGlite คืออะไร?
- PGlite คือบิลด์ WASM ของ Postgres ที่รันได้บนเบราว์เซอร์, Node.js และ Bun
- เหมาะอย่างยิ่งสำหรับยูนิตเทสต์, การพัฒนาแบบโลคัล และการพัฒนาแบบรีโมต
การคงอยู่ของข้อมูล
- บน Node รองรับ native file system และบนเบราว์เซอร์รองรับ IndexedDB และ OPFS
การรองรับส่วนขยาย
- รองรับส่วนขยายที่มีประโยชน์อย่าง
pgvectorและlive
ภาพรวมทางเทคนิค
- อิงจากโหมดผู้ใช้เดี่ยวของ Postgres เพื่อให้สามารถรันบน WASM ได้
- มีการปรับฟีเจอร์ต่าง ๆ ของ Postgres ให้เหมาะกับ WASM
เร็ว ๆ นี้
- มีแผนจะดีพลอยฐานข้อมูลไปยัง S3 และเปิดให้เข้าถึงได้ผ่านอินเทอร์เน็ต
- จะเพิ่มการรองรับไฟล์ฟอร์แมตเพิ่มเติม, การแชร์ฐานข้อมูล และฟีเจอร์ส่งออกฐานข้อมูล
โอเพนซอร์ส
- ทุกอย่างเปิดเป็นโอเพนซอร์ส:
- PGlite (Apache 2.0)
- pg-gateway (MIT)
- postgres-new (Apache 2.0)
- transformers.js
สรุปโดย GN⁺
- postgres.new คือแซนด์บ็อกซ์ Postgres ที่ทำงานในเบราว์เซอร์ พร้อมการรองรับ AI ที่ช่วยให้งานด้านฐานข้อมูลทำได้ง่ายขึ้น
- ใช้ PGlite เพื่อให้สร้างฐานข้อมูลได้รวดเร็วและต้นทุนต่ำ พร้อมฟีเจอร์ที่ขับเคลื่อนด้วย AI หลากหลาย
- ด้วยความสามารถอย่างการทำภาพข้อมูล, การสร้าง ER Diagram และ semantic search จึงมีศักยภาพเป็นเครื่องมือที่มีประโยชน์สำหรับนักพัฒนา
- โปรเจกต์อื่นที่มีฟีเจอร์คล้ายกัน ได้แก่ Supabase และ ElectricSQL
3 ความคิดเห็น
เหมือนจะเป็น supabase นะ
PGLite - รัน Postgres ในเบราว์เซอร์
ความคิดเห็นจาก Hacker News
แชร์ประสบการณ์การใช้ postgres.new เพื่อสร้างฐานข้อมูล 3 ชุด
มองว่าเป็นเดโมทางเทคนิคที่แสดงให้เห็นข้อจำกัดของ AI
เมื่อคลิกปุ่ม "New database" ก็ไม่มีอะไรเกิดขึ้น
น่าประทับใจมาก
มีความเห็นว่าน่าจะดีถ้าใช้งานได้โดยไม่มีฟีเจอร์ AI
ประเมินว่าเครื่องมือนี้ช่วยเรื่องการออกแบบฐานข้อมูลได้มาก
เดิมทีค่อนข้างกังขาต่อการผสาน AI/LLM เข้ากับ workflow ที่มีอยู่ แต่ในกรณีนี้มองว่าใช้ได้
ในฐานะวิศวกรของ Supabase ได้กล่าวว่าการพัฒนาเครื่องมือนี้ร่วมกับทีม Electric เป็นเรื่องสนุก
มีคำแนะนำให้ใช้ postgres.new บนโน้ตบุ๊กหรือเดสก์ท็อป