# DuckDB

> DuckDB is an open-source analytical database that runs inside another program or on a laptop, with no server to set up or manage.

DuckDB is an open-source analytical database that runs inside another program or on a laptop, with no server to manage. It reads CSV, Parquet and JSON files directly, and can read [Delta](https://emolysis.com/glossary/delta-lake) and [Iceberg](https://emolysis.com/glossary/iceberg) tables, which makes it a practical engine for local development.

For example, a developer can open a terminal, start DuckDB and run `SELECT region, sum(amount) FROM 'orders/*.parquet' GROUP BY region` against a folder of Parquet files, with no table created and no data imported first. The same engine can be embedded in a Python program or a test runner, where it reads a small set of fixture files, runs a pipeline's SQL and returns the result in milliseconds. That speed is what makes it practical to run many tests on every change.

DuckDB is a columnar, vectorized engine built for analytics: scans, joins and aggregates over many rows, rather than many small transactions. It runs in a single process on one machine, which keeps it simple and fast for data that fits on that machine, but it is not a shared warehouse for many users or a replacement for a production platform. Its SQL dialect is close to PostgreSQL's, with differences from Databricks and Snowflake SQL that a translation step has to handle.

Those dialect differences matter for tests: a test that runs on DuckDB proves the logic of a pipeline, not every detail of the platform's SQL, which is why platform-specific lint rules complement it. See also [DuckLake](https://emolysis.com/glossary/ducklake), [lakehouse](https://emolysis.com/glossary/lakehouse) and [Golden tests on DuckDB](https://emolysis.com/docs/golden-tests).

DuckDB is open source under the MIT license and runs on macOS, Windows and Linux, which makes it easy to use the same engine on a laptop and in a CI job. It is also a common choice for exploring a sample of data before writing a pipeline, because it can query files where they are. See also [Delta Lake](https://emolysis.com/glossary/delta-lake) and [Apache Iceberg](https://emolysis.com/glossary/iceberg).

Emolysis uses DuckDB on your machine for the development loop and as the judge for [golden tests](https://emolysis.com/glossary/golden-test). It is not a production target. See the [DuckDB platform page](https://emolysis.com/platforms/duckdb). Because it starts instantly and needs no cluster, a test run takes seconds and spends no warehouse compute.

---

Page: https://emolysis.com/glossary/duckdb. Emolysis is a product of Bandpey GmbH, Munich, Germany. It is in private development, and nothing is released yet.
