DuckDB · supported engine

DuckDB, analytical and embedded.

An embedded analytical workbench with SQLite-family UI parity - isolated transactions, transactional migrations, physical backup/restore, and selected-object import between DuckDB files.

Embedded · local files · remote import

Quack-approved optimizations

The pipeline Mongrel would build for your query.

Click any operator below to see cardinality, pushdown behavior, and where the time goes - the same plan DuckDB reports when you run EXPLAIN in the workbench.

// SEQ_SCAN · orders/*.csv

Reads all 92M rows and all 14 columns from CSV - only 3 columns are used. No projection or filter pushdown, types re-inferred per file.

-- analytics.duckdb · orders lake
SELECT
  u.region,
  count(*) AS orders,
  sum(o.total) AS revenue
FROM read_csv('lake/orders/*.csv',
       auto_detect = true) o
JOIN users u ON u.id = o.user_id
WHERE o.order_date >= DATE '2026-01-01'
GROUP BY u.region
ORDER BY revenue DESC;

-- 41.2s · 92M rows scanned, 14 columns read, 3 used
-- fix: partitioned Parquet + a pushed-down filter

COPY (SELECT user_id, total, order_date
        FROM read_csv('lake/orders/*.csv'))
TO 'lake/orders_parquet'
  (FORMAT PARQUET, PARTITION_BY (year(order_date)));
DuckDB surface

What Mongrel ships for DuckDB.

Interruptible analytics

Cancel a runaway aggregation mid-scan without killing the connection. Typed paging keeps multi-million-row results responsive.

EXPLAIN plan output

Run EXPLAIN or EXPLAIN ANALYZE like any other statement and read DuckDB's physical plan - operators, cardinalities, and timings - in the results grid.

Parquet, CSV & remote import

Query Parquet, CSV, and JSON in place - local files and globs, straight from the SQL editor. The import wizard lands selected tables and views from other DuckDB files.

Isolated transactions

Concurrent connections get snapshot-isolated transactions on the same embedded file. Explicit BEGIN, COMMIT, and ROLLBACK from the UI.

Transactional migrations

Schema changes run inside a transaction and roll back cleanly on failure - no half-applied DDL left in your embedded file.

Physical backup & restore

Whole-file physical backup of the .duckdb database after a CHECKPOINT - optionally encrypted, with validated restore.

SQLite-family UI parity

The same table browser and schema panels you know from SQLite - DuckDB is embedded, so the workflow feels identical.

Aggregations & window functions

First-class support for DuckDB's analytical SQL: GROUPING SETS, window functions, list and struct types, and sampling.

Reverse search across tables

Hunt a value across every table in the file at once - multi-table reverse search ships for DuckDB, just like SQLite.

Open your first DuckDB file in 30 seconds.

7-day trial. macOS, Windows, Linux. No credit card.