- Instant SQL adalah alat yang menampilkan pratinjau hasil secara real-time saat menulis kueri SQL, sehingga mempercepat penulisan dan debugging kueri
- CTE yang kompleks maupun rumus kolom dapat dipecah dan dianalisis dengan mudah, serta saran pengeditan berbasis AI bisa langsung dipratinjau, membuat penulisan dan revisi kueri lebih efisien
- Tersedia di MotherDuck dan DuckDB Local UI, serta memungkinkan eksplorasi real-time hingga ke berbagai sumber data eksternal berbasis DuckDB
- Hal ini dimungkinkan berkat kombinasi teknologi canggih seperti desain local-first DuckDB, optimasi performa, strategi caching, dan pemetaan kursor berbasis AST
- MotherDuck adalah layanan cloud DuckDB terkelola yang menyediakan beragam alat untuk analisis data
Memperkenalkan Instant SQL
- Instant SQL adalah fitur baru yang memperbarui hasil kueri SQL secara real-time tepat saat pengguna mengetik
- Tanpa tombol run terpisah, hasil dapat dipratinjau dengan latensi nol detik (zero-latency)
- Saat ini tersedia di platform MotherDuck dan DuckDB Local UI
Mengapa Instant SQL dibutuhkan
- Menulis SQL pada intinya bukan soal sintaks, melainkan proses memahami data dan merumuskan pertanyaan
- Sebelumnya, pengguna harus melalui siklus lambat: menulis kueri di editor teks, menekan tombol run, lalu menunggu hasil
- Instant SQL mengubah proses ini menjadi alur eksplorasi yang instan dan alami
Fitur utama
-
Pratinjau hasil secara real-time saat menulis
- Setiap kali kueri SQL diketik, pratinjau result set akan diperbarui secara real-time
- Dari transformasi sederhana hingga agregasi kompleks, eksplorasi data dapat dilakukan tanpa jeda
-
Debugging CTE (common table expression) secara real-time
- CTE dapat diklik untuk langsung divisualisasikan
- Perubahan langsung diterapkan ke semua node yang bergantung, sehingga debugging CTE menjadi sangat mudah
-
Mengurai rumus kolom yang kompleks
- Untuk membantu cepat menemukan kesalahan pada rumus kolom, pengguna dapat mengurai rumus langsung dari tabel hasil
- Masalah pada logika rumus maupun data dapat langsung diidentifikasi
-
Dukungan berbagai sumber data
- Semua sumber yang didukung DuckDB—termasuk tabel DuckDB, file parquet di S3, Postgres, SQLite, MySQL, Iceberg, Delta, dan lainnya—dapat dipratinjau
- Pemodelan dan eksplorasi data eksternal menjadi jauh lebih cepat
-
Validasi kueri cepat sebelum eksekusi akhir
- Setelah memoles kueri lewat pratinjau, pengguna dapat melakukan eksekusi akhir saat sudah puas
- Ini memangkas secara drastis siklus tulis-jalankan-tunggu dalam SQL
-
Integrasi dengan fitur AI
- Untuk teks yang dipilih, pengguna dapat memasukkan perintah bahasa alami dan AI akan memberi saran perubahan
- Hasil saran dapat langsung dipratinjau, sehingga perubahan bisa diterima tanpa risiko kesalahan
Bagaimana ini dimungkinkan
-
Teknologi eksekusi kueri berlatensi sangat rendah
- Berkat desain local-first DuckDB, hasil cepat bisa diperoleh langsung di PC
- Arsitektur eksekusi ganda milik MotherDuck juga mendukung data berukuran besar dengan latensi rendah
-
Teknologi penulisan ulang kueri
- Dengan memanfaatkan ekstensi JSON DuckDB, sistem mengekstrak dan menggunakan AST (syntax tree) dari kueri SELECT
- Sebagian kueri dapat diganti dengan data sampel cache lokal agar pratinjau muncul lebih cepat
-
Sistem caching cerdas
- Menggunakan cache data yang diprediksi sebelumnya untuk merender hasil segera setelah tombol ditekan
- Berbagai strategi caching dipakai agar hasil muncul bahkan sebelum pengguna sempat mengangkat jari dari keyboard
-
Pemetaan kursor-ke-syntax tree
- Dikembangkan fitur yang memetakan posisi kursor pengguna secara akurat ke node SELECT tertentu di dalam AST
- Bahkan di kueri yang kompleks, sistem dapat memilih hanya pernyataan SELECT yang sedang dikerjakan pengguna untuk ditampilkan pratinjaunya
Cara menggunakan Instant SQL
- Tersedia sebagai public preview di MotherDuck maupun DuckDB Local UI
- Fitur baru revisi berbasis prompt juga tersedia bagi pengguna MotherDuck
2 komentar
Ini benar-benar sangat menakjubkan.
Komentar Hacker News
select * from table limit 10;lalu menambahkan kolom dan join