DuckDB-logo

Geïntegreerde analyses

Verbinden DuckDB naar Excel, Google Sheets, AI en REST

Ingebouwde analysedatabase voor OLAP-workloads — lokale bestanden, netwerkshares of in het geheugen. Query Streams gebruikt ook DuckDB binnen de File Set-familie om mapschema's vast te zetten.

Eén verbinding, elk oppervlak

Waar uw DuckDB-gegevens naartoe kunnen worden gestuurd

Query Streams leest een DuckDB-bestand als live SQL — vanuit Microsoft Excel, Google Sheets, Power BI, AI-assistenten via MCP en een REST-eindpunt — zonder dat er een server hoeft te draaien en zonder dat er ergens anders iets geladen hoeft te worden. De engine is ingebed in de agent, dus het .duckdb-bestand op de schijf is de database. Uw SQL wordt exact zoals u het geschreven hebt aan DuckDB doorgegeven, wat betekent dat de onderdelen van de taal waarvoor mensen DuckDB kiezen — GROUP BY ALL, QUALIFY, SELECT * EXCLUDE, toegang tot lijsten en structuren — allemaal werken in plaats van te worden afgevlakt tot een gemeenschappelijke basis.

  1. Voor uw team, leveranciers en partners
  2. DuckDB naar Excel Microsoft Excel · Excel-invoegtoepassing

    Haal live DuckDB-resultaten rechtstreeks in een werkblad en vernieuw ze wanneer nodig — in Excel op de desktop, Excel Online en Microsoft 365.

    DuckDB-handleiding
  3. DuckDB naar Google Sheets Sheets-add-on

    Voer een opgeslagen DuckDB-query uit vanuit de zijbalk en sleep de rijen naar het spreadsheet. Gedeelde medewerkers kunnen het spreadsheet zelf vernieuwen.

    DuckDB-handleiding
  4. Vraag Nova naar DuckDB. Nova AI · tekst naar SQL

    Stel een vraag in begrijpelijke taal. Nova kent je DuckDB-tabellen al, schrijft en voert de SQL-query uit, legt het antwoord uit en visualiseert het in een grafiek – je hoeft geen query te schrijven en geen inloggegevens te verstrekken.

    Hoe Nova werkt
  5. DuckDB naar gegevensviewer Resultaten delen · team, leveranciers, partners · telefoon, tablet, desktop

    Deel een live DuckDB-resultaat met wie dan ook – een collega, een leverancier, een partner – als een bladwijzerbaar raster dat opnieuw wordt weergegeven wanneer het wordt geopend, op een telefoon, een tablet of een desktop. Ze zien de resultaten, nooit de SQL-query of de inloggegevens.

    Hoe de gegevensviewer werkt
  6. Voor apps en systemen
  7. DuckDB REST API HTTP-eindpunt

    Publiceer een DuckDB-query als een geauthenticeerd JSON-eindpunt dat elke applicatie kan aanroepen, met een OpenAPI 3.1-specificatie en kant-en-klare collecties voor Postman, Insomnia en Hoppscotch. Er wordt geen databasepoort geopend.

    DuckDB-handleiding
  8. DuckDB naar Power BI Power Query M

    Plak de gegenereerde Power Query M in de geavanceerde editor van Power BI en het rapport leest live DuckDB-resultaten via HTTPS — zonder ODBC-stuurprogramma en zonder geopende databasepoort.

    Hoe Power BI werkt
  9. DuckDB naar Airtable Automatiseringsplatform

    Synchroniseer DuckDB-rijen met een Airtable-database volgens een schema, of haal ze op binnen een Airtable-automatiseringsscript.

    DuckDB-handleiding
  10. DuckDB naar Baserow Automatiseringsplatform

    Vul een Baserow-tabel in vanuit DuckDB via het REST-eindpunt — zowel op een zelfgehoste locatie als in de Baserow-cloud.

    DuckDB-handleiding
  11. DuckDB naar SeaTable Automatiseringsplatform

    Houd een SeaTable-database actueel met DuckDB-gegevens zonder een bestand te exporteren of de database openbaar te maken.

    DuckDB-handleiding
  12. DuckDB naar Smartsheet Automatiseringsplatform

    Importeer de DuckDB-resultaten in een Smartsheet-tabel, zodat plannen en rapporten de gegevens uit het bronsysteem lezen en niet uit de export van vorige week.

    DuckDB-handleiding
  13. DuckDB naar Anvil Anvil Works · App-platform

    Ondersteun een Anvil Python-app met DuckDB via het REST-eindpunt in plaats van databasegegevens in de app zelf in te sluiten.

    DuckDB-handleiding
  14. Voor AI-tools
  15. DuckDB MCP-server Claude, Cursor en MCP-klanten

    Geef een AI-assistent alleen-leestoegang tot DuckDB met het schema dat nodig is om correcte SQL-query's te schrijven — geen inloggegevens in de chat.

    DuckDB-handleiding
  16. Bezorgd aan mensen
  17. DuckDB-waarschuwingen en -rapporten Slack · Discord · E-mail · Webhook

    Plan een DuckDB-query in en laat de resultaten naar Slack, Discord, e-mail of een ondertekende webhook verzenden. Of wacht met het verzenden van het bericht totdat een bepaald aantal resultaten, een drempelwaarde of een percentageverandering de door u ingestelde grens overschrijdt.

    Hoe waarschuwingen en rapporten werken

Hoe het werkt

5 stappen, geen wijziging van de inkomende firewall

01

Installeer de netwerkagent op de machine waarop het bestand staat. Er hoeft geen DuckDB-server te worden opgezet en er hoeft geen poort te worden geopend; de engine is ingebouwd in de agent.

02

Wijs het naar een .duckdb-, .db- of .ddb-bestand op de lokale schijf of een gedeelde map die de computer kan bereiken.

03

De agent leest de tabellen en weergaven in het bestand en registreert de kolomtypen, zodat de Query Builder en Nova de structuur kennen voordat u ook maar iets typt.

04

Schrijf de DuckDB SQL-query, of beschrijf wat je wilt en laat Nova het voor je schrijven. Er wordt onderweg niets vertaald.

05

Lees de opgeslagen query uit Microsoft Excel, Google Sheets, Power BI, MCP of REST en koppel deze indien nodig aan uw andere verbindingen.

Diepgaande analyse van de functies

Wat DuckDB je biedt

Een analyseprogramma dat toevallig een bestand is.

DuckDB is kolomgeoriënteerd en gevectoriseerd, wat technisch gezien betekent dat het miljoenen rijen probleemloos op een laptop kan verwerken. Dat maakt het een vreemde, maar nuttige tool om achter een spreadsheet te plaatsen.

  • Geen server, geen service, geen poort. Het bestand is de database en de engine draait in de agent die het uitleest.
  • De aggregatie vindt plaats in DuckDB, op de machine waarop het bestand zich bevindt. Wat over het netwerk wordt verzonden, is het resultaat. — meestal een paar honderd rijen van de een paar honderd miljoen.
  • Het is het natuurlijke eindpunt van een datapipeline: iemand bouwt een .duckdb-bestand van Parquet- of CSV-bestanden, en zo leest de rest van het bedrijf het zonder dat er een datawarehouse aan te pas komt.
  • Zowel weergaven als tabellen worden weergegeven, dus een bestand waarvan de bruikbare inhoud een verzameling samengestelde weergaven is, kan als zodanig worden opgevraagd, en niet als de onbewerkte tabellen.

Uw DuckDB SQL-query is ongewijzigd doorgegeven.

Er is geen vertaallaag op de agent. De tekst die u opslaat, is de tekst die DuckDB ontvangt, waardoor de goede delen van het dialect beschikbaar zijn in plaats van benaderd te worden.

  • GROUP BY ALL en ORDER BY ALL nemen het meeste van het saaie werk uit een analytische zoekopdracht weg.
  • SELECT * EXCLUDE (col) en SELECT * REPLACE (...), voor als je alles wilt behalve die ene kolom die niemand nodig heeft.
  • QUALIFY, zodat een vensterfunctie gefilterd kan worden zonder de hele functie in een subquery te hoeven plaatsen.
  • Volledige vensterfuncties, CTE's en lijstcomprehensies — De eigen dialect van DuckDB, niet een draagbare subset ervan.
-- DuckDB SQL, die de engine exact bereikt zoals geschreven: SELECT * EXCLUDE (internal_id) FROM ( SELECT region, product, sum(amount) AS revenue, internal_id, row_number() OVER (PARTITION BY region ORDER BY sum(amount) DESC) AS rk FROM sales GROUP BY ALL ) QUALIFY rk <= 3 ORDER BY region, revenue DESC

Geneste kolommen worden als JSON aangeleverd.

DuckDB heeft een uitgebreider gegevenstypesysteem dan een spreadsheetcel, dus het is handig om te weten waar elk type gegevens terechtkomt voordat je er een rapport mee opbouwt.

  • De kolommen STRUCT, LIST, MAP en UNION worden als JSON-tekst geretourneerd. — leesbaar, parseerbaar en niet stilletjes afgekapt tot iets onjuists.
  • BLOB-kolommen worden base64-gecodeerd in plaats van verwijderd.
  • Datums, tijdstempels, tijdstempels met tijdzone en decimalen worden ongewijzigd aangeleverd, dus getallen blijven getallen en afrondingsfouten blijven uw verantwoordelijkheid.
  • Alles wat de bestuurder daadwerkelijk niet kan weergeven, wordt als zodanig in de cel aangegeven in plaats van dat het als een lege cel verschijnt die u anders zou moeten opmerken.

Gedeeld door elke databaseconnector

Dit geldt voor elke databaseconnector.

  • Alleen uitgaand — De agent opent één versleutelde verbinding naar Query Streams. Geen inkomende poort om door te sturen, geen VPN, geen IP-whitelist, niets van uw database wordt blootgesteld aan het internet.
  • De inloggegevens blijven behouden. — De gebruikersnaam en het wachtwoord van de database bevinden zich op de machine waarop u de agent hebt geïnstalleerd. Query Streams ontvangt deze gegevens nooit en kan uw database dus niet zelfstandig bereiken.
  • Alleen-lezen, afgedwongen — één instructie tegelijk, alleen SELECT en soortgelijke instructies. Een schrijfbewerking wordt op uw eigen machine geweigerd voordat deze naar de server wordt verzonden, in plaats van te vertrouwen op een machtiging die iemand zich herinnerd heeft te hebben ingesteld.
  • Zet zoveel agents in als u wilt. — één per site, regio of cloud. Alle gegevensbronnen die ze kunnen zien, verschijnen in één enkel dropdownmenu, zodat niemand hoeft te weten welke agent wat host.

Dit is wat je krijgt nadat een query is opgeslagen.

  • Deel de mogelijkheden, niet de SQL-code. — Een collega of externe partner kan uw query uitvoeren en de filters ervan wijzigen zonder ooit de onderliggende instructie te zien.
  • Filters uit beide richtingen — declareer ze zelf als @variabelen, of laat de connector de letterlijke waarden herkennen die al in je WHERE-clausule staan en bied die aan als keuzelijsten.
  • Lees het vanaf elke gewenste locatie. — Microsoft Excel, Google Sheets, Power BI, de REST API, AI-assistenten via MCP, de Query Builder en Nova lezen allemaal dezelfde opgeslagen query.
  • Voer er meerdere tegelijk uit — vijf opgeslagen zoekopdrachten in vijf werkbladtabbladen, die gelijktijdig worden weergegeven, ongeacht de omvang van de resultaten.
  • Verbind het met alles wat je al hebt aangesloten. — een andere database, een zakelijke API of een map met bestanden, in één alleen-lezen instructie.

Cross-source SQL

Voeg DuckDB samen met de rest van je gegevens.

Eén enkele instructie kan tegelijkertijd DuckDB en uw andere verbindingen omvatten. Elke bron voert alleen het deel uit dat het aankan, streamt het resultaat terug en de samenvoeging vindt centraal plaats — de bronnen communiceren nooit met elkaar en er wordt niets gekopieerd.

3 verbindingen · 3 agenten

DuckDB Geïntegreerde analyses
PostgreSQL Relationele engine
Streep Betalingen en facturering

Eén verklaring

-- niets gekopieerd, niets samengevoegd, niets ingepland
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
VAN     analytics.hoofdopdrachten1   f
JOIN     pg_crm.publieke.klanten2 c ON c.id = f.customer_id
JOIN     facturering.stripe.facturen3 i ON i.customer = c.stripe_id
GROEP DOOR c.regio
ORDER BY gefactureerd DESC;

De drie onderdelen zijn de verbinding, het schema en de tabel — en de verbindingsnaam is wat je er zelf aan hebt gegeven. Illustratieve kolommen; je tabellen zullen je eigen tabellen zijn. Alleen-lezen is van toepassing op elk onderdeel: alleen SELECT, WITH en EXPLAIN, met een limiet op hoeveel gegevens een bron mag vrijgeven voor een enkele query. Hoe werken gefedereerde query's?

Verbindingsgegevens

Wat DuckDB nodig heeft

Waar je naar wijst
Een .duckdb-, .db- of .ddb-bestand op de machine waarop de agent draait.
Pad
Een lokaal pad, of een UNC-share die de machine kan bereiken — een lokale schijf is sneller.
Motor
DuckDB 1.4.4 is ingebouwd in de agent. Niets te installeren, starten of actief te houden.
Havens
Niets. Er is geen DuckDB-server bereikbaar, dus er valt niets te openen.
Objecten
Tabellen en weergaven in het bestand
SQL-dialect
DuckDB SQL wordt exact zoals u het schreef aan de database-engine doorgegeven — zonder vertaallaag.
Alleen-lezen
Gecontroleerd voordat de instructie wordt uitgevoerd — alleen SELECT, WITH en soortgelijke functies.
Geneste typen
STRUCT, LIST, MAP en UNION worden geretourneerd als JSON-tekst; BLOB als base64.
Schema
Het standaardschema van DuckDB is 'main', en dat is wat een gefedereerde referentie bevat.

DuckDB komt meestal aan het einde van een pipeline terecht, in plaats van aan het begin. Iemand maakt een bestand van Parquet-exports of een stapel CSV's, brengt het in de juiste vorm voor de vraag, en ontdekt dan dat de mensen die het antwoord nodig hebben, in Microsoft Excel werken. De gebruikelijke volgende stap is het opzetten van een datawarehouse voor iets dat al op een schijf past. Deze connector is het andere alternatief: laat het bestand staan waar het is en laat het spreadsheetprogramma het lezen.

De type-mapping is het onderdeel waar je rekening mee moet houden bij de planning. Een STRUCT of een LIST is echte DuckDB-data zonder spreadsheet-equivalent, dus het wordt weergegeven als JSON-tekst — wat correct en parseerbaar is, maar het is geen getal dat je kunt optellen. Als een geneste kolom het doel van een rapport is, maak deze dan ontleed in de query in plaats van in de bestemming, waar DuckDB dit correct en efficiënt kan doen.

Voor een query die meerdere bronnen combineert, is het standaardschema van DuckDB 'main'. Een verbinding die je 'analytics' noemt en die een datawarehouse-bestand leest, wordt daarom geschreven als analytics.main.sales. En dat is waar het interessant wordt: een analytisch bestand vol historische gegevens, samengevoegd in één statement met de operationele database en de facturerings-API, die nog steeds in ontwikkeling zijn.

Leveranciersdocumentatie: duckdb.org

Veelgestelde vragen

Vragen over DuckDB

Welke tools kunnen DuckDB-gegevens lezen via querystreams?

Alles via één verbinding: Excel, Google Sheets, MCP, REST API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, geplande meldingen en rapporten. Verbind de database één keer en elk apparaat leest dezelfde alleen-lezen verbinding — er is geen configuratie per tool nodig en er wordt geen tweede kopie van de gegevens gemaakt.

Moet ik een firewallpoort openen voor mijn DuckDB-database?

Nee. De Query Streams Network Agent draait binnen uw netwerk en opent één versleutelde uitgaande verbinding. Er wordt niets afgeluisterd voor inkomend verkeer, er is geen VPN nodig en de database behoudt de bestaande firewallregels.

Kunnen querystreams gegevens in DuckDB wijzigen?

Nee. De agent zorgt ervoor dat alleen-lezen is toegestaan tijdens de uitvoering — één instructie tegelijk, alleen SELECT en soortgelijke instructies. De inloggegevens blijven op de agent en worden nooit naar Query Streams verzonden.

Wat heeft Query Streams nodig om verbinding te maken met DuckDB?

Een bereikbare host, een rol en het bijbehorende wachtwoord — de agent bevat het stuurprogramma, dus er wordt niets op de database geïnstalleerd. Waar u naar verwijst: één .duckdb-, .db- of .ddb-bestand op de machine waarop de agent draait. Pad: een lokaal pad of een UNC-share die de machine kan bereiken — een lokale schijf is sneller. Engine: DuckDB 1.4.4, ingebed in de agent. Niets hoeft te worden geïnstalleerd, gestart of actief gehouden. Poorten: geen. Er is geen DuckDB-server om te bereiken, dus er hoeft niets te worden geopend.

Kan ik DuckDB in dezelfde query koppelen aan een andere database?

Ja, dat is een gefedereerde query. Eén statement kan tegelijkertijd verwijzen naar DuckDB en uw andere verbindingen, geschreven als connection.schema.table. Elke bron voert alleen het deel uit dat het aankan en streamt het resultaat terug; de join vindt centraal plaats, waardoor de bronnen nooit met elkaar verbinding maken en er niets wordt gekopieerd of ingepland. Alleen-lezen is van toepassing op elk onderdeel — alleen SELECT, WITH en EXPLAIN — en er is een limiet aan hoeveel gegevens een bron voor een enkele query mag vrijgeven. Gefedereerde queries zijn een functie van het abonnement; op de pagina met gefedereerde queries vindt u de huidige limieten voor bronnen en groottes.

Plaats DuckDB daar waar het werk gebeurt.

Installeer de agent, koppel deze aan uw database en kies een bestemming.

Alleen-lezen Alleen uitgaand De inloggegevens blijven bij de agent.