• DuckDB 1.4 LTS – säkerhet, prestanda och nya funktioner för framtidens databas

    DuckDB, databasen som ofta kallas ”SQLite för analys”, har släppt version 1.4 – en långsiktigt stödd utgåva full med nyheter. Med inbyggd kryptering, stöd för MERGE-kommandot, skrivning till Iceberg och förbättrad prestanda tar DuckDB ännu ett kliv mot att bli en av de mest flexibla och kraftfulla analysdatabaserna på marknaden.

    DuckDB, den lilla men kraftfulla databasen som ofta beskrivs som ”SQLite för analys”, har nått en viktig milstolpe. Med version 1.4, kodnamn Andium, släpps nu en LTS-utgåva (Long-Term Support) med ett års garanterat community-stöd. Den här versionen är fullmatad med nyheter som gör databasen både säkrare och snabbare, samtidigt som den blir mer flexibel att använda.

    Kryptering på riktigt

    En av de största nyheterna är att DuckDB nu kan kryptera hela databasen med AES-256 i det säkra GCM-läget. Det innebär att inte bara själva databasen, utan även loggfiler och temporära filer skyddas. Krypteringsnyckeln anges enkelt via en parameter när databasen kopplas in. För den som använder OpenSSL kan man dessutom dra nytta av hårdvaruacceleration, vilket gör krypteringen riktigt snabb.

    MERGE INTO – smartare uppdateringar

    Fram till nu har DuckDB-användare varit hänvisade till tricket INSERT INTO … ON CONFLICT för att hantera uppdateringar och konflikter. Med version 1.4 får vi istället det betydligt mer flexibla kommandot MERGE INTO, som gör det möjligt att kombinera insättningar, uppdateringar och raderingar i ett och samma kommando – perfekt för avancerade dataströmmar.

    Iceberg-stöd på nästa nivå

    DuckDB har länge kunnat läsa från Apache Iceberg, det populära lagringsformatet för storskaliga dataset. Men nu kan databasen även skriva data till Iceberg. Det öppnar för helt nya arbetsflöden där man kan flytta data mellan DuckDB, DuckLake och Iceberg. Dock krävs att schemat redan är skapat på Iceberg-sidan.

    Små detaljer som gör stor skillnad

    Version 1.4 innehåller också flera förbättringar som gör vardagen enklare:

    • En förloppsindikator i terminalen med uppskattad tid (ETA).
    • En ny FILL-funktion som fyller i saknade värden i dataserier.
    • En Teradata-anslutning för bättre integration med befintliga system.

    Prestanda i fokus

    Prestanda har alltid varit DuckDB:s styrka, och här fortsätter förbättringarna:

    • Sortering använder nu en modern k-way merge-metod.
    • CTE:er (Common Table Expressions) materialiseras automatiskt för att snabba upp beräkningar.
    • Minnestabeller har fått stöd för checkpointing, med möjlighet till komprimering.

    Distribution och ekosystem

    Slutligen har utvecklarna även putsat på distributionen:

    • Binärerna för macOS är nu notariserade.
    • Python-stödet har flyttat till sitt eget repository, duckdb/duckdb-python, för smidigare utveckling.

    DuckDB 1.4 visar att projektet inte bara växer i popularitet, utan också mognar som plattform. Med inbyggd kryptering, modernare SQL-stöd och förbättrad prestanda stärker DuckDB sin position som det självklara valet för analys – oavsett om du jobbar på din laptop eller i stora datacentermiljöer.

    DuckDB – Fakta & användning

    Typ: In-process, kolumnorienterad SQL-databas för analys (OLAP).
    Distribution: Inbäddad i processen – ingen separat server krävs.
    Plattformar: Linux, macOS, Windows; fungerar i Python, R, C/C++, Java (JDBC), ODBC m.fl.
    Filformat: Eget .duckdb on-disk-format + direktläsning av Parquet/CSV/JSON/Arrow.
    Lagring: Kolumnlagring med komprimering (t.ex. dictionary, bitpackning, RLE) och statistik/zonkartor.
    Transaktioner: ACID med WAL; snapshot isolation; flertrådad, vektoriserad exekvering.
    Index: Inga användarhanterade B-träd; förlitar sig på kolumnstatistik/zonkartor och adaptiva tekniker.
    Skalning: Optimerad för enmaskin/enkelt deployment; out-of-core för stora dataset (strömmande/externa filer).
    Kryptering: AES-256-GCM för databas/WAL/temp (från 1.4; nyckel via ENCRYPTION_KEY vid ATTACH).
    SQL-stöd: ANSI-nära dialekt med CTE/rekursiva CTE, fönsterfunktioner, MERGE INTO, ON CONFLICT, typerna STRUCT/LIST/MAP, omfattande JSON-funktioner.
    Extensions (urval): Parquet/JSON, httpfs (fjärrfiler), Arrow-integration, Iceberg-läs/skriv (via duckdb-iceberg), m.fl.
    Prestanda: Vektoriserad motor, parallellisering inom fråga, omskriven k-vägs mergesort, materialiserade CTE:er som standard.
    CLI/verktyg: Interaktiv duckdb-CLI (med progressbar/ETA), inbyggd COPY/IMPORT/EXPORT till Parquet/CSV.
    Integrationer: Pandas/Polars/Arrow i Python, dplyr/dbplyr i R, BI-verktyg via ODBC/JDBC.


    Vad används DuckDB till?
    • Interaktiv analys (OLAP) direkt i laptops/notebooks utan databasserver.
    • Snabb SQL över datafiler (Parquet/CSV/JSON) – lokalt eller över httpfs.
    • ETL/ELT-steg i pipeline: läsa, transformera och skriva Parquet/Iceberg.
    • Prototyping/experiment i Python/R – kör SQL nära dataframes/Arrow-tabeller.
    • Inbäddade applikationer som behöver kolumnlagrad analysdatabas i processen.
    • Datakvalitet, ad-hoc-frågor, testning av SQL-logik innan produktion.
    Typiska styrkor
    • Zero-install/zero-server: enkel att paketera och distribuera.
    • Hög hastighet på kolumnära, analytiska frågor; effektiv komprimering.
    • Direkt arbetsflöde med datafiler (ingen import nödvändig).
    • Stark integration med dataekosystemet (Arrow, Pandas, Parquet, Iceberg).
    Begränsningar att känna till
    • Inte en fleranvändarserver som PostgreSQL; bäst i enprocess-/enmaskinsscenarier.
    • Inga manuella B-trädindex; arbetsset och filstatistik är nyckeln till prestanda.

Etikett: data pipeline

  • DuckDB 1.4 LTS – säkerhet, prestanda och nya funktioner för framtidens databas

    DuckDB, databasen som ofta kallas ”SQLite för analys”, har släppt version 1.4 – en långsiktigt stödd utgåva full med nyheter. Med inbyggd kryptering, stöd för MERGE-kommandot, skrivning till Iceberg och förbättrad prestanda tar DuckDB ännu ett kliv mot att bli en av de mest flexibla och kraftfulla analysdatabaserna på marknaden. DuckDB, den lilla men kraftfulla…