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.
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.
- Dutch IT Channel, 3 juli 2026 — Kabinet kiest voor eigen soevereine overheidscloud
- ANP, 3 juli 2026 — Kabinet wil cloudgebruik overheid meer in eigen hand krijgen
- The Register, april 2025 — prijsverhoging per-gebruiker-licenties rapportage
- Binnenlands Bestuur — Experts slaan alarm over digitale soevereiniteit; IO+, januari 2026 — NOS-analyse van 16.500 domeinen
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.
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.
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.
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.
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.
-
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.
-
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.
-
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.
-
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.
-
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.
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.
min 2026-01-01
max 2026-03-31
min 2026-04-01
max 2026-06-30
min 2026-07-01
max 2026-09-30
min 2026-10-01
max 2026-12-31
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.