
Real-time data ingestion has no universal per-GB price. Vendors meter different things: the gigabytes they move, the distinct rows that change, the change events they load, the credits a sync consumes, the compute they keep running, or the connectors you operate. The number that matters is the total monthly cost of a defined workload:
Monthly cost = ingestion service + connector or capacity fees + destination processing + storage and network + engineering operations
One-time costs, such as the initial backfill, sit beside that figure. Compare vendors only on identical assumptions about volume, distinct keys, destinations, and freshness. In the three scenarios below, among options that can meet each scenario's freshness requirement, the most expensive monthly total is about two to six times the cheapest. Which billing model costs least depends on distinct keys, destinations, and freshness.
How much does real-time data ingestion cost?
In Scenario A below, one PostgreSQL database feeding one BigQuery dataset, vendor charges at list prices run from $250 to $1,834 a month, and totals with destination compute and engineering time from $718 to $4,569. The vendor charges differ because each meters a different unit. Mostly new rows are cheap on a per-GB meter and expensive on a MAR meter, and rows updated all day reverse that. Destination compute and engineering time can exceed the vendor's own charge.
Measure these before you ask for a quote:
- Change volume per month, in GB, as the pipeline will read it
- Distinct keys touched per month, and how many times each one changes
- Number of sources and destinations, and which destinations need which tables
- The size of the initial history to backfill
- Freshness required at each destination
- How your warehouse bills for loads and merges
- The engineering hours you expect to spend operating the pipeline
Key Findings From Our Real-Time Data Ingestion Cost Comparison
Our comparison of Estuary, Fivetran, Airbyte, Hevo, and self-managed pipelines across three illustrative workloads found:
- Pricing models can produce very different bills for the same workload. Vendor charges depend on whether data is measured by GB, monthly active rows (MAR), events, credits, or running infrastructure.
- Per-GB pricing can be more economical for append-heavy workloads. In our PostgreSQL-to-BigQuery scenario with 50 GB of monthly changes, Estuary had the lowest modeled monthly total at $718, including destination processing and engineering costs.
- MAR pricing can benefit workloads with frequent updates to the same records. In our high-churn scenario, Fivetran's modeled monthly total was $3,322, compared with Estuary's $3,626, although the modeled Fivetran configuration did not meet the scenario's sub-minute freshness requirement.
- Multiple destinations can significantly change the cost comparison. In our three-destination scenario, Estuary's modeled monthly total was $2,904, compared with $11,799 for Fivetran Standard.
- Total cost goes beyond the ingestion service. Destination processing, network charges, backfills, and engineering time can materially affect the final bill.
These are illustrative estimates based on published pricing and stated workload assumptions, not measured customer benchmarks. Actual costs depend on your data characteristics, configuration, and usage.
What drives the cost?
A change event is one insert, update or delete, and a distinct key is one row, however often it changes. Ten thousand updates to one order row are ten thousand events and one distinct key. Per-GB and per-event meters bill the events. Monthly active row (MAR) meters bill the distinct keys. For a closer look at how distinct rows affect vendor bills, see our guide to Fivetran's MAR pricing model.
Per-GB meters bill the serialized form of each change the pipeline reads, which can differ from the size of the row at rest. Airbyte says its serialized records are "likely to be a larger representation of your data than you would see if you were to query your database directly". Measure bytes in a trial rather than estimating them from table sizes.
A higher update rate adds events and bytes. Running syncs more often doesn't change a log-based pipeline's event count, but it changes what the warehouse does: each apply is a load and usually a MERGE.
Some vendors bill each source-to-destination pair as its own connection with its own pricing curve. Others bill each delivery as another pass over the data. Adding a destination is rarely free under either model.
The initial load of history is free on some plans and billed like any other data on others. Each vendor also sets its own rules for billing a re-sync after a failure or a schema change.
A retried sync may be billed again. Fivetran documents that it counts a row "once per month, even if it syncs multiple times", so a retry adds no MAR for keys already counted. Airbyte publishes no retry rule, and its database metering counts "the data volume observed by the Airbyte Platform during the sync." Estuary doesn't bill a failed transaction; a deliberate replay is a materialization backfill that re-reads the whole collection, and it's billed in full.
Capacity-priced services bill for hours whether data moves or not. Amazon MSK Serverless lists $0.75 per cluster-hour, about $548 a month before any data (Amazon MSK pricing, us-east-1, checked 2026-10-16).
Storing change history, moving bytes between clouds and regions, and the people who keep the pipeline running are all part of the total. Most of it lands on your cloud bill or payroll rather than the ingestion vendor's invoice.
Data ingestion pricing models compared
The table compares seven data integration pricing models. Example vendors appear only where their own pricing page confirms the model. All rates are official published list rates, on demand, checked 2026-10-16.
| Model | Metered unit | Which workload inputs matter | Advantage | Cost surprise or caveat | Example vendor | Source and checked date |
|---|---|---|---|---|---|---|
| Per GB, per leg | GB counted at capture and again at each delivery | Change volume, number of destinations, backfill size | Distinct-key counts don't matter; cost tracks bytes | Every change event is billed, so high churn on few rows costs more; each destination adds a leg | Estuary: $0.50 per GB, plus connector instances | estuary.dev/pricing, 2026-10-16 |
| Monthly active rows | Distinct primary keys with an insert, update or delete, per connection, per table, per month | Distinct keys, number of connections, destinations | Repeated updates to one key in a month count once | Many distinct keys cost more; each destination is a separate connection with its own curve; History Mode tables bill every version | Fivetran: Standard $5 base plus $495 per million MAR to 1M, falling to $1.18 per million above 1B | Service Consumption Table V.10, effective 2026-02-01, checked 2026-10-16 |
| Credits by source type | 4 credits per GB for database and file sources, 6 credits per million rows for APIs | Serialized volume, number of connections, backfills | Small volumes cost little; plans scale in packages | Serialized size can exceed table size; initial snapshots have no published exemption | Airbyte: Standard $20 a month with 5 credits, extra credits $5 | airbyte.com/pricing, 2026-10-16 |
| Events | Each record inserted, updated or deleted in the destination | Total change events, destinations | Plans are fixed monthly tiers | Every update is an event, so churn costs more; volumes above the largest tier need a quote | Hevo: Starter from $299 a month for 5M events | hevodata.com/pricing, 2026-10-16 |
| Compute or capacity | Instance-hours, DPU-hours, eCKU-hours, or capacity units | Hours running, size of the job | Predictable when the pipeline runs at a steady size | Idle hours still bill; a continuous job bills every hour of the month | AWS DMS Serverless: $0.0819 per DCU-hour | AWS DMS pricing, us-east-1, 2026-10-16 |
| Connector fee plus usage | A fee per running source or destination, plus a volume charge | Connector count, runtime hours | Few high-volume pipelines carry little fixed cost | Many small sources each pay the fee | Estuary: $100 per connector instance per month for the first six, $50 after, prorated hourly | estuary.dev/pricing, 2026-10-16 |
| Self-managed infrastructure | Your own servers, storage and network | Throughput, retention, high availability, staff hours | No license fee | Engineering time is the largest line of the self-managed total in all three scenarios below, and it grows with the number of pipelines | Debezium with Kafka on Amazon MSK: kafka.m7g.large brokers at $0.204 per broker-hour | Amazon MSK pricing, us-east-1, 2026-10-16 |
Why the same workload can cost differently
High churn on a few keys versus many distinct keys
Take a pipeline that moves 250 GB of change data a month. If those changes are 125 million updates to 500,000 rows, a MAR meter counts 500,000. If they're 125 million new rows, it counts 125 million. A per-GB meter charges the same for both. At a 2 KB average change event, a one-source, one-destination pipeline on Estuary's list rates costs $2 per million change events across its two legs. Fivetran's Standard curve charges $495 per million MAR up to 1 million, $170 per million from 1 to 4 million, $58 to 16 million and $19.70 to 64 million. Dividing Fivetran's rate by Estuary's $2 gives a break-even near 250 updates per key a month in the first tier, 85 in the second, 29 in the third and about 10 in the fourth. Above that many updates per key, MAR costs less at the margin. Below it, per GB does. Connector fees and Fivetran's $5 base per connection sit outside this comparison.
For more context on how MAR billing rules affect cost predictability, read our analysis of MAR pricing and cost transparency.
Large rows versus small rows
Per-GB meters scale with row size, and MAR doesn't. Doubling the average change event from 2 KB to 4 KB doubles a per-GB data charge and leaves a MAR bill unchanged. Wide rows with large text or JSON columns lower the break-even, so MAR costs less at fewer updates per key.
One destination versus several
Estuary reads each source once and bills each delivery as another leg, so a third destination adds one more pass over the data and one more connector instance. Fivetran counts each destination as a separate connection: "Each connection will incur MAR independently". Airbyte meters each sync of each source-to-destination connection. Its docs don't state a fan-out rule, so about three times the credits for three destinations is an inference from how it defines connections and metering.
Three realistic monthly cost scenarios
The three workloads below are illustrative profiles, not measured customer workloads or vendor quotes. Each figure is an illustrative estimate computed from official published rates, checked 2026-10-16, and the stated assumptions.
Monthly totals by option, modeled lines (service charge, egress, destination processing and engineering time):
| Scenario | Workload | Estuary (per GB) | Fivetran (MAR) | Airbyte (credits) | Hevo (events) | Self-managed |
|---|---|---|---|---|---|---|
| A. Low-churn analytics | 1 PostgreSQL source to BigQuery, 50 GB a month, mostly new rows, hourly | $718 | $2,302 | $1,417 | $1,417 | $4,569 |
| B. High-churn operational data | 3 sources to Snowflake, 250 GB a month, 500,000 keys updated about 250 times each, sub-minute | $3,626 | $3,322 at 1 minute; doesn't meet sub-minute | $6,175 at 15 minutes; doesn't meet sub-minute | Custom quote | $8,557 |
| C. Multi-source, multi-destination | 5 sources to Snowflake, BigQuery and Databricks, 250 GB captured, 1 TB of billed volume | $2,904 | $11,799 | $9,248 | Custom quote | $9,427 |
What decides each result:
- Scenario A: Almost every change is a new row, so per-GB pricing costs least. Connector fees are most of Estuary's charge.
- Scenario B: Of the options with a published price, only Estuary and self-managed support continuous delivery. If 1-minute freshness is acceptable, MAR pricing costs least. The $2,190 warehouse line is the highest cost.
- Scenario C: Three destinations triple per-connection bills. Below about 150,000 distinct keys per source, MAR pricing costs less than per-GB pricing.
Assumptions used across the scenarios:
- "Transferred" means change volume captured: the GB of change events a pipeline reads from the sources in a month. On Estuary, billed volume (the GB that's metered) is the change volume plus one more pass for each destination.
- Destination processing is modeled once per scenario, at the stated cadence, and applied to every option. Each tool applies changes differently, so this line is a shared assumption, not a measured equivalence. Warehouse rates come from Snowflake's Service Consumption Table (effective 2026-10-15), BigQuery pricing and Azure Databricks pricing.
- Every per-GB and credit meter is charged on the same 2 KB average change event; each vendor serializes data differently, so measured sizes may change the comparison. Estuary's connector instances are priced at the published $100 a month for the first six and $50 after (billed hourly at $0.14, a 730-hour month is $102.20 per instance).
- Egress is charged at AWS's $0.09 per GB internet rate on every byte that leaves AWS, with the account's 100 GB monthly free transfer assumed used elsewhere: each read of the source by a hosted service, once per connection, and each delivery from a self-managed pipeline to a destination outside AWS. AWS rates come from the Amazon MSK, Amazon EC2 and data transfer and AWS DMS pricing pages, us-east-1.
- The engineering rate is $95.44 an hour, the May 2025 median wage for software developers ($135,980, BLS) divided by wages' 68.5% share of total compensation for full-time private-industry workers (BLS), over 2,080 hours. The engineering hours are assumptions with no published benchmark.
- Self-managed Kafka storage is billed on provisioned capacity, which can be increased but not decreased on Amazon MSK Standard brokers. Each initial snapshot goes through Kafka, as Debezium does by default, so each broker is sized for one replica of the snapshot plus 2.5 times steady-state retention. Shortening retention during the snapshot, or loading history outside Kafka, needs less capacity and its own consistency handling.
- 12-month total = 12 × (service charge + egress + destination processing + engineering time) + one-time backfill. It excludes destination and staging storage, onboarding, the warehouse cost of loading each backfill, annual-contract discounts, taxes, enterprise and private-deployment pricing, and support beyond each plan's included support. Fivetran's annual contracts discount 5% to 22.6% and more on Standard, and Estuary's annual plans offer volume discounts it doesn't publish.
Scenario A: low-churn analytics
| Input | Value |
|---|---|
| Sources and destinations | 1 PostgreSQL database (AWS us-east-1) to 1 BigQuery dataset (US) |
| Change volume captured | 50 GB a month |
| Average change event | 2 KB, so 25 million events a month |
| Distinct keys touched | 22.5 million a month (mostly new rows; about 1.1 changes per key) |
| Data sent to the destination | 50 GB a month |
| Initial history to backfill | 500 GB, one time |
| Freshness | Hourly; batch is acceptable |
| Connector instances and runtime | 2 (one source, one destination), running all month |
| Destination processing | 720 hourly MERGE runs, each scanning 20 GiB, on-demand: $81.64 a month |
| Engineering time | 4 hours a month managed, 40 self-managed |
| Option (model) | Service charge per month | Monthly total, modeled lines | One-time backfill | 12-month total, modeled lines |
|---|---|---|---|---|
| Estuary (per GB + instances) | $250 ($50 for 100 GB of billed volume, $200 for 2 instances) | $718 | $545 ($45 if run inside the 30-day trial) | $9,160 |
| Fivetran Standard (MAR) | $1,834 (22.5M MAR on one connection) | $2,302 | $45 (initial sync is free; egress only) | $27,668 |
| Airbyte Plus, 100 credits (credits) | $949 (200 credits) | $1,417 | $4,595 | $21,598 |
| Hevo Starter (events) | $949 (50M-event tier) | $1,417 | $45 (historical load free on Standard pipelines) | $17,048 |
| Self-managed Debezium + Kafka on MSK | $665 infrastructure | $4,569 | $45 | $54,873 |
Formulas (list rates, 2026-10-16):
- Estuary: 50 GB × 2 legs × $0.50 + 2 instances × $100 = $250
- Fivetran Standard: $1,706 base at 16M MAR + (22.5M − 16M) × $19.70 per million = $1,834.05
- Airbyte Plus: 50 GB × 4 credits = 200 credits; the 100-credit package ($449) plus 100 credits of overage at $5 = $949
- Hevo Starter: 25 million events falls in the 50M-event tier, $949
- Self-managed: 3 brokers × $0.204 × 730 hours ($446.76) + provisioned storage of 3 brokers × 530 GB × $0.10 ($159; 30 GB for steady-state retention with headroom, plus each broker's 500 GB replica of the snapshot) + 1 Connect host × $0.0816 × 730 hours ($59.57) = $665.33
- Shared lines: BigQuery 720 × 20 GiB = 14.06 TiB, less the free 1 TiB, × $6.25 = $81.64; egress 50 GB × $0.09 = $4.50; engineering 4 hours × $95.44 = $382 managed, 40 hours = $3,818 self-managed
- Backfill: Estuary 500 GB × 2 legs × $0.50 + 500 GB × $0.09 egress = $545; Airbyte adds 2,000 credits that month, so the 2,000-credit package ($4,999) plus 200 credits at $2.50 replaces the usual $949, plus $45 egress = $4,595
Every option meets hourly freshness. Fixed charges dominate Estuary's bill at this size: $200 of the $250 is connector instances. The MAR bill is high here because almost every change is a new row, so distinct keys track events. Sync cadence sets the BigQuery line: hourly applies cost $81.64 under these assumptions, and applying every minute would run 60 times as many MERGE scans.
Scenario B: high-churn operational data
| Input | Value |
|---|---|
| Sources and destinations | 3 databases (two PostgreSQL, one MySQL, AWS us-east-1) to 1 Snowflake account (Enterprise, AWS US East) |
| Change volume captured | 250 GB a month (150, 60 and 40 GB) |
| Average change event | 2 KB, so 125 million events a month |
| Distinct keys touched | 500,000 a month (300,000, 150,000 and 50,000), about 250 updates per key |
| Data sent to the destination | 250 GB a month |
| Initial history to backfill | 100 GB, one time |
| Freshness | Sub-minute |
| Connector instances and runtime | 4 (three sources, one destination), running all month |
| Destination processing | An X-Small warehouse kept running by sub-minute applies: 730 hours at 1 credit and $3.00 per credit, $2,190 a month |
| Engineering time | 8 hours a month managed, 60 self-managed |
| Option (model) | Service charge per month | Monthly total, modeled lines | One-time backfill | 12-month total, modeled lines | Fastest published delivery |
|---|---|---|---|---|---|
| Estuary (per GB + instances) | $650 ($250 for 500 GB of billed volume, $400 for 4 instances) | $3,626 | $109 ($9 if run inside the 30-day trial) | $43,621 | Continuous apply (sync schedule 0); latency then depends on the warehouse |
| Fivetran Enterprise (MAR), reference only | $346 (three connections) | $3,322 | $9 | $39,871 | Every minute: doesn't meet sub-minute. Priced at 1 minute for reference |
| Airbyte Plus, 1,000 credits (credits), reference only | $3,199 | $6,175 | $1,509 | $75,609 | Every 15 minutes on Plus: doesn't meet sub-minute. Pro and Enterprise Flex (5 minutes) are a custom quote |
| Hevo (events) | Custom quote: 125 million events exceeds the largest published tier, and continuous loading needs streaming Pipelines, which Hevo Sales enables | Custom quote | Custom quote | Custom quote | Continuous with streaming Pipelines |
| Confluent Cloud V2 CDC connectors | Custom quote ("Contact us") | Custom quote | Custom quote | Custom quote | Not published |
| Self-managed Debezium + Kafka on MSK | $641 infrastructure | $8,557 | $0 (same region; no egress) | $102,686 | Continuous, with a Snowpipe Streaming sink |
Formulas (list rates, 2026-10-16):
- Estuary: 250 GB × 2 legs × $0.50 + 4 instances × $100 = $650
- Fivetran Enterprise: Per connection $5 + MAR × $661.67 per million: 300,000 MAR = $203.50, 150,000 = $104.25, 50,000 = $38.08, total $345.83
- Airbyte Plus: 250 GB × 4 credits = 1,000 credits, the 1,000-credit package, $3,199
- Self-managed: 3 brokers ($446.76) + provisioned storage of 3 brokers × 250 GB × $0.10 ($75; 150 GB for steady-state retention with headroom, plus 100 GB for the snapshot) + 2 Connect hosts ($119.14) = $640.90
- Shared lines: Snowflake 730 hours × 1 credit × $3.00 = $2,190; egress 250 GB × $0.09 = $22.50; engineering 8 hours × $95.44 = $764 managed, 60 hours = $5,726 self-managed
- Backfill: Estuary 100 GB × 2 legs × $0.50 + $9 egress = $109; Fivetran $9 egress; Airbyte adds 400 credits, so the 1,000-credit package plus 400 credits at $3.75 ($4,699) replaces $3,199, plus $9 egress = $1,509
Of the options with a published price, Estuary and the self-managed pipeline support continuous delivery; verify sub-minute freshness with the intended warehouse and apply workload before relying on either. If 1-minute freshness is acceptable, Fivetran Enterprise has the lowest service charge and modeled total. At about 250 updates per key, the per-GB and MAR meters charge similar amounts for the data ($250 on Estuary, $346 on Fivetran), and Estuary's four connector instances add $400. Above about 1 million distinct keys, Estuary's charge is the lower one. The warehouse line, $2,190 a month, is more than three times Estuary's charge and six times Fivetran's, because sub-minute applies keep the warehouse running.
Scenario C: multi-source, multi-destination
| Input | Value |
|---|---|
| Sources and destinations | 5 databases (AWS us-east-1) to 3 destinations: Snowflake (Enterprise, AWS US East), BigQuery (US), Databricks (Azure East US, Premium) |
| Change volume captured | 250 GB a month (50 GB per source) |
| Data sent to each destination | 250 GB a month: every destination receives every table |
| Billed volume, defined | 1 TB a month: 250 GB captured plus 750 GB delivered |
| Average change event | 2 KB, so 125 million events a month captured |
| Distinct keys touched | 2 million per source, 10 million in total, about 12.5 updates per key |
| Initial history to backfill | 2 TB, one time |
| Freshness | Snowflake every 15 minutes, BigQuery hourly, Databricks daily |
| Connector instances and runtime | 8 (five sources, three destinations), running all month |
| Destination processing | Snowflake 96 applies a day at 2 billed minutes ($288), BigQuery hourly MERGE scanning 50 GiB ($213.48), Databricks Serverless SQL 2X-Small for 15 minutes a day plus the 10-minute auto-stop ($35): $536.48 a month |
| Engineering time | 12 hours a month managed, 80 self-managed |
| Option (model) | Service charge per month | Monthly total, modeled lines | One-time backfill | 12-month total, modeled lines |
|---|---|---|---|---|
| Estuary (per GB + instances) | $1,200 ($500 for 1 TB of billed volume, $700 for 8 instances) | $2,904 | $4,180 ($180 if run inside the 30-day trial) | $39,031 |
| Fivetran Standard (MAR) | $10,050 (15 connections at 2M MAR each) | $11,799 | $540 | $142,131 |
| Airbyte Plus, 2,000 credits | $7,499 (3,000 credits, inferred fan-out) | $9,248 | $60,540 | $171,519 |
| Hevo (events) | Custom quote: 375 million events a month exceeds the largest published tier | Custom quote | Custom quote | Custom quote |
| Self-managed Debezium + Kafka on MSK | $1,211 infrastructure | $9,427 | $360 | $113,489 |
Formulas (list rates, 2026-10-16):
- Estuary: (250 GB captured + 3 × 250 GB delivered) × $0.50 + 6 instances × $100 + 2 instances × $50 = $1,200
- Fivetran Standard: 15 connections × ($500 base at 1M MAR + 1M × $170 per million) = 15 × $670 = $10,050
- Airbyte Plus: 250 GB × 3 destinations × 4 credits = 3,000 credits; the 2,000-credit package ($4,999) plus 1,000 credits at $2.50 = $7,499
- Hevo: 125 million events × 3 destinations = 375 million events a month, above the 100M-event tier
- Self-managed: 3 brokers ($446.76) + provisioned storage of 3 brokers × 2,150 GB × $0.10 ($645; 150 GB for steady-state retention with headroom, plus 2,000 GB for the snapshot) + 2 Connect hosts ($119.14) = $1,210.90, plus 250 GB × 2 destinations outside AWS (BigQuery and Databricks) × $0.09 egress = $45
- Shared lines: Snowflake 96 applies × 2 minutes × 30 days = 96 hours × 1 credit × $3.00 = $288; BigQuery 720 × 50 GiB = 35.16 TiB, less 1 TiB free, × $6.25 = $213.48; Databricks (15 + 10) minutes × 30 days = 12.5 hours × 4 DBU × $0.70 = $35; egress 250 GB × $0.09 = $22.50 for Estuary, whose single capture reads each source once, and $67.50 for Fivetran and Airbyte, whose three connections per source each read it; engineering 12 hours × $95.44 = $1,145 managed, 80 hours = $7,635 self-managed
- Backfill: Estuary 2,000 GB × 4 legs × $0.50 + $180 egress = $4,180; Fivetran 2,000 GB × 3 connections × $0.09 egress = $540; self-managed 2,000 GB × 2 destinations outside AWS × $0.09 = $360; Airbyte adds 24,000 credits, so the 2,000-credit package plus 25,000 credits at $2.50 ($67,499) replaces $7,499, plus 2,000 GB × 3 × $0.09 egress = $60,540
A per-connection MAR model counts each source once per destination, so three destinations triple the MAR bill: 15 connections at $670 each. Per-leg billing also grows with each destination, by one more pass over the data and one more connector instance. Here a fourth destination would add $175 a month on Estuary ($125 of data and a $50 instance), $3,350 on Fivetran (five more connections) and $2,500 on Airbyte. At 100,000 distinct keys per source the Fivetran Standard charge falls to $817, below Estuary's $1,200, and at 250,000 it's $1,931. Every option with a published price meets the freshness requirement, though a destination needing updates faster than every 15 minutes would move Fivetran to Enterprise and Airbyte to a quote.
What costs are missing from vendor quotes?
Check which of these costs a quote includes and which are billed separately:
- The warehouse bills for loads and merges. Snowflake bills at least 60 seconds of warehouse time on every resume of a standard warehouse. Databricks SQL warehouses bill until auto-stop, which defaults to 45 minutes on pro and classic and 10 minutes on serverless, and "Idle SQL warehouses continue to accumulate DBU and cloud instance charges until they are stopped". BigQuery's batch loads are free, but each MERGE is billed on the bytes it scans. For Snowflake in detail, see the hidden costs of Snowflake ingestion and how to reduce Snowflake ingestion costs.
- Each vendor treats the initial load differently. Fivetran doesn't bill initial syncs. Estuary bills a new pipeline's initial backfill at capture and at each delivery after its 30-day trial. Airbyte publishes no exemption for initial snapshots. On paid pricing, Scenario C's 2 TB backfill ranges from $360 to $60,540 across the options above, or $180 for Estuary inside its 30-day trial.
- Ongoing incremental updates are the meter itself on per-GB and per-event plans. On a MAR plan, only the first change to each key in a month adds to the bill, outside History Mode.
- A new column can trigger a full table re-sync. Fivetran lists the re-syncs it doesn't bill, including historical data from an added column. On Estuary, a schema change that re-versions a collection reloads the source and the destination, like a dataflow reset, and bills both legs, while rebuilding only a destination table bills the delivery leg. Ask other vendors how they bill a schema-change re-sync. A destination added later needs its own backfill.
- Storage covers change history in Kafka, staging buckets, and the warehouse's own tables, which Snowflake bills at $23 per TB a month on demand in AWS US East.
- A hosted service that reads your database over the internet adds your cloud's egress rate to every change byte, and again for the backfill. AWS lists $0.09 per GB for the first 10 TB a month to the internet. A private connection avoids the internet rate, though it carries charges of its own.
- Capacity-priced services bill for every hour they run, idle or not, and a paused Confluent connector still bills: "the connector is still active and hourly base costs for tasks assigned to the connector continue to accrue".
- On retries, Fivetran adds MAR only for keys it hasn't counted that month, Estuary doesn't bill failed transactions, and Airbyte's docs don't say whether a retried sync is billed again.
- Included support varies by plan. Fivetran gives every plan 24/7 email support and reserves its "1-hour support response" for Enterprise and Business Critical. Neither Estuary's Enterprise support nor Fivetran's professional services has a published price.
- Engineering time covers building, monitoring, upgrading and recovering a pipeline. Monitoring a pipeline with Prometheus is part of that work.
How to calculate a 12-month total cost
- List every source and destination, and which tables each destination needs.
- Measure change volume for a normal month and a peak month, in the form the pipeline reads it. A trial on real data gives a measured figure.
- Count distinct keys touched per table over a full month, and the average number of changes per key. A month of the change log gives both directly. A shorter sample gives changes per key, but monthly distinct keys don't scale linearly from a day or a week. Database statistics views, such as PostgreSQL's pg_stat_user_tables, give insert, update and delete counts but not distinct keys.
- Size the one-time costs: the initial backfill in GB and rows, onboarding, and any parallel run during a migration. Note the tables you'll need to re-sync during the year.
- Set freshness per destination, then check which plans meet it.
- Price each vendor's meter on those inputs, using its published rates or a written quote. Write "custom quote" where neither exists.
- Add destination processing at the cadence you chose, using your warehouse's own billing rules.
- Add storage, egress and support, naming the region and edition for every cloud rate.
- Add engineering hours at a loaded hourly rate.
- Total it: 12 times the monthly figure plus one-time costs. Then rerun it with distinct keys, change volume and destination count each at half and double your estimate, and report the range.
Which pricing model suits your workload?
These tendencies hold under the rates and assumptions in this guide:
| If your workload has | Models that tend to cost less | Models that tend to cost more | Check before you sign |
|---|---|---|---|
| Mostly new rows, each written once (events, logs, append-heavy tables) | Per GB | MAR, per event | Average change event size |
| The same rows updated many times a month (status, inventory, counters) | MAR, outside History Mode | Per GB, per event | Distinct keys and updates per key, against the break-even for your tier |
| Wide rows with large text or JSON columns | MAR | Per GB, credits | Serialized size in a trial |
| One source feeding several destinations | Per GB per leg, with a single capture | MAR per connection, credits per connection | How the vendor counts each destination |
| Many small sources | MAR plans with a low per-connection base (Fivetran's is $5) | Per-connector fees | The fixed charge per source |
| Large initial backfills | Plans that exclude initial loads from billing (Fivetran) | Per GB, credits | Which later re-syncs each vendor bills |
| Sub-minute freshness | Models that don't price latency | Plans that gate sync frequency | Destination compute at that cadence |
| Several sources and destinations, with a need for a predictable bill | Per GB, when change volume is steady | MAR, when distinct keys vary month to month | Your peak month, not your average |
| Little engineering capacity | Managed services | Self-managed infrastructure | Hours to operate, not license cost |
Why Update Frequency Changes Your Bill: A change event is one insert, update or delete, and a distinct key is one row, however often it changes. Ten thousand updates to one order row are ten thousand events and one distinct key. Per-GB and per-event meters bill the events. Monthly active row (MAR) meters bill the distinct keys.
To compare the cost of managed data pipelines with self-hosted ones, count engineering hours. The self-managed infrastructure in the scenarios costs $641 to $1,211 a month, less than most of the managed service charges, and each 10 engineering hours a month adds about $954 at the loaded rate used above. Include the hours for upgrades, schema changes, recovery and on-call.
Which Data Ingestion Tool Is Most Cost-Effective?
The most cost-effective data ingestion tool depends on your workload, not just the vendor's advertised pricing.
In our modeled comparisons, Estuary is cost-effective for append-heavy workloads and pipelines delivering data to multiple destinations. Fivetran's monthly active row pricing can be more economical when the same records change frequently, provided its available sync frequency meets your freshness requirements.
Airbyte's credit-based model requires estimating serialized data volume and sync usage, while self-managed Debezium and Kafka pipelines require accounting for infrastructure and engineering operations.
For a fair comparison, evaluate each tool using the same data volume, distinct key count, destination count, freshness requirement, and total monthly operating costs.
Where Estuary fits
Estuary prices its Cloud plan at $0.50 per GB of billed volume plus a connector instance fee. Data "is counted each time it's captured from a source and each time it's delivered to a destination, including data produced by transformations". Estuary's own example: 100 GB a month from Postgres to Snowflake counts as 200 GB ($100) and 2 connector instances ($200), for a total of $300 a month. Each capture and each materialization is a connector instance at $100 a month for the first six and $50 after, prorated by the hour. A single capture can read many tables and still counts as one instance.
The structure fits workloads where most changes are new or distinct rows, where one source feeds several destinations, and where freshness requirements vary. Estuary doesn't price latency. Its plan reads "Millisecond latency or batch, no extra charge", and each materialization's sync schedule controls how often the warehouse applies changes. That schedule defaults to 30 minutes for warehouse destinations and is the lever for destination cost. A destination added later backfills from the collections the capture already wrote, without querying the source again, for as long as the collections hold the data: 20 days in Estuary's default storage, or as long as you keep it in your own bucket. Only that delivery leg is billed, for the full collection history it reads.
The same structure is weaker in three places. On a table whose rows change hundreds of times a month, every change is billed, where a MAR meter counts each row once (outside Fivetran's History Mode). A small pipeline pays mostly connector fees. After the 30-day trial, a new pipeline's initial backfill is billed at capture and at each delivery, and so is a reload after a schema change, while Fivetran's initial syncs are free.
Estuary is free for up to 10 GB of data a month and 2 connector instances. The 10 GB is billed volume, counted at capture and again at delivery, so it covers about 5 GB moved on a one-source, one-destination pipeline. The first 30 days of the Cloud plan are free, which is the time to run an initial load. Pay-as-you-go has no minimum commitment. Enterprise, private and bring-your-own-cloud deployments are priced by quote. To check these numbers against your own workload, estimate your Estuary costs in the data pipeline cost calculator on the pricing page, and measure your change volume in a trial before relying on any estimate.
Conclusion
Any ETL pricing comparison depends on what each vendor meters, and the same workload can rank vendors differently once distinct keys, destinations or freshness change. Collect the inputs first, price every meter on the same assumptions, add the lines that sit outside the quote, and test the result against half and double your estimates. For a broad list of platforms to price, see the ETL tools list. For Fivetran's MAR rules in more depth, see the Fivetran pricing model guide, and for how the pipelines themselves work, real-time data ingestion.
FAQs
Is per-GB or MAR pricing better?
Do frequent updates increase ETL bills?
What hidden costs should be included?

About the author
Dani is a data professional with a rich background in data engineering and real-time data platforms. At Estuary, Daniel focuses on promoting cutting-edge streaming solutions, helping to bridge the gap between technical innovation and developer adoption. With deep expertise in cloud-native and streaming technologies, Dani has successfully supported startups and enterprises in building robust data solutions.














