Ga naar hoofdinhoud

Een introductie tot DuckDB: wat is het en waarom zou je het gebruiken?

Ontdek DuckDB, de snelle, gebruiksvriendelijke analytics-database voor Python en R. Leer de belangrijkste functies, use-cases en hoe het data-analytische taken optimaliseert.
Bijgewerkt 30 sep 2026  · 7 min lezen

Verken met AI

ChatGPTClaudePerplexity

In de wereld van data science en analytics bestaat het verkrijgen van inzichten uit data vaak uit een reeks stappen, meestal uitgevoerd in Python met bibliotheken zoals pandas. Hoewel krachtig, kan pandas prestatieproblemen krijgen bij grote datasets en resource-intensieve bewerkingen.

Met als doel een balans tussen robuuste functionaliteit en efficiëntie, komt DuckDB naar voren als een uitstekend alternatief. Als een razendsnelle, gebruiksvriendelijke analytics-database verandert DuckDB de manier waarop data in Python en R wordt verwerkt.

In dit artikel behandelen we:

  • De unieke functies en mogelijkheden van DuckDB
  • Voordelen van DuckDB ten opzichte van traditionele tools voor datamanipulatie
  • Praktische use-cases die het potentieel van DuckDB laten zien
  • Richtlijnen voor werken met DuckDB in Python en R

Aan het einde van dit artikel begrijp je waarom DuckDB het overwegen waard is voor je data-analysetaken, ongeacht de omvang van de data en de complexiteit van de bewerkingen.

Wat is DuckDB?

DuckDB is een gratis, open-source, embedded, in-process, relationeel OnLine Analytical Processing (OLAP) DataBase Management System (DBMS). Dat zijn veel woorden en afkortingen, dus laten we het opsplitsen:

  • Met in-process bedoelen we dat de DBMS-functies draaien binnen de applicatie waarvan je probeert te benaderen, in plaats van een extern proces waarmee je applicatie verbinding maakt
  • OLAP betekent dat de database is ontworpen voor data-analyse. Er zijn ook OnLine Transaction Processing (OLTP)-databases, die zijn ontworpen om grote transactionele data te verwerken.

Het belangrijkste verschil tussen OLAP en OLTP is hoe data wordt opgeslagen. OLTP-databases slaan data meestal per record op en zorgen ervoor dat alle data die bij een record hoort dicht bij elkaar in het geheugen staat. Ze zijn ook geoptimaliseerd voor efficiënt lezen en schrijven van rijen.

OLAP-databases daarentegen zijn vaak kolomgeoriënteerd, wat betekent dat data per kolom is georganiseerd. Alle data die bij een kolom hoort, wordt dicht bij elkaar in het geheugen opgeslagen en de database is geoptimaliseerd voor het efficiënt lezen en berekenen op kolommen.

Omdat DuckDB een OLAP-database is, wordt alle opgeslagen data per kolom georganiseerd. Bovendien is DuckDB geoptimaliseerd om complexe query’s op data uit te voeren (bijv. joins, aggregaties, groeperingen, enz.) – bekijk de skill track SQL Fundamentals voor meer info.

Als je bekend bent met SQLite, is de eenvoudigste manier om DuckDB te begrijpen als de analytics-gerichte tegenhanger. Dat verklaart mede waarom DuckDB zo populair is — het combineert de eenvoud van SQLite met de functionaliteiten van Snowflake op je lokale computer. DuckDB vult de behoefte aan een embedded databasesolution voor analytische verwerking.

Belangrijkste functies van DuckDB

Laten we enkele kerneigenschappen van DuckDB bekijken.

Snelle analytische query’s

DuckDB is ongelooflijk snel; dit kan verrassend zijn voor iedereen die bekend is met databases die OLAP-workloads afhandelen, zoals PostgreSQL. Traditioneel hebben OLAP-databases de neiging trage responstijden te hebben, aangezien ze doorgaans meer data verwerken.

DuckDB draait echter op een kolom-gevectoriseerde query-engine, die helpt de CPU-cache efficiënt te benutten en de responstijden voor analytische query-workloads te versnellen.

Ondersteunt SQL en integratie met andere programmeertalen

Met DuckDB kunnen gebruikers complexe SQL-query’s uitvoeren en zijn er API’s voor Java, C, C++ en meer. Het is ook diep geïntegreerd in Python en R, waardoor gebruikers efficiënte, interactieve data-analyse kunnen doen; je kunt dus met DuckDB werken vanuit je voorkeursprogrammeertaal. Er is ook toegang tot extra SQL-trefwoorden die het schrijven van SQL-query’s makkelijker maken, zoals EXCLUDE, REPLACE en ALL.

Let op: DuckDB heeft geen externe afhankelijkheden, dus je hoeft je geen zorgen te maken over dependency-problemen.

Gratis & open-source

DuckDB is open-source en heeft meerdere actieve bijdragers, wat betekent dat ontwikkelingen en verbeteringen snel kunnen worden doorgevoerd. Het is ook gratis, hoewel dat niet per se zo hoeft te blijven.

Use-cases voor DuckDB

De twee meest voorkomende use-cases voor DuckDB zijn interactieve data-analyse en edge computing.

Laten we ze om de beurt bekijken.

Interactieve data-analyse

Data-analyse beschrijft de reeks stappen die komt kijken bij het verwerken en modelleren van data. Het doel van data-analyse is bruikbare informatie te ontdekken die conclusies en datagedreven beslissingen ondersteunt.

Tegenwoordig nemen bedrijven data scientists en analisten in dienst die deze verantwoordelijkheid op zich nemen en hun analyses uitvoeren met technologieën zoals de programmeertalen Python en R.

DuckDB biedt een beter alternatief voor wie liever SQL gebruikt voor lokale ontwikkeling dan SQLite, dat moeite heeft met OLAP-workloads door het gebrek aan functionaliteit voor data-analyse.

Edge computing

Inbedbare databases, zoals DuckDB, maken het mogelijk om data aan de rand te analyseren. Edge computing is een opkomend paradigma binnen gedistribueerd rekenen, waarbij netwerken en apparaten naar of dichter bij de locatie worden gebracht waar ze nodig zijn.

Data verwerken dichter bij waar die nodig is, zorgt voor snellere reacties en behoud van bandbreedte.

Aan de slag met DuckDB

Je omgeving bepaalt welke stappen nodig zijn om DuckDB te installeren, maar de volledige installatiehandleiding vind je in de DuckDB-documentatie.

Meestal is het vrij eenvoudig. Je hebt maar een paar regels code nodig, omdat DuckDB een embedded oplossing is. Het vereist ook geen server en heeft geen externe afhankelijkheden.

Hier is een voorbeeld van hoe je DuckDB installeert met Python:

pip install duckdb==0.8.0

En in R:

install.packages("duckdb")

Laten we nu wat codevoorbeelden bekijken.

Werken met DuckDB in Python

Zodra je DuckDB hebt geïnstalleerd, is het vrij simpel om te beginnen. Je import duckdb in je omgeving en maakt vervolgens verbinding met een bestaande database of maakt een nieuwe aan als dat nodig is.

Bijvoorbeeld:

import duckdb 
connection = duckdb.connect()

Omdat er geen databasebestand is doorgegeven als parameter aan de connect()-methode, wordt er een nieuwe database aangemaakt.

De meest eenvoudige manier om te beginnen met het uitvoeren van SQL-query’s met DuckDB is echter met de sql()-methode.

# Source: Basic API usage - https://duckdb.org/docs/api/python/overview.html
import duckdb
duckdb.sql('SELECT 42').show()

Het uitvoeren van dit commando draait een in-memory database die globaal in de Python-module wordt opgeslagen en geeft een relation terug, wat in wezen een symbolische representatie van de query is.

Let op: de query wordt pas uitgevoerd wanneer het resultaat expliciet wordt opgevraagd, als volgt:

# Source: Execute SQL - https://duckdb.org/docs/guides/python/execute_sql.html
results = duckdb.sql('SELECT 42').fetchall()
print(results)

"""
[(42,)]
"""

We kunnen ook de df()-methode gebruiken om de data om te zetten naar een Pandas DataFrame:

results_df = duckdb.sql('SELECT 42').df()
print(results) 

"""
    42
0   42
"""

Of je gebruikt een van de vele data-ingestiemethoden om data in het geheugen te lezen:

# Source: Python API - https://duckdb.org/docs/api/python/overview.html 
import duckdb
duckdb.read_csv('example.csv') # read a CSV file into a Relation
duckdb.read_parquet('example.parquet')# read a Parquet file into a Relation
duckdb.read_json('example.json') # read a JSON file into a Relation

duckdb.sql('SELECT * FROM "example.csv"')     # directly query a CSV file

Disclaimer: Als je de sql() -methode gebruikt zonder eerst verbinding te maken met een bestaande database, gaan alle gegevens die je in de bestanden opslaat verloren na het afsluiten van het programma. Dit voorkom je door een verbinding tot stand te brengen met de connect() -methode die we aan het begin van de sectie bespraken.

Conclusie en verdere bronnen

DuckDB is een OLAP-database die door dataprofessionals, zoals data scientists en analisten, wordt gebruikt om data snel en efficiënt te analyseren. Het maakt gebruik van een SQL-query-engine die complexe query’s op grote datasets kan uitvoeren.

DuckDB heeft ook integraties met veel andere programmeertalen, zodat je het vanuit je favoriete taal kunt benaderen.

Ga verder met leren en bekijk de SQL Basics Cheat Sheet en hoe DuckDB SQL tot een first-class citizen maakte in DataLab.


Kurtis Pykes 's photo
Author
Kurtis Pykes
LinkedIn
Onderwerpen
Data Science
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken