A platform proposes querying operational databases directly rather than copying data. When does that work?
Show the full answer Hide the answer
When it works
- Low query volume against the source, so the analytical load does not affect the operational system.
- Small result sets, where the federation layer is not moving large volumes across the network.
- Genuinely fresh data required, where a copy's staleness would be unacceptable.
- Reference or lookup data, small and slow-changing, where copying is disproportionate.
- Exploration and prototyping, before committing to a pipeline.
When it does not
1. Analytical query load on an operational database. A full scan for analysis competes with transactional work for buffer cache and I/O, and the operational system was not sized for it. This is the most common way virtualisation causes an incident.
2. Joins across sources. The federation layer must move data to join it, which is slow and expensive, and the query planner has poor statistics across systems — producing plans that are occasionally catastrophic.
3. High query volume. Every analytical query becomes operational load, and analytical query volume is unpredictable.
4. Historical analysis. Operational systems hold current state and prune history; the warehouse exists partly because history is not there.
5. Coupling. Analytical consumers now depend on an operational schema, so a refactor by the owning team breaks reports they have never heard of — the same unpublished-interface problem as direct table access.
The middle position that usually works
Virtualise for exploration and small lookups; materialise for anything with volume, history or repeated access.
And critically: virtualise against a replica, never the primary, so analytical load cannot affect transactional performance. That single constraint removes the most damaging failure mode while retaining most of the benefit.
The framing
Virtualisation trades operational coupling and load for freshness and reduced pipeline effort. For a small number of low-volume cases the trade is good. As a platform strategy it makes the analytical layer's performance and availability dependent on operational systems that were not designed for it — and the dependency is discovered during a peak.