Estuary

How Much Does Real-Time Data Ingestion Cost? Pricing Models Compared

Compare real-time data ingestion pricing by GB, active rows, compute, and connectors. Learn what drives total cost and how to estimate your pipeline budget.

Real-Time Data Ingestion Cost
Share this article

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

Six data ingestion pricing models and their billing units

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.

ModelMetered unitWhich workload inputs matterAdvantageCost surprise or caveatExample vendorSource and checked date
Per GB, per legGB counted at capture and again at each deliveryChange volume, number of destinations, backfill sizeDistinct-key counts don't matter; cost tracks bytesEvery change event is billed, so high churn on few rows costs more; each destination adds a legEstuary: $0.50 per GB, plus connector instancesestuary.dev/pricing, 2026-10-16
Monthly active rowsDistinct primary keys with an insert, update or delete, per connection, per table, per monthDistinct keys, number of connections, destinationsRepeated updates to one key in a month count onceMany distinct keys cost more; each destination is a separate connection with its own curve; History Mode tables bill every versionFivetran: Standard $5 base plus $495 per million MAR to 1M, falling to $1.18 per million above 1BService Consumption Table V.10, effective 2026-02-01, checked 2026-10-16
Credits by source type4 credits per GB for database and file sources, 6 credits per million rows for APIsSerialized volume, number of connections, backfillsSmall volumes cost little; plans scale in packagesSerialized size can exceed table size; initial snapshots have no published exemptionAirbyte: Standard $20 a month with 5 credits, extra credits $5airbyte.com/pricing, 2026-10-16
EventsEach record inserted, updated or deleted in the destinationTotal change events, destinationsPlans are fixed monthly tiersEvery update is an event, so churn costs more; volumes above the largest tier need a quoteHevo: Starter from $299 a month for 5M eventshevodata.com/pricing, 2026-10-16
Compute or capacityInstance-hours, DPU-hours, eCKU-hours, or capacity unitsHours running, size of the jobPredictable when the pipeline runs at a steady sizeIdle hours still bill; a continuous job bills every hour of the monthAWS DMS Serverless: $0.0819 per DCU-hourAWS DMS pricing, us-east-1, 2026-10-16
Connector fee plus usageA fee per running source or destination, plus a volume chargeConnector count, runtime hoursFew high-volume pipelines carry little fixed costMany small sources each pay the feeEstuary: $100 per connector instance per month for the first six, $50 after, prorated hourlyestuary.dev/pricing, 2026-10-16
Self-managed infrastructureYour own servers, storage and networkThroughput, retention, high availability, staff hoursNo license feeEngineering time is the largest line of the self-managed total in all three scenarios below, and it grows with the number of pipelinesDebezium with Kafka on Amazon MSK: kafka.m7g.large brokers at $0.204 per broker-hourAmazon 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):

ScenarioWorkloadEstuary (per GB)Fivetran (MAR)Airbyte (credits)Hevo (events)Self-managed
A. Low-churn analytics1 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 data3 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-minuteCustom quote$8,557
C. Multi-source, multi-destination5 sources to Snowflake, BigQuery and Databricks, 250 GB captured, 1 TB of billed volume$2,904$11,799$9,248Custom 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

InputValue
Sources and destinations1 PostgreSQL database (AWS us-east-1) to 1 BigQuery dataset (US)
Change volume captured50 GB a month
Average change event2 KB, so 25 million events a month
Distinct keys touched22.5 million a month (mostly new rows; about 1.1 changes per key)
Data sent to the destination50 GB a month
Initial history to backfill500 GB, one time
FreshnessHourly; batch is acceptable
Connector instances and runtime2 (one source, one destination), running all month
Destination processing720 hourly MERGE runs, each scanning 20 GiB, on-demand: $81.64 a month
Engineering time4 hours a month managed, 40 self-managed
Option (model)Service charge per monthMonthly total, modeled linesOne-time backfill12-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

InputValue
Sources and destinations3 databases (two PostgreSQL, one MySQL, AWS us-east-1) to 1 Snowflake account (Enterprise, AWS US East)
Change volume captured250 GB a month (150, 60 and 40 GB)
Average change event2 KB, so 125 million events a month
Distinct keys touched500,000 a month (300,000, 150,000 and 50,000), about 250 updates per key
Data sent to the destination250 GB a month
Initial history to backfill100 GB, one time
FreshnessSub-minute
Connector instances and runtime4 (three sources, one destination), running all month
Destination processingAn X-Small warehouse kept running by sub-minute applies: 730 hours at 1 credit and $3.00 per credit, $2,190 a month
Engineering time8 hours a month managed, 60 self-managed
Option (model)Service charge per monthMonthly total, modeled linesOne-time backfill12-month total, modeled linesFastest 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,621Continuous apply (sync schedule 0); latency then depends on the warehouse
Fivetran Enterprise (MAR), reference only$346 (three connections)$3,322$9$39,871Every 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,609Every 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 enablesCustom quoteCustom quoteCustom quoteContinuous with streaming Pipelines
Confluent Cloud V2 CDC connectorsCustom quote ("Contact us")Custom quoteCustom quoteCustom quoteNot published
Self-managed Debezium + Kafka on MSK$641 infrastructure$8,557$0 (same region; no egress)$102,686Continuous, 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.

Estuary vs Fivetran monthly costs by distinct keys changed
Monthly service costs for 250 GB of changes, comparing Estuary and Fivetran across different key counts.

Scenario C: multi-source, multi-destination

InputValue
Sources and destinations5 databases (AWS us-east-1) to 3 destinations: Snowflake (Enterprise, AWS US East), BigQuery (US), Databricks (Azure East US, Premium)
Change volume captured250 GB a month (50 GB per source)
Data sent to each destination250 GB a month: every destination receives every table
Billed volume, defined1 TB a month: 250 GB captured plus 750 GB delivered
Average change event2 KB, so 125 million events a month captured
Distinct keys touched2 million per source, 10 million in total, about 12.5 updates per key
Initial history to backfill2 TB, one time
FreshnessSnowflake every 15 minutes, BigQuery hourly, Databricks daily
Connector instances and runtime8 (five sources, three destinations), running all month
Destination processingSnowflake 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 time12 hours a month managed, 80 self-managed
Option (model)Service charge per monthMonthly total, modeled linesOne-time backfill12-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 tierCustom quoteCustom quoteCustom 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

  1. List every source and destination, and which tables each destination needs.
  2. 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.
  3. 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.
  4. 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.
  5. Set freshness per destination, then check which plans meet it.
  6. Price each vendor's meter on those inputs, using its published rates or a written quote. Write "custom quote" where neither exists.
  7. Add destination processing at the cadence you chose, using your warehouse's own billing rules.
  8. Add storage, egress and support, naming the region and edition for every cloud rate.
  9. Add engineering hours at a loaded hourly rate.
  10. 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 hasModels that tend to cost lessModels that tend to cost moreCheck before you sign
Mostly new rows, each written once (events, logs, append-heavy tables)Per GBMAR, per eventAverage change event size
The same rows updated many times a month (status, inventory, counters)MAR, outside History ModePer GB, per eventDistinct keys and updates per key, against the break-even for your tier
Wide rows with large text or JSON columnsMARPer GB, creditsSerialized size in a trial
One source feeding several destinationsPer GB per leg, with a single captureMAR per connection, credits per connectionHow the vendor counts each destination
Many small sourcesMAR plans with a low per-connection base (Fivetran's is $5)Per-connector feesThe fixed charge per source
Large initial backfillsPlans that exclude initial loads from billing (Fivetran)Per GB, creditsWhich later re-syncs each vendor bills
Sub-minute freshnessModels that don't price latencyPlans that gate sync frequencyDestination compute at that cadence
Several sources and destinations, with a need for a predictable billPer GB, when change volume is steadyMAR, when distinct keys vary month to monthYour peak month, not your average
Little engineering capacityManaged servicesSelf-managed infrastructureHours 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

    How much does real-time ingestion cost per month?

    In this guide's Scenario A, one database feeding one warehouse, the vendor charges run from $250 to $1,834 a month at list prices, before destination compute and engineering time. The figure depends on the billing unit, change volume, distinct keys, destinations and freshness, so price your own workload on each vendor's meter rather than relying on a typical number.
    Neither is better in general. Per-GB pricing costs less when most changes are new or distinct rows, and MAR costs less when the same rows change many times a month. At a 2 KB change event, the crossover on Fivetran Standard's first tier is about 250 updates per key a month, before fixed fees. The calculation, and how row size and destinations move it, is under "Why the same workload can cost differently".
    On per-GB and per-event meters, yes: every update is billed. On MAR meters, repeated updates to the same row in a month count once, except on Fivetran tables using History Mode, where each version counts. On a log-based pipeline, running syncs more often doesn't add events, but it can increase destination processing costs through more frequent loads or merges.
    Destination compute and merges, the initial backfill and later re-syncs, storage, egress, idle capacity, retries, support, and engineering time. Most of them appear on your cloud or warehouse bill rather than the ingestion vendor's.

Start streaming your data for free

Build a pipeline

About the author

Picture of Dani Pálma
Dani PálmaDeveloper Relations Lead

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.

Real-Time & Batch Pipelines.Simple to Deploy.Simply Priced.

  • $0.50/GB of data moved + $100/month per connector instance
  • Simple usage-based pricing with volume discounts
  • Sub-100ms end-to-end latency for real-time pipelines