Postgres.new - Postgres trong trình duyệt với giao diện AI
(supabase.com)- Một sandbox Postgres chạy trực tiếp trong trình duyệt, có hỗ trợ AI
- Có thể tạo ngay lập tức số lượng cơ sở dữ liệu Postgres không giới hạn (sắp tới cũng có thể triển khai lên S3)
- Mỗi cơ sở dữ liệu được ghép cặp với một mô hình ngôn ngữ lớn (LLM) để mang lại nhiều trường hợp sử dụng thú vị khác nhau:
- Tạo bảng bằng cách kéo và thả tệp CSV
- Tạo và xuất báo cáo
- Tạo biểu đồ
- Tạo sơ đồ cơ sở dữ liệu
- Mọi thao tác đều được thực hiện cục bộ trong trình duyệt
Demo sử dụng
- Khi bạn muốn truy vấn và trực quan hóa tệp CSV thật nhanh
- Khi bạn muốn dùng ChatGPT để viết SQL và thử chạy trên cơ sở dữ liệu thực
- Khi bạn muốn lên kế hoạch cho một dự án mới và giao việc thiết kế cơ sở dữ liệu cho AI
Cách hoạt động
- Mọi truy vấn đều chạy trong trình duyệt
- Điều này khả thi nhờ PGlite, phiên bản WASM của Postgres có thể chạy trực tiếp trong trình duyệt
Động lực phát triển
- Phát triển dựa trên AI: Tái hình dung cách Postgres tương tác với AI
- Sandbox hóa Postgres: Có thể chạy nhanh và dùng một lần trong trình duyệt
- Cơ sở dữ liệu chi phí thấp: Tiềm năng cung cấp nhiều cơ sở dữ liệu với chi phí rẻ
Tính năng và cách vận hành
Trợ lý AI
- Ghép PGlite với GPT-4o để cấp cho AI toàn quyền trên cơ sở dữ liệu.
- AI có thể thực hiện liên tiếp nhiều tác vụ, tạo cảm giác tự nhiên hơn như con người.
Nhập và xuất CSV
- Kéo và thả tệp CSV để tự động tạo bảng.
- AI phân tích header và các dòng mẫu của CSV để xác định kiểu dữ liệu.
- Nếu phát sinh lỗi SQL, AI sẽ tự thử sửa.
Biểu đồ
- Chỉ cần thêm từ "chart" vào tin nhắn, AI sẽ chạy truy vấn phù hợp và tạo biểu đồ.
- Sử dụng Chart.js để render biểu đồ.
Sơ đồ ER và migration
- AI tạo các câu lệnh
CREATEvàALTERđể dựng sơ đồ ER từ cơ sở dữ liệu thực. - Sử dụng phiên bản tương thích trình duyệt của postgres-meta để nạp các bảng PGlite vào JavaScript và render bằng công cụ trực quan hóa schema.
Tìm kiếm ngữ nghĩa và RAG
- Hỗ trợ tìm kiếm vector trong trình duyệt bằng extension pgvector.
- Dùng Transformers.js để tạo embedding văn bản rồi lưu trữ và truy vấn trong PGlite.
Triển khai
- Có kế hoạch triển khai cơ sở dữ liệu PGlite lên S3 để hỗ trợ nhiều trường hợp sử dụng với chi phí thấp.
Phân tích sâu về PGlite
PGlite là gì?
- PGlite là bản build WASM của Postgres, có thể chạy trên trình duyệt, Node.js và Bun.
- Rất phù hợp cho unit test, phát triển cục bộ và phát triển từ xa.
Tính bền vững dữ liệu
- Trên Node hỗ trợ hệ thống tệp gốc, còn trên trình duyệt hỗ trợ IndexedDB và OPFS.
Hỗ trợ extension
- Hỗ trợ các extension hữu ích như
pgvectorvàlive.
Tổng quan kỹ thuật
- Dựa trên chế độ single-user của Postgres để có thể chạy trong WASM.
- Nhiều tính năng của Postgres đã được điều chỉnh cho phù hợp với WASM.
Sắp ra mắt
- Sẽ triển khai cơ sở dữ liệu lên S3 để có thể truy cập qua Internet.
- Dự kiến bổ sung hỗ trợ nhiều định dạng tệp hơn, chia sẻ cơ sở dữ liệu và xuất cơ sở dữ liệu.
Mã nguồn mở
- Toàn bộ công việc được cung cấp dưới dạng mã nguồn mở:
- PGlite (Apache 2.0)
- pg-gateway (MIT)
- postgres-new (Apache 2.0)
- transformers.js
Tóm tắt của GN⁺
- postgres.new là một sandbox Postgres chạy trong trình duyệt, giúp thao tác cơ sở dữ liệu dễ dàng hơn nhờ hỗ trợ AI.
- Sử dụng PGlite giúp tạo cơ sở dữ liệu nhanh và rẻ, đồng thời cung cấp nhiều tính năng dựa trên AI.
- Các tính năng như trực quan hóa dữ liệu, tạo sơ đồ ER và tìm kiếm ngữ nghĩa có thể khiến đây trở thành công cụ hữu ích cho lập trình viên.
- Các dự án khác có tính năng tương tự gồm Supabase, ElectricSQL, v.v.
3 bình luận
Thì ra là supabase.
PGLite - Chạy Postgres trong trình duyệt
Ý kiến Hacker News
Chia sẻ trải nghiệm đã tạo 3 cơ sở dữ liệu bằng postgres.new
Được đánh giá là một bản demo kỹ thuật cho thấy các giới hạn của AI
Khi bấm nút "New database" thì không có thay đổi gì
Rất ấn tượng
Có ý kiến cho rằng sẽ tốt hơn nếu có thể dùng mà không cần tính năng AI
Đánh giá công cụ này rất hữu ích cho việc thiết kế cơ sở dữ liệu
Từng hoài nghi về việc kết hợp AI/LLM với workflow hiện có, nhưng cho rằng trường hợp này là ổn
Một kỹ sư Supabase cho biết đã rất thú vị khi cùng đội Electric phát triển công cụ này
Hướng dẫn người dùng hãy dùng postgres.new trên laptop hoặc desktop