Repolode
duckdb

duckdb/duckdb

DuckDB is an in-process analytical SQL database that runs inside your application with no separate server to manage.

Stars
42,359
Forks
4,007
Open issues
936
Last commit
9 hours ago

What is it?

DuckDB is a high-performance analytical database system designed to be fast, reliable, portable, and easy to use. It runs in-process inside your application, so there is no separate server to manage and no external dependencies. It can also read remote files, query other databases, and connect to other DuckDB instances.

The SQL dialect goes well beyond basic SQL, with arbitrary and nested correlated subqueries, window functions, collations, and complex types such as arrays, structs, and maps. It also includes friendly SQL extensions that make queries shorter. DuckDB ships as a standalone CLI and has clients for Python, R, Java, Rust, Go, Wasm, and more, with integrations such as pandas.

DuckDB can query CSV, Parquet, JSON, and Excel files directly from local disk or from S3, HTTP(S), Azure, and Google Cloud Storage, and it works with Apache Iceberg, Delta Lake, and DuckLake tables. It can also attach to PostgreSQL, MySQL, and SQLite databases and query them in place.

Key features

  • 01Runs in-process with no separate server or external dependencies.
  • 02Queries CSV, Parquet, JSON, and Excel files directly in FROM clauses.
  • 03Reads from local disk and cloud storage such as S3, Azure, and Google Cloud Storage.
  • 04Supports nested correlated subqueries, window functions, and complex types.
  • 05Attaches to PostgreSQL, MySQL, and SQLite databases for in-place queries.
  • 06Works with Apache Iceberg, Delta Lake, and DuckLake table formats.

Use cases

  • Running ad hoc analytical SQL over local CSV or Parquet files.
  • Embedding an analytics engine in a Python or R data workflow.
  • Joining data across PostgreSQL, MySQL, and files without a separate ETL step.
  • Querying lakehouse tables stored in S3 or other cloud object storage.

Quick start

  1. 1

    Follow the installation instructions on the DuckDB installation page

  2. 2

    Query a CSV file directly from SQL

    SELECT * FROM 'myfile.csv';

Topics

FAQ

What is duckdb?
DuckDB is an in-process analytical SQL database that runs inside your application with no separate server to manage. DuckDB is a high-performance analytical database system designed to be fast, reliable, portable, and easy to use. It runs in-process inside your application, so there is no separate server to manage and no external dependencies. It can also read remote files, query other databases, and connect to other DuckDB instances.
Is duckdb free to use? What license does it have?
duckdb is open source under the MIT license. Check the license terms before using it in commercial products.
Is duckdb still maintained?
Actively maintained. The last commit to duckdb was on Oct 21, 2026.
What can I use duckdb for?
Running ad hoc analytical SQL over local CSV or Parquet files. Embedding an analytics engine in a Python or R data workflow. Joining data across PostgreSQL, MySQL, and files without a separate ETL step. Querying lakehouse tables stored in S3 or other cloud object storage.
How do I install duckdb?
Follow the installation instructions on the DuckDB installation page Query a CSV file directly from SQL: SELECT * FROM 'myfile.csv';
Where can I get duckdb?
The source code and installation instructions are on GitHub: https://github.com/duckdb/duckdb

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects