DuckDB – Data power tools for your laptop, now in Clojure (2023)
3 hours ago
- DuckDB is integrated with Clojure's tech.ml.dataset (TMD) for in-memory column-major data processing.
- DuckDB provides a batched C interface for inserts and queries, enabling large joins.
- A 50GB CSV file with 400 million rows was loaded into DuckDB in under 2 minutes, reducing to 18GB with indexes.
- Joining 400M rows with a colors table (1.4 billion rows) took 2.5 seconds on a laptop.
- DuckDB supports zero-copy query pathway for efficient reduction without memory overload.
- DuckDB automatically creates minmax (BRIN) indexes and ART indexes for unique keys.
- DuckDB is MIT licensed, written in C++11 (~100k LOC), and has an open development model.
- The integration allows functional data science on laptops without resorting to distributed clusters.