30 poin oleh xguru 2024-06-13 | 5 komentar | Bagikan ke WhatsApp
  • 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:
    1. Pengalaman pengembang
    2. Dapat menangani dataset yang lebih besar daripada memori
    3. 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

 
cometkim 2024-06-13

ParadeDB baru-baru ini menambahkan alternatif yang bagus. https://blog.paradedb.com/pages/introducing_lakehouse

 
silveris23 2024-06-13

Terutama sangat bagus saat membuat dashboard interaktif sederhana dengan streamlit dan sejenisnya.

 
brainer 2024-06-13

Apakah sudah layak beralih dari Huggingface Datasets?

 
hackerwins 2024-06-13

Saya sedang bereksperimen membuat spreadsheet berbasis DuckDB. Saya sangat menantikan DuckDB.