What 12 Months of Data Infrastructure Growth Actually Looks Like
At the start of 2025, our Data Mesh had 5 jobs, 5 tables, and a handful of daily users. By mid-2026: 150 jobs, 288 tables, 90 average daily users (up from 12), and a steadily growing compute footprint. Here's the full growth curve, with charts.
The Start and the Now
Data platform growth is one of those things that’s obvious in retrospect and invisible in real time. You’re always looking at what’s broken today, what’s queued for next sprint, what the on-call rotation is for next month. You’re never looking at where you started.
So: June 2025. Our Data Mesh had 5 scheduled jobs, 5 published tables, and processed so little data it was effectively free to run. It wasn’t a system — it was a scaffold.
By mid-2026: 150 jobs, 288 tables, 237 published views across 12 domains, an average of 90 daily users (up from 12), and 11 external consumer data meshes. The error rate is under 1%. The bad-description rate fell from 81.9% to 15.8%.
The first half of 2026 is a reasonable stopping point to look at the full trajectory. Here’s what the data actually shows.
Infrastructure Growth
The core story is a 30x increase in active jobs and a 57x increase in published tables over twelve months.
xychart-beta
title "Jobs and Tables in Production (Jun 2025 – Apr 2026)"
x-axis ["Jun 25", "Jul 25", "Aug 25", "Sep 25", "Oct 25", "Nov 25", "Dec 25", "Jan 26", "Feb 26", "Mar 26", "Apr 26"]
y-axis "Count" 0 --> 320
bar [5, 36, 36, 46, 64, 69, 102, 122, 132, 137, 150]
line [5, 34, 40, 125, 154, 156, 198, 216, 256, 275, 288]
Bar = jobs in production. Line = tables in production.
A few things worth noting in that chart.
July 2025 was the first real inflection — jobs jumped from 5 to 36 as initial domain pipelines went live. From July through October, jobs grew steadily as each new domain added ingestion. Tables grew faster than jobs starting in September because views were published against existing jobs — the same pipeline producing multiple consumption-ready outputs.
The December 2025 step-up (to 102 jobs, 198 tables) was the migration of two legacy pipelines to the Data Mesh — a deliberate consolidation rather than organic growth. The January 2026 number reflects that plus a month of production validation. After that, growth returned to the steady-state pattern: 10-15 new artifacts per month from ongoing domain work and description enrichment.
By April 2026, the ratio of views (237) to tables (288) reached 82% — meaning four out of five tables have at least one published, consumption-ready view on top of them. At the start of 2026 that ratio was 80%, and in mid-2025 it was near zero. A published view is not just a query shortcut; it’s governance applied: the view enforces the column selection, the join logic, and the freshness constraints that a consumer shouldn’t have to reimplement in their own query.
Compute Cost
Cost is a proxy for compute intensity. I’ll keep it relative rather than absolute — what matters here is the shape, not the invoice.
xychart-beta
title "Compute cost — indexed to peak (Jun 2025 – Apr 2026, % of peak)"
x-axis ["Jun 25", "Jul 25", "Sep 25", "Oct 25", "Nov 25", "Dec 25", "Jan 26", "Feb 26", "Mar 26", "Apr 26"]
y-axis "% of peak" 0 --> 100
bar [0.4, 17, 5, 8, 15, 49, 47, 50, 100, 100]
One month (Aug 2025) is excluded as an anomaly — an apparent one-off re-processing event that ran several times the then-current level, not representative of steady-state cost.
The curve tracks the infrastructure curve almost linearly — more jobs processing more data costs more. The shape isn’t alarming: cost growth is proportional to compute work, which is itself proportional to the growth in pipelines and data volume.
What the curve doesn’t show is efficiency. Between March and April we processed roughly 11% less data for essentially the same cost — the result of moving high-volume tables from BATCH to INTERACTIVE execution priority and some query optimization in the Silver layer. We’re processing less redundant data to produce the same outputs.
Daily Active Users
Infrastructure numbers measure supply. User numbers measure whether anyone showed up.
The average daily users on our Data Mesh went from 12 to 90 over the course of 2025–2026. That number comes from our internal metrics dashboard — the validated source — and the full monthly curve explains why it matters more than the headline alone.
xychart-beta
title "Average Daily Users — Our Data Mesh (Jan 2025 – May 2026)"
x-axis ["Jan 25", "Feb 25", "Mar 25", "Apr 25", "May 25", "Jun 25", "Jul 25", "Aug 25", "Sep 25", "Oct 25", "Nov 25", "Dec 25", "Jan 26", "Feb 26", "Mar 26", "Apr 26", "May 26"]
y-axis "Avg daily users" 0 --> 100
line [0.3, 0.8, 1.1, 1.3, 1.8, 1.7, 3.8, 3.6, 2.8, 4.1, 7.4, 9.3, 20.2, 31.8, 59.0, 54.0, 91.2]
Source: our internal observability tables, read-user counts summed across all our Data Mesh tables, monthly average.
Three distinct phases are visible in the curve.
Phase 1 — Jan to Jun 2025: Near-zero. The platform existed but wasn’t documented, the catalog was sparse, and the only people querying it were the engineers who built it. Average daily users stayed below 2.
Phase 2 — Jul to Dec 2025: Slow, organic growth. The first real domain pipelines went live in July, views started appearing in the shared data warehouse, and the description enrichment initiative kicked off. Users grew from ~4 to ~9 per day — real but not dramatic.
Phase 3 — Jan 2026 onward: Exponential. January jumped to 20 average daily users, February to 32, March to 59, and May 2026 averaged 91. This acceleration coincides exactly with three governance milestones: the runbook publication, the access catalog going live, and the data-literacy cohort sessions beginning. The data doesn’t let you attribute the jump to any one of these — they compound. But the timing is not a coincidence.
The dip in April (54) relative to March (59) isn’t a reversal — it reflects a stabilization after a peak period of cohort activity and new access grants. May recovered to 91.
The honest version of this curve: for the first 8 months, we built a platform almost nobody used. The user growth started when we made the platform findable and accessible — which is a governance story, not an infrastructure one.
External Consumers
The metric I track most carefully isn’t jobs or tables — it’s external consumers. The Data Mesh produces data. External consumers are evidence that the data is being used.
xychart-beta
title "External Consumers (Other Data Meshes and Open Users) — Jan to Apr 2026"
x-axis ["Jan 26", "Feb 26", "Mar 26", "Apr 26"]
y-axis "Count" 0 --> 15
bar [4, 5, 6, 11]
line [3, 4, 5, 10]
Bar = external data meshes consuming our data (programmatic consumers). Line = external open users (humans from other teams querying directly).
The April jump — from 6 external data meshes and 5 users to 11 and 10 respectively — isn’t fully explained by organic discovery. It followed the publication of three new Gold views in the shared data warehouse and the addition of our Data Mesh data to the dashboard catalog. Both were deliberate publishing decisions, not passive exposure.
The growth matters because a data mesh can be technically excellent and still be irrelevant if nobody outside the team uses it. External consumption is the signal that the governance investment — the descriptions, the access catalog, the documented request channels — is producing data that other teams can find and trust enough to build on. At 11 external consumer data meshes, we’re not at scale yet. But the direction is right and the rate is accelerating.
Data Quality
The low-quality description rate is the metric I’m most consistently asked about, and the one that produced the most dramatic change.
| Period | Low-quality rate | Status |
|---|---|---|
| March 2026 | 81.9% | 🔴 RED |
| April 2026 | 15.8% | 🟡 YELLOW |
| May 2026 (last measurement) | 13.2% | 🟡 YELLOW |
Target: <5% (🟢 GREEN)
The 66-point drop from March to April is the result of the description enrichment initiative: a colleague working systematically across domains, using a set of custom Claude Code skills I built to standardize the enrichment workflow — replacing generic descriptions like “device inventory” with ones that answer a consumer’s actual question. (That tooling turned out to be a story of its own, which I’ll cover in a later post.) This is not glamorous work. It is the thing that determines whether the Data Catalog can be self-served or whether it requires an expert to interpret.
At 13.2%, we’re still in YELLOW. The GREEN threshold is under 5%. The remaining 13.2% is concentrated in older tables from the first phases of the Data Mesh build — tables that predate the description standards and that require the most enrichment effort because they have the least documentation to start from. The path to GREEN runs through those tables.
The Operational SLA Story
Uptime is the dimension where the progress is real but the challenge is ongoing.
xychart-beta
title "Data Mesh Uptime — Weekly Average (Nov 2025 – May 2026)"
x-axis ["Nov 25", "Dec 25", "Jan 26", "Feb 26", "Mar 26", "Apr 26", "May 26"]
y-axis "Uptime %" 88 --> 100
line [92.0, 93.5, 95.0, 96.2, 92.0, 98.3, 98.6]
Values are approximate monthly averages from our internal health dashboard. The target SLA is 98.5%.
The SLA story is one of non-monotonic improvement — which is the honest version of most infrastructure stories. March 2026 was a regression from February (92.0% after a period of improvement), driven by a single ingestion incident that cascaded into broader availability issues. It’s since been documented with a defined response timeline and a mitigation in place.
By May 2026, the 7-day rolling average had returned to 98.6% — above the 98.5% SLA commitment. The gap between the GREEN threshold for the automated health dashboard (99.5%) and the team’s actual commitment to consumers (98.5%) is intentional: the dashboard threshold triggers investigation early, before the SLA is actually at risk. Operating at 98.6% is on-target, not a warning sign.
What This Half-Year Built
Twelve months of infrastructure growth and six months of governance formalization produced a platform that looks like this at mid-2026:
- 288 tables in production, 237 published views — an 82% view coverage ratio
- 150 scheduled jobs at under 1% error rate
- 12 domains managed under a formal RACI with named owners and stewards
- 90 average daily users — up from 12, with an exponential inflection starting Jan 2026
- 11 external consumer data meshes, 10 open users from outside the team
- Compute footprint: growing proportionally with the pipeline count
- Low-quality descriptions: 13.2% — down 68 points from the March baseline
- Uptime: 98.6% — at or above the 98.5% SLA
What the numbers don’t capture: the governance infrastructure that makes the platform safe to expose. The access catalog. The runbook. The severity table. The formal escalation path. Those aren’t in the monthly health report, but they’re the reason the external consumer number is growing instead of stalling — because teams can find the data, request access through a documented channel, and trust that the numbers they’re building on have been validated.
The second half of 2026 has a different emphasis. Infrastructure growth continues, but the primary metric shifts from “what did we build?” to “who is using it, and for what?” That’s a harder question to answer. It’s also the more important one.
Our Data Mesh serves an internal-systems organization at MercadoLibre. Metrics are sourced from our internal artifact-health and observability tables.