The short answer: A Fivetran to Meltano migration means rebuilding each Fivetran connector as a Meltano pipeline, running both side by side with Mirror Mode until the data matches, then pointing your dbt models at the new tables and switching Fivetran off. Your warehouse stays the same. Your dbt project stays too, though models built on Fivetran’s own dbt packages need some rework. What changes is how you pay, and who’s in control.
Why are teams migrating away from Fivetran?
Most conversations I have with Heads of Data start with price but they rarely end there..
Row-based pricing punishes growth. Fivetran charges on monthly active rows (MAR). The more your business grows, the more rows you move, and the more you pay, whether or not that data is worth more to you. In 2025, Fivetran also changed how MAR discounts are calculated, moving from account-wide to per-connection. Plenty of teams saw their bills rise without changing a thing.
Git is optional, and bolted on. Fivetran runs from a UI by default. You can manage it as code with its Terraform provider, but that’s a separate tool with its own state file, sitting alongside a UI where anyone with access can still change a live pipeline. It’s extra work to set up and keep in sync. In Meltano, the Git repo is the config. There’s no second place for changes to happen.
Connector updates arrive when Fivetran decides. If an update changes a schema or breaks a sync, you find out when your dashboards do.
Support runs on tickets. When a pipeline breaks at 8am and the board pack is due at 10am, a ticket queue isn’t what you need.
The market is consolidating around it. Fivetran and dbt Labs completed their merger in June 2026, putting ingestion and transformation under one company. That doesn’t break anything toda but if you care about keeping your stack independent, it’s worth thinking about where each layer lives.
What changes when you move to Meltano?
You pay for compute, not rows. Meltano prices on compute hours. Move a billion rows efficiently and you pay for the time it took, not a penalty for the volume. For high-volume sources like clickstream or ad platform data, that works out as much as 90% cheaper than Fivetran.
Your pipelines live in code you own. Every Meltano workspace is a Git repository. Pipelines, config and schedules are version-controlled, reviewed, and promoted through dev, staging and production like any other code. Here’s what a pipeline looks like:
# meltano.yml
plugins:
extractors:
– name: tap-salesforce
variant: meltanolabs
config:
start_date: “2024-01-01”
select:
– Account.*
– Opportunity.*
loaders:
– name: target-snowflake
variant: meltanolabs
config:
database: RAW
default_target_schema: salesforce
That’s readable, reviewable, and yours. If you ever want to leave us, you take it with you.
You choose when connectors change. Connector versions are pinned in your project. You upgrade when you’ve tested it, not when a vendor pushes it.
You talk to engineers, not a ticket queue. Our customers get direct Slack access to the engineers who build the platform.
You run it where you want. Meltano Cloud, a bring-your-own-cloud setup where data processing stays in your environment, or fully self-hosted. Same engine, same connectors, same code.
How does a Fivetran to Meltano migration work?
Here’s the process we run with every team moving off Fivetran.
1. Audit your Fivetran connectors. List every connection, its sync frequency, its rough volume, and which dbt models depend on it. Note whether any of those models come from Fivetran’s dbt packages, because that changes step 5. Then map each one to a connector on Meltano Hub, which covers 600+ sources and destinations. If something’s missing or not good enough, we build it.
2. Stand up your Meltano workspace. This takes minutes, not weeks. The platform creates the infrastructure and the Git repository for you, so your team starts on pipelines rather than plumbing.
3. Turn on Mirror Mode. Mirror Mode runs your new Meltano pipelines in parallel with Fivetran, loading into a separate schema. Fivetran keeps serving production. Nothing your stakeholders rely on changes yet.
4. Validate the data. Compare row counts, freshness and key fields between the two schemas. One thing to expect: the metadata columns differ. Fivetran adds columns like _fivetran_synced and _fivetran_deleted. Meltano’s loaders add _sdc_extracted_at and _sdc_deleted_at. Any dbt model that filters on those needs a small update.
5. Repoint your dbt sources. If you wrote your own staging models on top of Fivetran’s tables, this is usually the smallest step. It’s a change to your source definitions rather than a rewrite of your models:
# models/staging/salesforce/_sources.yml
sources:
– name: salesforce
database: RAW
schema: salesforce # was: fivetran_salesforce
tables:
– name: account
– name: opportunity
If you use Fivetran’s dbt packages, plan for more than a repoint. Packages like fivetran/salesforce and fivetran/hubspot are built for data loaded by Fivetran’s connectors. They expect Fivetran’s table names, its reshaped columns, and fields like _fivetran_deleted and _fivetran_synced. Here’s the catch: point them at Meltano-loaded tables and they can run without a single error while returning the wrong numbers, because missing columns get quietly filled with nulls.
There are three ways forward:
- Add a shim layer. Thin views that reshape Meltano’s tables into the shape the package expects. Quickest to set up, but you’re maintaining a mapping against a package Fivetran controls.
- Copy the models into your project. Swap the Fivetran-specific logic for your own and drop the dependency. More work up front, cleaner long term.
- Replace them with staging models you own. Often the best option if you only use a handful of the package’s models.
We’ll look at which packages you rely on during the audit and tell you which route fits. Mirror Mode is what makes this safe: you compare the package outputs on both sides before anyone downstream sees a number change.
6. Cut over and switch Fivetran off. Move connector by connector, not all at once. Once each one is validated and running in production, pause it in Fivetran. When the last one is across, you’re done.
When should you start a Fivetran migration?
Before your renewal notice period, not after it.
Mirror Mode takes the risk out of the migration, but it needs time to prove the data matches. Starting early means you negotiate your renewal from a position of choice, and you’re never forced into a rushed cutover or another year you didn’t want.
What does a Fivetran migration look like in practice?
MVF moved 1B+ rows a year across 60+ sources to Meltano. The results:
- 7x cheaper than their renewal quote, an 86% cost reduction
- Zero downtime during the migration, thanks to Mirror Mode
- Up to 4x faster pipelines, with their Bing Ads sync dropping from 1.8 hours to 30 minutes
- Same-day issue resolution, replacing four-day ticket cycles
- Two days of monthly maintenance eliminated, giving analysts their time back
As Andonis Pavlidis, Head of Data at MVF, put it: “We went to Meltano for a migration. We ended up with an improvement of our stack.”
Frequently asked questions
How long does a Fivetran migration take?
It depends on how many connectors you run and how many are custom. Because Mirror Mode runs both systems in parallel, you set the pace. There’s no big-bang weekend where everything has to work first time.
Do I need to rewrite my dbt models to migrate from Fivetran?
Not if you wrote your own staging models. You update your source definitions to point at the new schema and adjust anything that references Fivetran’s metadata columns. Your business logic stays as it is.
Can I keep using Fivetran’s dbt packages after moving to Meltano?
Not as a straight swap. The packages expect Fivetran’s schema, so pointed at Meltano-loaded tables they can run cleanly and still give wrong results. You can add a shim layer, copy the models into your project, or replace them with your own staging models. Mirror Mode lets you check the outputs match before you cut over.
Will I lose my historical data?
No. Data Fivetran has already loaded stays in your warehouse. Meltano either backfills from the source or picks up incrementally from a start date you choose.
What if Meltano doesn’t have a connector I use in Fivetran?
Meltano Hub covers 600+ sources and destinations. If a connector is missing or not robust enough, we build one, or your team can build it with the Meltano SDK.
Is Meltano cheaper than Fivetran?
For most teams, yes, and the gap widens as volume grows. Meltano charges for compute, not rows, so high-volume sources are where the difference is biggest. You can check your own numbers with the pricing calculator.
Can I migrate from Fivetran without downtime?
Yes. Mirror Mode keeps Fivetran running in production while Meltano runs alongside it. You only cut over once the data matches. MVF migrated 60+ sources with zero downtime.
See what your Fivetran migration would save
Put your current volumes into our pricing calculator and see what you’d pay on Meltano. It takes two minutes.
Want to talk through your connectors first? Book a migration call and we’ll map it out with you.
Worried the switch will be a bigger job than it’s worth? Read Switching from Fivetran is Easier than you think.
