15 poin oleh GN⁺ 2024-08-14 | 3 komentar | Bagikan ke WhatsApp
  • Sandbox Postgres yang berjalan langsung di browser, dengan dukungan AI
  • Dapat langsung membuat database Postgres tanpa batas (segera juga dapat di-deploy ke S3)
  • Setiap database dipasangkan dengan large language model (LLM) untuk menghadirkan berbagai use case menarik:
    • Membuat tabel dengan drag-and-drop file CSV
    • Membuat dan mengekspor laporan
    • Membuat chart
    • Membuat diagram database
  • Semua pekerjaan dilakukan secara lokal di dalam browser

Demo penggunaan

  • Saat Anda ingin dengan cepat melakukan query dan visualisasi file CSV
  • Saat Anda ingin menulis SQL dengan ChatGPT dan mencobanya di database nyata
  • Saat Anda ingin merencanakan proyek baru dan menyerahkan desain database kepada AI

Cara kerjanya

  • Semua query dijalankan di dalam browser
  • Ini dimungkinkan berkat PGlite, versi WASM dari Postgres yang dapat berjalan langsung di browser

Motivasi pengembangan

  1. Pengembangan berbasis AI: Membayangkan ulang interaksi antara Postgres dan AI
  2. Sandboxing Postgres: Dapat dijalankan cepat dan sekali pakai di browser
  3. Database murah: Potensi untuk menyediakan banyak database dengan biaya rendah

Fitur dan cara kerja

Asisten AI

  • Memasangkan PGlite dengan GPT-4o dan memberinya akses penuh ke database.
  • AI dapat menjalankan beberapa tugas secara berurutan sehingga terasa lebih natural seperti manusia.

Impor dan ekspor CSV

  • Drag-and-drop file CSV untuk otomatis membuat tabel.
  • AI menganalisis header dan baris sampel CSV untuk menentukan tipe data.
  • Jika terjadi error SQL, AI akan mencoba memperbaikinya sendiri.

Chart

  • Tambahkan kata "chart" ke pesan, maka AI akan menjalankan query yang sesuai dan membuat chart.
  • Chart dirender menggunakan Chart.js.

Diagram ER dan migrasi

  • AI membuat pernyataan CREATE dan ALTER untuk menghasilkan diagram ER dari database nyata.
  • Menggunakan postgres-meta versi kompatibel browser untuk memuat tabel PGlite ke JavaScript dan merendernya dengan alat visualisasi skema.

Pencarian semantik dan RAG

  • Mendukung pencarian vektor di dalam browser menggunakan ekstensi pgvector.
  • Menggunakan Transformers.js untuk membuat embedding teks lalu menyimpannya dan melakukan query di PGlite.

Deployment

  • Berencana mendistribusikan database PGlite ke S3 untuk mendukung berbagai use case dengan biaya rendah.

Analisis mendalam PGlite

Apa itu PGlite?

  • PGlite adalah build WASM dari Postgres yang dapat berjalan di browser, Node.js, dan Bun.
  • Ideal untuk unit test, pengembangan lokal, dan pengembangan jarak jauh.

Persistensi data

  • Di Node mendukung native file system, dan di browser mendukung IndexedDB serta OPFS.

Dukungan ekstensi

  • Mendukung ekstensi berguna seperti pgvector dan live.

Ikhtisar teknis

  • Dibangun berdasarkan mode single-user Postgres agar dapat berjalan di WASM.
  • Berbagai fitur Postgres disesuaikan agar cocok untuk WASM.

Segera hadir

  • Database akan dapat di-deploy ke S3 dan diakses melalui internet.
  • Akan ditambahkan dukungan lebih banyak format file, berbagi database, dan fitur ekspor database.

Open source

  • Semua pekerjaan tersedia sebagai open source:
    • PGlite (Apache 2.0)
    • pg-gateway (MIT)
    • postgres-new (Apache 2.0)
    • transformers.js

Ringkasan GN⁺

  • postgres.new adalah sandbox Postgres yang berjalan di browser, dengan dukungan AI untuk mempermudah pekerjaan terkait database.
  • Dengan PGlite, pembuatan database yang cepat dan murah menjadi mungkin, sekaligus menyediakan berbagai fitur berbasis AI.
  • Melalui fitur seperti visualisasi data, pembuatan diagram ER, dan pencarian semantik, ini bisa menjadi alat yang berguna bagi para developer.
  • Proyek lain dengan fungsi serupa antara lain Supabase dan ElectricSQL.

3 komentar

 
yangeok 2024-08-20

Ternyata itu supabase.

 
GN⁺ 2024-08-14
Komentar Hacker News
  • Berbagi pengalaman membuat 3 database menggunakan postgres.new

    • Berhasil membuat database pesanan pelanggan, sistem pelacakan isu, dan model hubungan keluarga
    • Pada model hubungan keluarga, hubungan kompleks termasuk sepupu dan paman juga ditangani dengan baik
    • Beberapa hubungan timbal balik (misalnya hubungan saudara kandung) sempat hilang, tetapi diperbaiki setelah diminta meninjau data
    • Dinilai sebagai alat yang sangat berguna
  • Dinilai sebagai demo teknis yang menunjukkan keterbatasan AI

    • Menghasilkan SQL yang tidak valid sehingga menimbulkan error
    • SQL yang dihasilkan membuat sekumpulan tabel yang terputus
    • Menyebut perlunya meninjau semua kode
    • Sistem baru sering kali memerlukan elemen yang abstrak atau cerdas, tetapi sistem ini hanya membuat sistem sederhana
    • Menulis kode sendiri lebih mudah
    • Melarang merge request dari LLM di dalam organisasi, karena kodenya tidak dioptimalkan dan banyak bug
    • Sulit diatasi dengan desain LLM saat ini
  • Tidak terjadi apa-apa saat mengklik tombol "New database"

    • Tidak login ke Github, tetapi memang berniat untuk tidak menggunakan fitur AI
    • Kecewa karena chatGPT ternyata wajib
    • Tidak suka pendekatan local-first dibatasi oleh AI
  • Sangat mengesankan

  • Ada pendapat bahwa akan lebih baik jika bisa digunakan tanpa fitur AI

    • Bertanya apakah build WASM memungkinkan Postgres digunakan sebagai DB embedded
  • Menilai alat ini sangat membantu dalam perancangan database

    • Bertanya apakah skema database yang sudah ada bisa digambar sebagai diagram
    • Fitur untuk memvisualisasikan skema yang dikembangkan dengan gaya migrasi Supabase atau alat seperti Flyway sebagai diagram akan sangat membantu di lingkungan perusahaan
  • Awalnya skeptis terhadap penggabungan AI/LLM dengan workflow yang sudah ada, tetapi menilai kasus ini cukup baik

    • LLM berguna untuk menghasilkan data yang akan dimasukkan ke database
    • Memahami alasan tidak bisa digunakan di mobile, tetapi meminta agar pengguna mobile diberi informasi ringkasan
  • Sebagai engineer Supabase, menyebut bahwa mengembangkan alat ini bersama tim Electric adalah pengalaman yang menyenangkan

    • Ada proses mengatasi hambatan teknis
    • Akan terus memperbaikinya sambil mencermati feedback
  • Ada arahan untuk menggunakan postgres.new di laptop atau desktop

    • Menyebut tidak ada masalah saat menggunakan Webkit/Safari