Een data-architectuur die van jou blijft.

Open formaten, open-source engines en infrastructuur in Nederland of de EU. Sparquet ontwerpt, bouwt en migreert dataplatformen die niet van één leverancier afhankelijk zijn — zonder in te leveren op snelheid of functionaliteit.

Goud — inzichtDashboards, dataproducten en API's.
Zilver — verwerkingGeteste dbt-modellen op DuckDB en DuckLake.
Brons — opslagBrondata als Parquet op S3-opslag in NL of EU.

Waarom nu

Afhankelijkheid van één leverancier was lang een theoretisch risico. In 2026 is het een budgetpost, een beleidsvraag en een exitplan dat je moet kunnen laten zien.

Het kabinet herziet het cloudbeleid

In juli 2026 kreeg de Rijksoverheid vier jaar om de afhankelijkheid van Amerikaanse clouddiensten af te bouwen, met een exitstrategie per dienst. Tegelijk start een soevereine overheidscloud op open-sourcebasis. Wie voor de overheid werkt, krijgt deze vragen ook.

Licenties schalen met lezers, niet met waarde

Per-gebruiker-licenties voor rapportage stegen in 2025 bij de grootste aanbieder met 40%, en capaciteitsmodellen rekenen per uur, of je het platform nu gebruikt of niet. De prijs en het moment van verhogen bepaalt de leverancier.

De afhankelijkheid is groter dan gedacht

35% van de gemeenten vindt zichzelf te afhankelijk van Microsoft. Van 16.500 domeinen van overheid, zorg en vitale sectoren bleek begin 2026 67% gekoppeld aan Amerikaanse clouddiensten, onder de reikwijdte van de CLOUD Act.

Dit is geen pleidooi tegen een leverancier. De grote platforms zijn goed. De vraag is of je er weer uit kunt, wat dat kost, en of je dat nu al wilt kunnen aantonen.

Drie lagen op een stam

Sparquet is genoemd naar de spar: drie lagen op één stam, met wortels in eigen grond. Elke laag is een laag van de medaillon-architectuur, en elke laag draait op open standaarden die je morgen door een andere partij kunt laten beheren.

Goudinzicht

De businesslaag is gemodelleerd in dbt: feiten, dimensies en kengetallen, met historie via snapshots, één definitie per begrip, getest en gedocumenteerd. Daarop draait Apache Superset voor dashboards en self-service analyse, zonder limiet op het aantal gebruikers, en worden datasets als product afgenomen: als Parquet of via een API, ook geschikt als open data.

Waarom deze keuzeApache 2.0-licentie. Dashboards zijn SQL en configuratie, exporteerbaar als bestand.
Zilververwerking

DuckDB als rekenmotor en DuckLake als lakehouse-formaat: metadata in PostgreSQL, data in Parquet, met snapshots, time travel en schema-evolutie. Transformaties als dbt-modellen in SQL, in Git, met tests: opschonen, sleutels, ontdubbelen en combineren, als basis voor de businesslaag in goud. Orkestratie met Dagster of Airflow.

Waarom deze keuzeMIT- en Apache 2.0-licenties. Logica in SQL en Git, metadata in een database die je zelf beheert.
Bronsopslag

Brondata uit API's, databases, ERP-systemen en CSV-, JSON- of XML-bestanden landt ongewijzigd als Parquet op S3-compatibele objectopslag: zelf gehost (Garage, SeaweedFS, Ceph) of bij een Nederlandse of Europese provider. Elk bestand blijft met ieder hulpmiddel leesbaar.

Waarom deze keuzeDe S3-API is de feitelijke standaard voor objectopslag; Parquet leest elke engine en elke taal.

Dit zijn onze voorkeuren, geen vaste set: onder Keuzes staan per onderdeel de open alternatieven, van PostgreSQL tot Trino. Alles is MIT-, Apache-, AGPL- of PostgreSQL-gelicentieerd; geen eigen tooling, geen gesloten extensies. Wat wij bouwen, kan iedere andere partij overnemen.

Dataproducten: data als dienst, niet als dump

Een export is een bestand; een dataproduct is een afspraak. Wij publiceren datasets als versies met een contract, zodat afnemers — intern of extern, met welk platform dan ook — er zelfstandig op kunnen bouwen zonder dat de bron elke keer opnieuw wordt opgetrokken.

  1. Afgebakende extractie

    Een afgeschermde worker haalt de afgesproken broncyclus op, selecteert alleen toegestane tabellen en velden en voert kwaliteits- en privacycontroles uit vóór publicatie. Wat niet door de controle komt, wordt niet vrijgegeven.

  2. Onveranderlijke release

    Elke publicatie is één versie: Parquet-bestanden met een manifest en één snapshot-id voor alle tabellen. Een vrijgegeven release verandert niet meer, en een nieuwe release schrijft nooit over een lopende load heen.

  3. Register

    Een PostgreSQL-register houdt bij welke releases bestaan, met schema, tellingen, rechten en herkomst. Eén transactie geeft een release vrij — of houdt hem tegen.

  4. Toegang op maat van de afnemer

    Een read-only API met OpenAPI-specificatie, OAuth2 per afnemer en keyset-paginatie voor rijtoegang; Parquet-bulk voor volledige loads. Limieten en fouten zijn voorspelbaar: een verlopen release geeft een expliciete fout, geen halve data. Afnemers kiezen hun eigen tool — Python, een eigen datawarehouse, DuckDB, Power BI, Qlik, Tableau of Cognos.

  5. Contract

    Per product: eigenaar, tabel- en veldscope, schema- en wijzigingsbeleid, kwaliteitscontroles, publicatiefrequentie, toegangsrechten en supportpad. Machineleesbaar vastgelegd in ODCS (Open Data Contract Standard), zodat afnemers en tooling het contract kunnen toetsen.

Open is niet openbaar

Open betekent open standaarden en transparante toegang: een gedocumenteerde API, Parquet, zichtbare versies en herkomst. Het betekent niet dat gegevens openbaar zijn. Vertrouwelijke en wettelijk afgeschermde velden blijven buiten de release, iedere afnemer ziet alleen de eigen gegevens en elke aanroep is herleidbaar. Echte open data voor burgers en onderzoekers is dezelfde release met een ander contract.

Volledig blijft mogelijk

Incrementeel leveren wordt de norm, maar een volledige load per release blijft beschikbaar voor herstel, reconciliatie en nieuwe afnemers. Incrementeel is niet hetzelfde als realtime, en dat hoeft het meestal ook niet te zijn.

Dezelfde releases voor AI

AI-assistenten krijgen geen aparte dataweg maar een read-only laag (MCP) op dezelfde gepubliceerde versies: elk antwoord met peildatum en herkomst, rechten en audit per aanroep, geen doorgifte van tokens. Met een lokaal of in de EU gehost taalmodel waar de data dat vereist.

Goede keuzes zonder vendor lock-in

Onafhankelijkheid is geen merk maar een set eisen. De voorkeuren hieronder zijn ons startpunt voor een organisatie zonder bestaand platform. De uiteindelijke keuze volgt uit gemeten werklast, regio-eisen en beheercapaciteit — niet uit een productvoorkeur vooraf. Soms is PostgreSQL genoeg.

Open bestandsformaat

Data staat in Parquet. Elke engine, elke taal en elke leverancier leest het; er is geen export nodig om weg te gaan.

Open licentie

MIT, Apache 2.0, AGPL of PostgreSQL. De code blijft beschikbaar, ook als de ontwikkelaar van eigenaar wisselt.

Vervangbaar per onderdeel

Opslag, tabelformaat, engine, transformaties, orkestratie en dashboards zijn losse keuzes. Je vervangt er één zonder de rest aan te raken.

Data waar jij kiest

Een Nederlands datacenter, een Europese provider of eigen hardware. Geen jurisdictie waar je niet zelf voor gekozen hebt.

Exit zonder herbouw

Logica in SQL en Git, data in Parquet, metadata in PostgreSQL. Wie je na ons ook inhuurt, die kan verder.

Onderdeel
Onze voorkeur
Open alternatieven
Wanneer
Hosting
Onze voorkeurNederlands datacenter of Nederlandse provider, zelf beheerd.
Open alternatievenEuropese cloud met beheerde diensten: Scaleway, OVHcloud, Hetzner, Exoscale.
WanneerAls je beheerde PostgreSQL, objectopslag en Kubernetes wilt zonder hyperscaler. Controleer per dienst in welke EU-regio hij draait en of data in Nederland moet blijven.
Objectopslag
Onze voorkeurS3-compatibel: zelf gehost met Garage, SeaweedFS of Ceph, of de objectopslag van de provider.
Open alternatieven—
WanneerZelf gehost als data het pand niet mag verlaten; bij een provider als je geen opslaghardware wilt beheren.
Aanvoer
Onze voorkeurBatch-extractie in Python (dlt, Apache 2.0) met volledige loads die herhaalbaar blijven.
Open alternatievenChange data capture met Debezium (Apache 2.0).
WanneerAls bronnen incrementeel geleverd moeten worden — inserts, updates én deletes — en een volledige nachtelijke load te zwaar wordt. De volledige load blijft beschikbaar voor herstel en reconciliatie.
Tabelformaat
Onze voorkeurDuckLake 1.0 (MIT): catalogus in PostgreSQL, data in Parquet.
Open alternatievenApache Iceberg, Delta Lake (beide Apache 2.0).
WanneerAls meerdere engines (Trino, Spark, Flink) dezelfde tabellen lezen en schrijven, of als Iceberg al in huis is. De data is in alle gevallen Parquet; overstappen is een metadata-migratie, geen datamigratie.
Rekenmotor
Onze voorkeurDuckDB (MIT): één goede server verwerkt honderden GB tot enkele TB.
Open alternatievenTrino (Apache 2.0) voor gedistribueerd en federatief rekenen; ClickHouse (Apache 2.0) voor intensieve, herhaalde analysevragen.
WanneerTrino bij tientallen TB of meerdere bronnen in één query; ClickHouse bij honderden gelijktijdige dashboardgebruikers met subseconde-eisen. Kies op gemeten werklast, niet vooraf.
Relationele database
Onze voorkeurPostgreSQL (PostgreSQL-licentie): als register, als servinglaag voor API's en voor datasets tot enkele honderden GB ook als volledig warehouse.
Open alternatievenPostgreSQL met pg_duckdb (MIT) of pg_lake (Apache 2.0): leest dezelfde Parquet- en Iceberg-bestanden vanuit Postgres.
WanneerAls je team PostgreSQL al beheert, de data onder een paar TB blijft en het aantal gelijktijdige analisten beperkt is, is een lakehouse overbodig. Parquet op objectopslag blijft dan het uitwisselformaat.
Transformaties
Onze voorkeurdbt Core (Apache 2.0, sinds juni 2026 inclusief de nieuwe Rust-engine), van brons tot en met de businesslaag.
Open alternatievenSQLMesh (Apache 2.0).
WanneerAls virtuele omgevingen en lineage op kolomniveau zwaarder wegen dan het dbt-ecosysteem en de beschikbare kennis.
Orkestratie
Onze voorkeurDagster (Apache 2.0).
Open alternatievenApache Airflow, Kestra (beide Apache 2.0).
WanneerDagster voor nieuwe projecten omdat het om data-assets draait; Airflow als je team het al kent; Kestra als declaratieve YAML-flows beter passen bij een beheerteam.
Dashboards
Onze voorkeurApache Superset (Apache 2.0).
Open alternatievenMetabase (AGPL), of de BI-tool van de afnemer op dezelfde releases: Power BI, Qlik, Tableau, Cognos.
WanneerMetabase als eenvoud voor niet-technische gebruikers voorgaat. Een dataproduct schrijft de BI-tool niet voor: afnemers lezen dezelfde Parquet-releases en API met hun eigen tool.
API en levering
Onze voorkeurRead-only REST-API (OpenAPI, OAuth2, keyset-paginatie) op PostgreSQL voor rijtoegang, plus Parquet-bulk voor volledige loads.
Open alternatievenOData4 voor BI-tools; GraphQL voor afnemers die zelf velden kiezen.
WanneerOData als BI-tools rechtstreeks willen koppelen; GraphQL als afnemers per aanroep velden selecteren. Altijd op dezelfde releases, met dezelfde rechten.
Datacontract
Onze voorkeurODCS, Open Data Contract Standard (Bitol, Apache 2.0): machineleesbaar contract per dataproduct.
Open alternatievendbt model contracts; de OpenAPI-specificatie als contract voor de API.
WanneerEen contract is er altijd; het formaat volgt de afnemers en de tooling die ze al gebruiken.

SchaalpadBegin klein: PostgreSQL waar dat volstaat, DuckDB en DuckLake op één server voor de meeste organisaties. Groei je eroverheen, dan komt Iceberg met Trino, ClickHouse of Spark erbij, zonder iets aan opslag, transformaties of dashboards te veranderen. Die hingen nooit aan de engine.

Waarom Parquet en DuckLake

De stack is snel én goedkoop omdat het bestandsformaat het meeste werk doet. Dit is wat er onder de motorkap gebeurt, en wat je eraan hebt.

Parquet: het bestandsformaat

Kolomgewijs opgeslagen

Een CSV slaat regel voor regel op; Parquet slaat kolom voor kolom op. Een query die 3 van 50 kolommen nodig heeft, leest alleen die 3. De overige 47 worden niet van schijf of uit de objectopslag gehaald, en op objectopslag betaal je per gelezen GB.

Compressie en encoding

Omdat een kolom gelijksoortige waarden bevat, comprimeert die goed. Herhalende waarden (plaatsnamen, statuscodes) worden een woordenboek met kleine nummers, gesorteerde reeksen worden run-lengths, kleine getallen krijgen alleen de bits die ze nodig hebben. Daarbovenop komt ZSTD of Snappy. In de praktijk is Parquet 5 tot 10 keer kleiner dan CSV; in een gepubliceerde benchmark werd 194 GB CSV 4,7 GB Parquet.

Row groups en metadata

Een Parquet-bestand bestaat uit row groups van tientallen MB tot ongeveer 1 GB. In de footer staat per kolom per row group de minimum- en maximumwaarde en het aantal lege waarden. Een filter op één maand slaat daardoor alle row groups over die die maand niet kunnen bevatten, zonder ze te lezen. Een COUNT(*) komt rechtstreeks uit de metadata.

Row group 3jul–sep
min 2026-07-01
max 2026-09-30

Query op augustus: alleen row group 3 wordt gelezen. Elke row group kan bovendien door een eigen CPU-kern worden verwerkt.

DuckLake: het lakehouse-formaat

Een map Parquet-bestanden is nog geen database: niets houdt bij welke bestanden bij welke tabel horen, welke versie geldig is en wie er tegelijk schrijft. Apache Iceberg en Delta Lake lossen dat op met metadata-bestanden naast de data; dat werkt op grote schaal goed, maar vraagt een aparte catalogusdienst en levert veel kleine bestanden op. DuckLake zet de metadata in een gewone SQL-database.

Hoe het werkt

De catalogus staat in PostgreSQL (of SQLite of DuckDB voor kleine opstellingen), de data in Parquet op objectopslag. Een query kijkt eerst in de catalogus welke bestanden nodig zijn, met welke statistieken, en leest dan alleen die bestanden. Transacties, conflicten en versies regelt de database, en die is daar al dertig jaar goed in.

Wat je ermee krijgt

  • Snapshots en time travel: iedere wijziging is een nieuwe versie, elke eerdere stand is opvraagbaar.
  • Schema-evolutie en partitionering zonder herschrijven van bestaande bestanden.
  • Meerdere DuckDB-processen die tegelijk lezen en schrijven op dezelfde tabellen.
  • Metadata-vragen in milliseconden, omdat ze een SQL-query op een geïndexeerde tabel zijn.

DuckLake 1.0 is sinds april 2026 productierijp, met gegarandeerde achterwaartse compatibiliteit, onder MIT-licentie. Wanneer Iceberg of PostgreSQL de betere keuze is, staat hierboven bij de keuzes.

Over DuckDB en AWS. Sinds september 2026 maakt DuckLabs, het ontwikkelteam achter DuckDB, deel uit van Amazon Web Services. DuckDB, DuckLake en de extensies blijven MIT-gelicentieerd onder de onafhankelijke DuckDB Foundation. Precies daarom bouwen we op formaten en licenties en niet op leveranciers: wie de code ook ontwikkelt, je data staat in Parquet en je logica in SQL.

Wat we doen

Van eerste assessment tot overdracht aan je eigen team. We ontwerpen, bouwen en migreren, en we zorgen dat je ons daarna niet nodig hebt.

Architectuur en assessment

Welke data heb je, waar staat die en wat moet er onafhankelijk zijn? Je krijgt een doelarchitectuur, een exitstrategie per onderdeel en een realistische planning, inclusief wat beter kan blijven waar het staat.

Installatie en configuratie

Objectopslag, PostgreSQL, DuckDB en DuckLake, dbt, orkestratie en Superset, op jouw infrastructuur, bij een Nederlandse provider of in een Europese cloud. Alles als code in Git, reproduceerbaar en gedocumenteerd.

Pipelines bouwen

Van API's, databases, ERP-systemen en bestanden naar brons, zilver en goud. Geteste dbt-modellen tot en met de businesslaag (feiten, dimensies, kengetallen), historisering met snapshots waar nodig, en foutafhandeling die hard faalt in plaats van stilletjes data kwijt te raken.

Migratie vanuit een bestaand platform

Vanuit Fabric, Synapse, Power BI of een on-premise SQL Server-datawarehouse. Tabellen worden overgezet, modellen en rapporten opnieuw opgebouwd. Gefaseerd en parallel aan de bestaande omgeving, zodat niets stil hoeft te staan.

Dataproducten en API's

Datasets als product: eigenaar, contract (ODCS), onveranderlijke releases, een read-only API met OAuth2 en OpenAPI, en Parquet-bulk voor volledige loads. Als open data waar dat mag, afgeschermd per afnemer waar dat moet.

AI op dezelfde data

Een read-only MCP-laag en natuurlijke-taalvragen op de goudlaag, met peildatum en herkomst in elk antwoord. Met lokale of in de EU gehoste taalmodellen als de data het datacenter niet mag verlaten.

Beheer en herstel

Back-ups die daadwerkelijk zijn teruggezet, herstelprocedures per onderdeel (register, data, configuratie), monitoring op bereikbaarheid en dataversheid, en afspraken over beschikbaarheid en herstel per component. De eerlijke prijs van onafhankelijkheid, goed geregeld.

Overdracht

We bouwen zo dat je eigen team het kan beheren: documentatie, werksessies en een duidelijke exit voor onszelf. Onafhankelijkheid geldt ook ten opzichte van ons.

Hoe we werken

Open standaarden eerst

Parquet, SQL en Git. Geen eigen formaten, geen gesloten extensies. Als een onderdeel morgen wegvalt, blijven data en logica bruikbaar.

Pragmatisch

De kleinste architectuur die het werk doet. Een rekenmotor kiezen we op gemeten werklast en regio, niet vooraf. Soms is PostgreSQL genoeg; Trino of Spark komt pas als het nodig is.

Luid falen

Een pipeline die stopt bij afwijkende data is beter dan een rapport dat stilletjes niet klopt. Tests in dbt, controles op aantallen en duidelijke meldingen zijn standaard.

Eerlijk over het alternatief

Jarenlange ervaring met SQL Server, Synapse en Fabric, in bouw, logistiek, openbaar vervoer en de publieke sector. Als blijven waar je zit de betere keuze is, zeggen we dat.

Plan een gesprek

Een eerste gesprek van een uur is kosteloos. We kijken naar je huidige omgeving, waar de afhankelijkheden zitten en of de Sparquet-stack voor jouw situatie zinvol is. Zo niet, dan hoor je dat ook.

Voor organisaties in Nederland en België, van middelgroot bedrijf tot gemeente, waterschap of uitvoeringsorganisatie.

E-mail
info@sparquet.nl

Reactie
Binnen twee werkdagen.

Stuur een bericht