Skip to content

What an Integration Platform Has to Get Right on MotherDuck

A buyer's guide to putting an integration layer in front of MotherDuck. It covers what enterprise-grade means when the endpoint is an analytical database, the six MotherDuck properties that break naive pipelines, why ATTACH and the database scanners are query federation rather than sync, the checklist to hold a platform to, and how security works around a token-scoped warehouse.

Author
Ruben Burdin · Founder & CEO
Published
July 23, 2026
Read time
10 min read
What an Integration Platform Has to Get Right on MotherDuck
DATA ENGINEERING

MotherDuck is DuckDB with a cloud account attached. You point the same client at it, run the same SQL, and the data sits in a managed service instead of a file on a laptop. That is why it shows up in a stack quickly: an analyst can go from a local prototype to a shared cloud database without switching engines, and nobody has to size a cluster first.

The integration question arrives right behind it. Numbers in the warehouse only matter if the CRM, the ERP, and the support desk can act on them, and the warehouse is only as good as the operational data landing in it. That is a two-way problem from the start, and it is where most teams write an export script on a schedule and then spend the next year maintaining it.

Four things a MotherDuck integration has to get right: token-scoped auth, staged and batched MERGE writes, a change watermark you model yourself, and two-way writes back to the CRM and ERP

This is a guide to what an enterprise integration platform has to handle when MotherDuck is the system in the middle: token auth, columnar write patterns, the change feed that does not exist, and compute shared with the people running dashboards. If you already know the pair you need, go to how to sync Salesforce with MotherDuck or two-way sync between MotherDuck and PostgreSQL. For the connector itself, see the MotherDuck connector announcement.

What an enterprise iPaaS for MotherDuck actually has to do

An integration platform as a service is a hosted layer between your systems that watches for changes and applies them where they belong. You configure it instead of building it. An enterprise iPaaS for MotherDuck is one that treats the warehouse as a first-class endpoint on both sides: it lands operational records from Salesforce, NetSuite, HubSpot, or PostgreSQL into MotherDuck tables continuously, and it pushes warehouse-derived values back out to the systems where people work, with a rule for what happens when the same field moves in two places at once.

The word enterprise is doing real work in that sentence. Almost any tool can copy a table into a warehouse overnight. What separates a platform is how it behaves in the cases that break things: a source API that rate limits you halfway through a load, a schema change on a wide table, a backfill of two hundred million rows, and a reviewer who wants to know which system last wrote a value.

Three layers around MotherDuck: the serverless DuckDB warehouse with its columnar tables, local files, ducklings and tokens, the two-way sync engine, and the business systems that consume and produce the same records
The integration layer is a tier of its own, not a script bolted onto either end.

Drawn as a stack it reads more clearly. Underneath sits MotherDuck with its columnar storage, its service tokens, and its per-user compute. On top sit the operational systems that both produce and consume the same records. In the middle is a sync engine speaking two languages at once: SQL and batched writes on the warehouse side, REST and bulk APIs on the other. When that middle tier is a folder of scheduled scripts, its failure modes become somebody's Monday morning rather than a monitored, retried, logged event.

Why an analytical database raises the bar

DuckDB is an analytical engine: it stores data in columns, executes over them in vectorized batches, and is built to scan a lot of rows fast rather than touch one row at a time. MotherDuck keeps that engine and wraps it in a managed cloud service, which is what makes it pleasant to use and awkward to integrate naively. Six properties matter more than the rest, and the origin story of DuckDB explains where most of them come from.

  • Auth is a token, and the wire is DuckDB's. Connections authenticate with a service token, commonly passed as motherduck_token, on a DuckDB connection string such as md:my_database, not a JDBC URL with a password field. Token scope and rotation become part of the integration design rather than an afterthought.
  • Writes want to be batched, not chatty. Columnar storage makes a single-row UPDATE expensive, because the engine rewrites more than the row you touched. The pattern that holds up is to stage changed records and apply them in one MERGE (or INSERT ... ON CONFLICT). A sync that issues a statement per changed record looks fine on a demo table and falls over on a real load.
  • There is no change feed on the warehouse side. MotherDuck does not hand you a row-level change stream the way Postgres logical replication or a MySQL binary log does. If you need to know what moved in the warehouse since the last run, you model it: an updated_at column maintained on write, a monotonic sequence, or a change table the sync keeps itself. That watermark is a design decision, and it is what homegrown pipelines most often get wrong, usually by reading a column nothing maintains.
  • Compute is isolated per user, so a sync shares the room. Queries run in ducklings, compute instances scoped to a user or a session. The isolation is a feature: one heavy query cannot take out the account. It also means a sync job either burns its own compute or contends with an analyst's, depending on how its token is scoped, and batched writes on a steady cadence behave far better than a fan of parallel workers.
  • Dual execution means the database is in two places. MotherDuck can plan a query in the client's local DuckDB, in the cloud, or split across both, and it can join a local file against a cloud table in one statement. A sync target is therefore not simply a remote endpoint, and a platform that assumes everything lives server-side moves more data than it needs to.
  • ATTACH and the scanners look like sync and are not. DuckDB can attach a Postgres, MySQL, or BigQuery database and query it live. It is useful and it is a read path: no incremental copy, no history, no writes back to the source, and nothing at all for a SaaS API that is not a database to begin with. That distinction deserves its own section, because it is where most MotherDuck integration plans go wrong.

Query federation is not sync

ATTACH 'dbname=app host=db.internal' AS app (TYPE postgres) is one line, and after it you can select from Postgres tables inside a DuckDB query, joined against warehouse tables. For a one-off join or an exploratory read that is the right tool and there is nothing to operate. The trouble starts when it quietly becomes the plan of record.

A federated read runs at query time, so every dashboard refresh reaches into the operational database and puts analytical load on it. There is no materialized copy to fall back on when the source is unavailable, no record of what a value used to be, and no path for something computed in the warehouse to reach the source. The scanners also cover databases only, so the CRM, the ERP, and the billing platform sit outside the model entirely.

ATTACH and the scannersScheduled export or ETLStacksync two-way sync
What it isA live read path into another databaseA copy moved on a scheduleA continuous sync in both directions
FreshnessLive, at query timeAs old as the last runSeconds after the change
Load on the sourceEvery query reaches itOne large scan per runOnly the rows that changed
Writes backNot supportedNot part of the designMapped, validated, and audited
SaaS systemsDatabases onlyA separate job for each1,000+ systems on one engine
HistoryNone, it is a viewWhatever the target keepsEvery write in an audit log
Where it fitsAd hoc joins and explorationReporting that can be a day behindData both sides act on

None of this makes federation a mistake. It makes it a different tool: use ATTACH when a human is exploring, use a sync when a process depends on the answer.

Real-time two-way sync, not a nightly reload

The default plan for getting operational data into MotherDuck is an extract job on a timer. It works right up to the first question it cannot answer: why the account record in Salesforce still shows last week's usage tier, or why the health score an analyst computed this morning never reached the person who would have acted on it.

Two-way sync is a different shape of problem. Both sides can originate a change, so the engine needs origin tracking, otherwise a write it just made comes back as a fresh inbound change and the record bounces. It needs a conflict policy per field for when the same value moves in both places in the same minute. And on MotherDuck it has to turn a stream of individual changes into batched statements without letting latency drift back into hours. The general tradeoff is laid out in real-time sync versus batch ETL.

Topology: a MotherDuck cloud database and local DuckDB files exchanging changed rows and batched write backs with the Stacksync engine, which reads and writes Salesforce, NetSuite, PostgreSQL, and HubSpot on one connection
One engine in front of the warehouse, not one pipeline per destination.

That topology is the part most architecture drawings get wrong. Changes are captured once and fanned out. Adding Snowflake or a second CRM six months later does not disturb the sync you already trust, and when something falls behind there is one place to look instead of four. It is also what makes the warehouse safe to write from: a value computed in MotherDuck reaches the CRM through the same audited path, not a spreadsheet somebody pastes in on Fridays.

The checklist to hold a MotherDuck integration platform to

Every vendor page says real time and two way. These are the questions that separate the ones that mean it, and each is answerable during a trial rather than in a sales call.

  • How does it write to MotherDuck? Staged into a table and applied with one MERGE, or a statement per record. Ask to see the SQL it actually issues.
  • How does it know what changed in the warehouse? A watermark column, a change table it maintains, or a full compare on every run. A full compare is fine at ten thousand rows and useless at five hundred million.
  • Can it write back at all? Reading out of a warehouse is the easy half. Ask to watch a value computed in MotherDuck land on a Salesforce field, with the mapping and the failure handling visible while it happens.
  • What happens on a schema change? Adding a column to a synced table should not require rebuilding the sync, and a type change should raise an alert rather than silently truncate data.
  • How is the token handled? Scope, storage, and rotation. A platform that wants a broadly privileged token pasted into a form and never rotated has answered a different question than the one you asked.
  • What does it do to compute? Ask about write cadence and concurrency. You want to know whether the sync is one steady writer or twenty parallel ones before it is sharing ducklings with the analytics team.
  • What does the audit trail look like? Which system wrote a value, when, and what it replaced. That is what turns an integration from a black box into something a reviewer can sign off on.

Backfill deserves its own conversation. The first load of a large table is a different workload from the steady state that follows, and a platform should run it in bounded chunks, resume after an interruption, and not hold the target table busy while it goes. Ask what happens if one is cancelled halfway through.

Book a Stacksync demo: real-time two-way sync between MotherDuck and your CRM, ERP, and operational databases

Security and compliance around a token-scoped warehouse

MotherDuck gives you encrypted storage, TLS in transit, and service tokens you can scope and revoke. An integration platform should extend that story rather than work around it. If the setup instructions amount to one long-lived token with account-wide privileges, that is the answer to the security question, and it is the wrong one.

Two questions do most of the work in a review. The first is where the data rests. A platform that copies your rows into its own store has added a system to a compliance scope you already drew. Stacksync moves data between the connected systems without parking a copy in the middle, so the answer stays what it was before you added it. The second is who can see what: per-connection credentials, field-level exclusion so a sensitive column never leaves the source, and role-scoped access inside the platform itself.

On the paperwork side, Stacksync holds SOC 2 Type II and ISO 27001, offers a HIPAA BAA, and is GDPR-ready. That covers what procurement asks for; the technical answers above are what a security engineer will push on, so get both in writing before the pilot turns into production.

Where MotherDuck data has to reach, and how to start

In practice a MotherDuck database sits between four kinds of system, and each one wants a slightly different treatment.

The way to test any of this is one pair, in production, for a week. Connect the system your team switches tabs to most, then watch three things: the SQL the platform issues, whether a change made on either side lands on the other in seconds, and what compute looks like while an analyst is working. If all three hold, the rest of the stack is the same work on the same engine.

Stacksync connects MotherDuck to more than 1,000 systems on a single engine, in real time and in both directions, without keeping a copy of your data. See the MotherDuck connector or the DuckDB connector, or book a demo and we will point it at your own database on the call.

Put an enterprise-grade integration layer in front of MotherDuck, real-time and two-way

FAQ

Frequently asked questions

What is an enterprise-grade iPaaS for MotherDuck?
It is a hosted integration platform that treats a MotherDuck database as a first-class endpoint on both sides of a sync. It lands records from Salesforce, NetSuite, HubSpot, or PostgreSQL into MotherDuck tables continuously, it pushes values computed in the warehouse back out to those systems, and it does that inside the properties of an analytical database: token-based auth on DuckDB's own wire, columnar storage that wants batched MERGE statements rather than per-row updates, no native row-level change feed, and compute that is isolated per user. Anything that only copies tables into the warehouse once a night is an extract tool, not an iPaaS.
Does MotherDuck support two-way sync with a CRM or ERP?
Yes, but not through anything the warehouse gives you for free. Writing into MotherDuck is ordinary SQL, so a platform can stage changed records and apply them with a single MERGE. Reading changes back out is the part you have to design, because MotherDuck does not emit a row-level change stream the way Postgres logical replication or a MySQL binary log does. A sync engine models that with an updated_at watermark, a sequence, or a change table it maintains itself, then applies a per-field conflict policy and origin tracking so a write it just made does not come back as a fresh inbound change.
Is DuckDB's ATTACH with the Postgres scanner the same as syncing?
No. ATTACH plus the postgres, mysql, or bigquery scanners give you a live read path into another database from inside a DuckDB query. It is genuinely useful for ad hoc joins and exploration, and there is nothing to operate. It is not a sync: there is no materialized incremental copy, no history of what a value used to be, no way for a change made in the warehouse to reach the source, and no coverage at all for SaaS systems like Salesforce or NetSuite that are APIs rather than databases. Federation answers a question at query time; a sync keeps two systems agreeing between queries.
How should an integration platform write to MotherDuck?
In batches. Columnar storage makes a single-row UPDATE expensive because the engine rewrites more than the row you touched, so the pattern that holds up is to stage changed records in a temporary or staging table and then apply them in one MERGE or INSERT ... ON CONFLICT against the target. A platform that issues one statement per changed record will look fine on a demo table and fall over on a real load. Ask a vendor to show you the SQL it actually issues before you sign anything.
How does MotherDuck compute isolation affect a sync job?
MotherDuck runs queries in ducklings, compute instances scoped to a user or a session. That isolation keeps one bad query from taking out the account, and it also means a sync job either burns its own compute or shares an analyst's, depending on how its token is scoped. A steady, batched writer on a predictable cadence behaves far better than a fan of parallel workers, because the write pattern is what decides whether a dashboard query slows down while a backfill is running.
Is Stacksync SOC 2 compliant, and does it store my MotherDuck data?
Stacksync holds SOC 2 Type II and ISO 27001, offers a HIPAA BAA, and is GDPR-ready. It does not park a copy of your records in a middleman: data moves between the connected systems, encrypted in transit, and every write is recorded in an audit log. That matters for a warehouse specifically, because a platform that copies your rows into its own store adds a system to a compliance scope you already drew around the account and its tokens.

About the author

Ruben Burdin
Ruben Burdin
Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

All posts by Ruben Burdin

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Coworkers laughing in front of a laptop in a casual office setting

Your last integration took months.
Your next one takes a prompt.