- Selama 50 tahun, SQL telah menjadi bahasa dasar untuk pemrosesan data terstruktur, tetapi sulit dipelajari, rumit digunakan, dan sukar diperluas
- Masalah SQL yang ada saat ini: urutan sintaks yang dipaksakan, sintaks yang berulang, perlunya menggunakan subquery, alur data "dari dalam ke luar", kurangnya ekstensibilitas, dan lain-lain
- Di GoogleSQL, pendekatan yang diambil untuk mengatasi masalah SQL adalah dengan memperluas SQL
- Dengan memperkenalkan sintaks alur data berbentuk pipa ke dalam SQL, mereka berupaya menyelesaikan masalah-masalah SQL yang ada
- SQL menjadi lebih fleksibel untuk dipelajari dan digunakan sambil tetap mempertahankan ekosistem yang ada, serta menjaga kompatibilitas penuh dengan SQL yang sudah ada
- Operator SQL yang ada digunakan kembali dan dapat disusun dengan pipa dalam urutan apa pun
- Setiap operator pipa hanya dapat melihat tabel input sehingga cakupannya jelas
- Tetap mempertahankan semantik deklaratif
- Memungkinkan korespondensi satu banding satu dengan aljabar relasional
- Ekstensibilitas ditingkatkan melalui table-valued function
- Sebagai contoh, agregasi multistage dapat dinyatakan secara berurutan tanpa subquery
- SQL yang menggunakan sintaks pipa lebih mudah dipelajari dan digunakan, serta fleksibilitasnya meningkat secara signifikan karena berbagai operator dapat diterapkan dalam urutan apa pun
- Operator pipa bekerja secara berurutan, sehingga pengguna dapat lebih mudah memfilter, mengagregasi, dan mengurutkan data
- Pengalaman penggunaan di GoogleSQL
- Mendapat adopsi yang konsisten dari pengguna serta umpan balik yang positif
- Query yang kompleks pun dapat diekspresikan secara linear
- Memudahkan pekerjaan penyuntingan dan debugging
- Dukungan alat IDE meningkat
- Menguntungkan untuk generator dan konverter kode SQL
- Memiliki potensi keuntungan untuk penerapan AI
- Implementasi dan rencana ke depan
- Sintaks pipa diimplementasikan di GoogleSQL sebagai komponen bersama
- Mesin query yang ada dapat dengan mudah mengaktifkan sintaks pipa
- Sedang dipertimbangkan untuk didukung secara eksternal di BigQuery dan Spanner
- Layak dieksplorasi untuk dimasukkan ke standar SQL di masa depan
Pendapat GN⁺
- Keunggulan sintaks pipa: Dapat berperan sebagai alat yang kuat untuk mengatasi kompleksitas SQL, terutama karena mampu mengekspresikan alur data secara intuitif sehingga kegunaan SQL bisa meningkat secara signifikan.
- Kompatibilitas dengan SQL yang ada: Pendekatannya bukan menggantikan SQL lama, melainkan memperbaikinya, sehingga dapat mengurangi kurva belajar dan menjaga kompatibilitas dengan kode yang sudah ada.
- Hal yang perlu dipertimbangkan saat adopsi: Saat mengadopsi sintaks pipa, perlu mempertimbangkan dampaknya terhadap performa dan tingkat dukungan alat, terutama karena pada query berskala besar keunggulan sintaks pipa dapat dimanfaatkan secara maksimal.
- Perbandingan dengan proyek serupa: Struktur pipa juga digunakan pada DataFrame API seperti Pandas, tetapi perbedaannya dengan SQL adalah penggabungannya dengan semantik deklaratif SQL. Fitur ini dapat digunakan sambil tetap mempertahankan ekstensibilitas dan performa sistem SQL.
11 komentar
Caret di pipe? Kombinasi ini rasanya bakal bikin tangan kanan pegal 🤣
Memang saat ini SQL perlu semacam perbaikan.
Masalahnya, selama 30-40 tahun ini belum juga ditemukan usulan perbaikan yang tepat..
Untuk tambahan sintaks SQL, rasanya Google perlu memimpin ekosistemnya, tetapi apakah divisi bisnis benar-benar akan mempertahankan ini?
Itu
dplyrya wkwkwkKenapa ya kalau Google yang melakukannya, rasanya malah bakal gagal..
Gemini juga menjawab kayak bocah, jadi malas dipakai juga
Sepertinya mirip dengan pendekatan yang diambil ORM.
Hanya dengan melihat contoh di paper di bawah ini pun sudah cukup jelas bahwa Google SQL memang lebih mudah dibaca.
standard sql
google sql
Mengingatkan saya pada LINQ di C#. Setiap kali memakai SQL, saya selalu berpikir akan lebih baik kalau urutan
SELECTdipindah ke belakangFROM,WHERE....Awalnya memang terasa canggung karena belum terbiasa, tetapi kalau dibaca pelan-pelan, alurnya terasa jauh lebih alami.
Menurut saya, sisi SQL tampaknya lebih enak dibaca.
Menurut saya, SQL jauh lebih enak dibaca. Hehe, mungkin kebanyakan orang yang mulai dari SQL juga merasa begitu...
Saya juga merasa yang sudah familiar memang lebih mudah dibaca.. wkwk
Opini Hacker News