- DuckDB adalah database SQL berbasis satu berkas yang dioptimalkan untuk analisis data
- Sebagian besar evaluasi terhadap DuckDB cenderung berfokus pada analisis kuantitatif
- Khususnya dari sisi kecepatan, DuckDB umumnya menunjukkan performa yang baik
- Namun dari sudut pandang pengguna, begitu performa sudah mencapai tingkat yang memuaskan, peningkatan kecepatan lebih lanjut tidak terlalu berarti
- Sebaliknya, kemudahan penggunaan menjadi lebih penting, dan DuckDB memiliki keunggulan di bagian ini
- Keunggulan DuckDB dari sisi kemudahan penggunaan:
- Pengalaman pengembang
- Dapat menangani dataset yang lebih besar daripada memori
- Mudah dipasang dan dijalankan
Ergonomika
- DuckDB dirancang agar pekerjaan umum bisa dilakukan dengan sederhana
- Misalnya, dapat membuat tabel langsung dari berkas input dan menyimpulkan skemanya
- Untuk berkas Parquet, DuckDB juga dapat membaca berkas yang ada di web
- Data dapat dikueri tanpa harus membuat tabel terlebih dahulu
- Fungsi
read_parquet mengembalikan relation sehingga bisa digunakan sebagai subkueri
- DuckDB mendukung sebagian besar fitur SQL yang digunakan di Postgres
- Misalnya, window function didukung sepenuhnya
Menangani dataset yang lebih besar daripada memori
- Banyak alat data tidak bekerja dengan baik ketika dataset lebih besar daripada memori komputer
- Ini bisa menjadi sumber kesulitan yang sering diremehkan
- Sebaliknya, DuckDB sepenuhnya mendukung dataset yang lebih besar daripada memori
- Dalam kasus Pandas, masalah bisa muncul ketika dataframe melebihi 50% memori sistem
Instalasi dan menjalankan yang mudah
- DuckDB dikompilasi sebagai satu executable
duckdb
- Melalui WASM, Anda bisa mencoba DuckDB langsung di browser (shell.duckdb.org)
- Karena berbasis WASM, semuanya berjalan di browser, bukan di server
- Menggunakan DuckDB seperti library dataframe
- DuckDB terintegrasi dengan baik dengan Python
- Anda dapat menjalankan kueri di dalam Python dan menggunakan nilai yang dikembalikan
- Ini memungkinkan Anda membangun operasi data yang lebih besar secara bertahap
- Anda bisa mendapatkan keunggulan SQL sekaligus keunggulan dataframe
Menyimpan data melalui csvbase
- Library klien csvbase dapat terhubung dengan berbagai sistem melalui API fsspec
- DuckDB juga bisa digunakan bersama csvbase dengan cara yang sama
Skalabilitas
- DuckDB tidak melakukan scale hingga ribuan mesin
- Sebaliknya, Apache Spark bisa, tetapi disertai kompleksitas yang besar
- Scaling down juga penting
- DuckDB bekerja pada tingkat pengguna individual dan tidak membutuhkan banyak persyaratan
Ringkasan
- DuckDB bisa menjadi pilihan menarik bagi analis data yang memahami SQL
- Ia dapat menangani data yang lebih besar daripada memori, mudah dipasang, dan dalam banyak kasus bisa menjadi alternatif yang baik untuk Spark
5 komentar
ParadeDB baru-baru ini menambahkan alternatif yang bagus. https://blog.paradedb.com/pages/introducing_lakehouse
Terutama sangat bagus saat membuat dashboard interaktif sederhana dengan
streamlitdan sejenisnya.Apakah sudah layak beralih dari Huggingface Datasets?
Saya sedang bereksperimen membuat spreadsheet berbasis DuckDB. Saya sangat menantikan DuckDB.
DuckDB - Open source DB OLAP tersemat
DuckDB yang menjadi database bahkan tanpa data
DuckDB sebagai jq yang baru
Rilis DuckDB 1.0.0