스크립트
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.