Which setup do you need?
Four ways to run it, from lightest to heaviest: plain DuckDB on your machine, qod serve over files you already have, the same gateway with your Iceberg catalog attached, and the full DuckLake warehouse with history. Read down the table for the first column that covers what you need. If that is plain DuckDB, use DuckDB.
What each setup includes
| Capability | Plain DuckDB | qod serve on files | qod serve + Iceberg | qod serve on DuckLake |
|---|---|---|---|---|
| Access | ||||
| Arrow Flight SQL endpoint (BI tools, ADBC, JDBC) | ✓ | ✓ | ✓ | |
| MCP server for AI agents | ✓ | ✓ | ✓ | |
| Security | ||||
| TLS and authentication | ✓ | ✓ | ✓ | |
| RBAC on tables, columns and rows | ✓ | ✓ | ✓ | |
| Data | ||||
| Serve DuckDB files, parquet, csv, S3 prefixes | ✓ | ✓ | ✓ | |
| Iceberg REST catalog federation | ✓ | ✓ | ||
| DuckLake warehouse on Postgres and object storage | ✓ | |||
| History | ||||
| Time travel and snapshot tags | ✓ | |||
| Undrop and rollback | ✓ | |||
| Author stamping and audit timeline | ✓ | |||
| Operations | ||||
| Multi-tenant isolation | ✓ | ✓ | ✓ | |
| Multi-node routing | ✓ | ✓ | ✓ | |
| Kubernetes deployment | ✓ | ✓ | ✓ | |
| Compaction and cleanup policies | ✓ | |||
| Sovereignty | ||||
| Runs fully in your infrastructure | ✓ | ✓ | ✓ | ✓ |
Plain DuckDB can read these formats locally. This table shows what is served to others.
Ready to start? Read the quickstart, or try it with no install: uvx qod serve --demo.