DuckDB is becoming unstoppable...

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

스크립트

00:00:00Selama bertahun-tahun, saat data kita melebihi kapasitas spreadsheet, sarannya tidak pernah berubah.
00:00:05Gunakan cloud data warehouse, seperti Snowflake atau BigQuery.
00:00:09Namun, ada database kecil gratis yang berjalan sepenuhnya di laptop Anda,
00:00:13dan saat semua orang terpaku pada cloud, teknologi ini diam-diam berkembang.
00:00:16Sekarang ia memiliki enkripsi asli, upsert ala Git, dan rilis dukungan jangka panjang pertamanya.
00:00:22Ini adalah DuckDB, dan saya ingin menunjukkan bagaimana posisinya di tahun 2026,
00:00:26termasuk satu hal besar yang sering disalahpahami orang tentangnya.
00:00:35Jadi, DuckDB.
00:00:36Bayangkan saja, SQLite, tetapi untuk analitik.
00:00:40Anda tahu SQLite.
00:00:41Satu file, tanpa server, tertanam langsung di aplikasi Anda.
00:00:45DuckDB memiliki ide yang persis sama, hanya saja tidak dibuat untuk transaksi,
00:00:50melainkan untuk mengolah data dalam jumlah besar.
00:00:52Dibuat untuk memindai dan menghitung jutaan baris dengan sangat cepat.
00:00:56Dan salah satu bagian terbaiknya adalah ia membaca file Parquet, CSV, dan JSON secara langsung.
00:01:02Tidak perlu langkah impor, tidak perlu memuat data terlebih dahulu.
00:01:05Anda cukup mengarahkan SQL ke file tersebut.
00:01:08Biar saya tunjukkan rasanya.
00:01:09Jika Anda menyukai alat coding yang mempercepat alur kerja, pastikan untuk subscribe.
00:01:13Kami rutin merilis video baru setiap saat.
00:01:15Sekarang, di terminal saya, saya mengetik DuckDB, dan saya langsung masuk ke prompt SQL.
00:01:20Nah, perhatikan ini.
00:01:21Saya melakukan select dari file Parquet yang tersimpan di URL internet.
00:01:27Saya tidak mengunduhnya.
00:01:28Saya tidak mengatur apa pun atau memulai server.
00:01:30DuckDB langsung mengaksesnya, melakukan streaming file jarak jauh, dan menjalankan SQL di atasnya dalam satu baris.
00:01:36Itulah alasan mengapa banyak orang menyukai ini, hanya dalam lima detik.
00:01:40Tapi inilah hal yang disalahpahami orang.
00:01:43Ada dua rilis yang sedang dibicarakan, dan internet sering mencampurkannya.
00:01:48Fitur-fitur menarik yang dibicarakan semua orang, seperti enkripsi AES-256 penuh pada database,
00:01:54perintah merge-into untuk upsert ala Git, dan kemampuan menulis tabel Apache Iceberg,
00:01:59semuanya tidak ada di versi 1.5.
00:02:02Semua fitur itu dirilis di DuckDB 1.4 pada bulan September, yang juga merupakan rilis dukungan
00:02:08jangka panjang pertama DuckDB.
00:02:09Kemudian, di versi 1.5 bulan Maret lalu, kami mendapatkan pembaruan dari versi tersebut.
00:02:14Klien baris perintah baru yang menarik dengan warna dan pager, tipe variant baru untuk data
00:02:20semi-terstruktur yang berantakan, serta geometri yang sudah terintegrasi di dalam inti.
00:02:24Daripada hanya satu kueri cepat, biar saya tunjukkan bagaimana sebenarnya rasa DuckDB yang diperbarui
00:02:30dalam praktiknya, fitur-fitur 1.4, ditambah 1.5 di atasnya.
00:02:34Nah, saya masih punya kueri parquet yang kita lihat sebelumnya di sini.
00:02:38Sekarang, inilah fitur baru di 1.5, yaitu tipe variant.
00:02:43Saya membuat tabel cepat dan memasukkan berbagai tipe data, integer, string, array, dan objek, semuanya dalam
00:02:50satu kolom yang sama.
00:02:51Tidak perlu skema, tidak perlu parsing JSON, semuanya langsung jalan.
00:02:54Dan ini menyimpan data biner ber-tipe, yang lebih efisien dalam kompresi dan kueri dibanding JSON biasa.
00:02:59Itulah fitur variant yang baru.
00:03:02Selanjutnya adalah fitur yang benar-benar mengubah apa yang bisa Anda bangun dengan DuckDB, yaitu merge into.
00:03:08Ini dari versi 1.4.
00:03:09Jangan keliru soal itu.
00:03:10Satu pernyataan SQL yang bersih.
00:03:12Tidak perlu logika aplikasi.
00:03:13Ini adalah jenis pekerjaan yang dulunya memerlukan Spark atau Python khusus.
00:03:17Lalu untuk enkripsinya juga, karena kita ada di sini.
00:03:21Sekarang, saya bisa melakukan kueri secara normal, tetapi jika saya mencoba membuka file yang sama di sesi baru tanpa
00:03:27kuncinya, aksesnya gagal sebagaimana mestinya.
00:03:30AES-256 di tingkat halaman, Anda yang membawa kuncinya.
00:03:33DuckDB tidak menyimpan atau mengelolanya.
00:03:36Dan itu belum termasuk fitur menulis iceberg atau dukungan geometri, yang mungkin lebih sering
00:03:41digunakan oleh kalian dengan spatial daripada geometri.
00:03:43Inilah mengapa 1.4 adalah pembaruan besar.
00:03:45Dulu hanya mesin kueri, sekarang menjadi sesuatu yang benar-benar bisa Anda percayai dengan data nyata di satu
00:03:50mesin.
00:03:51File aman, upsert yang andal, dan format lake house modern.
00:03:551.5 hanya membuat pengalamannya jauh lebih baik dengan CLI yang ditingkatkan dan tipe variant yang baru.
00:04:00Oke, jadi apa bedanya dengan alat yang sudah ada di mesin Anda?
00:04:04Mari kita ambil SQLite.
00:04:05Sama, satu file, tanpa server.
00:04:08Tapi SQLite adalah row store yang dibuat untuk transaksi.
00:04:12Dan DuckDB adalah column store yang dibuat untuk analisis.
00:04:15Lalu kita bisa bandingkan dengan Pandas.
00:04:17DuckDB memberi Anda pengoptimal SQL sungguhan dan join multi-thread.
00:04:21Jadi untuk operasi group buy yang besar, seringkali sedikit lebih cepat.
00:04:24Lalu jika kita mengambil Snowflake atau BigQuery, itu adalah cloud warehouse yang dibuat untuk seluruh tim dan
00:04:30data berukuran petabyte.
00:04:32DuckDB adalah mesin tunggal yang berjalan di dalam proses Anda sendiri secara gratis.
00:04:35Nah, keluhan nomor satu yang terus-menerus muncul adalah masalah memori.
00:04:40Arahkan DuckDB ke satu miliar baris dan ia bisa kehabisan memori dan mengalami crash.
00:04:45Mungkin juga agak kurang stabil untuk produksi, jika itu yang sedang Anda tangani.
00:04:49Hal kedua adalah, ini bukan database transaksional.
00:04:53Ini bersifat single writer.
00:04:54Satu proses menulis dalam satu waktu.
00:04:57Jadi, Anda tidak menggunakannya pada backend aplikasi atau session store Anda.
00:05:01Itu masih pekerjaan Postgres, atau SQLite untuk MVP kecil.
00:05:05Dan untuk bagian enkripsi, itu nyata dan menyeluruh, tapi Anda harus membawa kunci sendiri.
00:05:10DuckDB tidak menyimpan kuncinya.
00:05:12Ia tidak merotasi kuncinya.
00:05:14Ia tidak mengawasi apa pun.
00:05:15Jika Anda kehilangan kuncinya,
00:05:16data Anda hilang.
00:05:17Dan penulisan iceberg ada dalam ekstensi yang masih tergolong sangat baru.
00:05:22Jika Anda mengerjakan analitik, mengolah parquet dan CSV, menjalankan transformasi ELT, menjelajahi data
00:05:28di notebook, atau apa pun dengan skala beberapa megabyte hingga satu mesin, DuckDB adalah salah
00:05:33satu alat terbaik yang bisa Anda instal.
00:05:35Dan ini sepenuhnya gratis, berlisensi MIT tanpa paywall.
00:05:39Namun, jika Anda memerlukan backend transaksional untuk aplikasi, atau Anda rutin memproses miliaran
00:05:44baris data, dan tidak ingin mengatur memori secara manual, ini adalah alat yang salah, dan itu tidak masalah.
00:05:50Gunakan database yang tepat untuk pekerjaan yang tepat.
00:05:52Jika Anda menikmati tips dan trik coding seperti ini, pastikan untuk subscribe ke BetterStack.
00:05:56Sampai jumpa di video lainnya.

핵심 요약

DuckDB berfungsi sebagai alat analitik berbasis mesin tunggal yang efisien untuk memproses dataset lokal, dengan pembaruan versi 1.4 dan 1.5 yang membawa fitur kelas enterprise seperti enkripsi AES-256 dan dukungan format data modern tanpa mengorbankan kemudahan penggunaan.

하이라이트

  • DuckDB beroperasi sebagai database column store yang dirancang khusus untuk analitik data, bukan untuk transaksi aplikasi.

  • Versi 1.4 memperkenalkan enkripsi AES-256 tingkat halaman, perintah merge-into untuk upsert, dan kemampuan penulisan tabel Apache Iceberg.

  • Versi 1.5 menambahkan tipe data variant yang lebih efisien dalam kompresi dan kueri dibandingkan JSON standar, serta pembaruan pada CLI.

  • DuckDB dapat membaca file format Parquet, CSV, dan JSON secara langsung tanpa melalui proses impor data.

  • Database ini berfungsi sebagai mesin tunggal dalam proses yang berjalan di komputer lokal tanpa memerlukan server atau konfigurasi tambahan.

  • Keterbatasan utama DuckDB mencakup risiko kehabisan memori pada dataset skala miliaran baris dan sifat single writer yang tidak cocok untuk backend aplikasi.

타임라인

Konsep Dasar dan Keunggulan DuckDB

  • DuckDB berfungsi seperti SQLite namun dioptimalkan untuk pengolahan analitik data dalam jumlah besar.
  • Proses kueri dapat dilakukan langsung pada file Parquet, CSV, atau JSON tanpa perlu tahap pemuatan data.
  • Sistem tidak memerlukan server atau konfigurasi rumit untuk beroperasi di lingkungan lokal.

DuckDB menawarkan solusi bagi data yang melebihi kapasitas spreadsheet tanpa harus berpindah ke cloud data warehouse seperti Snowflake. Teknologi ini memungkinkan pengguna menjalankan kueri SQL langsung pada file jarak jauh melalui URL atau file lokal. Kemampuan pemindaian data yang sangat cepat menjadikannya alat yang efektif untuk efisiensi alur kerja pengkodean.

Pembaruan Versi 1.4 dan 1.5

  • Versi 1.4 merupakan rilis dukungan jangka panjang pertama yang membawa fitur enkripsi AES-256 dan perintah merge-into.
  • Versi 1.5 melengkapi kemampuan tersebut dengan tipe data variant baru dan peningkatan pada antarmuka baris perintah.
  • Fitur tipe data variant menyimpan data biner ber-tipe yang lebih ringkas dan cepat saat dikueri dibandingkan JSON biasa.

Pembedaan antara fitur versi 1.4 dan 1.5 sangat penting untuk memahami kematangan database ini. Versi 1.4 menyediakan fondasi keamanan dan integrasi format lake house, sementara 1.5 memperbaiki pengalaman pengguna melalui CLI yang lebih interaktif dan dukungan tipe data semi-terstruktur yang lebih canggih.

Perbandingan dan Batasan Penggunaan

  • DuckDB adalah column store untuk analitik, berbeda dengan SQLite yang merupakan row store untuk transaksi.
  • Keterbatasan utama terletak pada manajemen memori untuk dataset sangat besar dan sifatnya yang hanya mendukung single writer.
  • Pengguna bertanggung jawab penuh atas pengelolaan kunci enkripsi AES-256 secara mandiri.

Perbandingan menunjukkan DuckDB unggul dalam operasi group-by dibandingkan Pandas, namun tidak dimaksudkan untuk menggantikan peran database transaksional seperti Postgres. Risiko kehilangan data ada jika kunci enkripsi hilang karena DuckDB tidak mengelola kunci tersebut. Alat ini direkomendasikan untuk transformasi ELT dan eksplorasi data pada skala satu mesin.

커뮤니티 글

모든 글 보기