--- layout: default title: An in-process SQL OLAP database management system subtitle: An In-Process Analytical Database description: DuckDB is an in-process SQL OLAP database management system. Simple, feature-rich, fast & open source. body_class: landing nowrap ---

DuckDB is a fast
|

database system

Query and transform your data anywhere
using DuckDB's feature-rich SQL dialect

Installation Documentation
  • SQL
  • Python
  • R
  • Java
  • Node.js
{% highlight sql %} {% include landing-page/sql/aggregation.sql %} {% endhighlight -%}
Live demo

DuckDB at a glance

Simple

DuckDB is easy to install and deploy. It has zero external dependencies and runs in-process in its host application or as a single binary.

Read more

Portable

DuckDB runs on Linux, macOS, Windows, and all popular hardware architectures. It has idiomatic client APIs for major programming languages.

Read more

Feature-rich

DuckDB offers a rich SQL dialect. It can read and write file formats such as CSV, Parquet, and JSON, to and from the local file system and remote endpoints such as S3 buckets.

Read more

Fast

DuckDB runs analytical queries at blazing speed thanks to its columnar engine, which supports parallel execution and can process larger-than-memory workloads.

Read more

Extensible

DuckDB is extensible by third-party features such as new data types, functions, file formats and new SQL syntax.

Read more

Free

DuckDB and its core extensions are open-source under the permissive MIT License.

Read more
{% include quick_installation.html %}

Blog

{% for post in site.posts limit:2 %} {% assign random_number = forloop.index | modulo: 3 | plus: 1 %} {% assign tag_classes = post.tags | join: ' ' | downcase | slugify %}
{% if post.thumb %} {{ post.title }} {% else %} Placeholder {% endif %}
{% if post.tags %}
{% for tag in post.tags %} {{ tag }} {% endfor %}
{% endif %}

{{ post.title }}

{{ post.date | date: "%Y-%m-%d" }}
{{ post.author | default: "Unknown Author" }}
{% endfor %}
All blog posts
{% assign future_events = site.events | where_exp: "event", "event.date >= site.time" | sort: 'date' %} {% if future_events.size > 0 %}

Upcoming events

{% for event in future_events limit:2 %} {% assign random_number = forloop.index | modulo: 3 | plus: 1 %} {% assign tag_classes = event.tags | join: ' ' %}
{% if event.thumb %} {{ event.title }} {% else %} Placeholder {% endif %}
{% if event.tags %}
{{ event.date | date: "%Y-%m-%d" }} {% for tag in event.tags %} {{ tag }} {% endfor %}
{% endif %}

{{ event.title }}

{{ event.venue | default: "Venue not specified" }}
{{ event.author | default: "DuckDB" }}
{% endfor %}
All events
{% endif %}