Customer 360 Enterprise Data Platform — Denodo on Azure · View 21 of 39 · Runtime
Where the performance comes from
- Branch pruning and column trimming, in that order, before anything is costed. A Customer360 query that projects six columns should never touch the sources that own the other sixty.
- Delegation is decided by a capability check per source, not by a global setting — the same join is pushed to SAP and executed locally against ServiceNow, because only one of them can do it.
- MPP offload is the fallback for the case where nothing can be delegated and the scan is large, not the default path.
The security constraint on the optimiser
- Masking is applied after execution and is never pushed down. This costs some performance and removes a whole class of leak, where a masked column becomes visible through a predicate the source evaluates.
Risks
- An ad hoc query that defeats pruning — SELECT * over Customer360 — contacts every source at once. The analytical pool's row limit and the interactive pool's 8-second timeout exist to contain it.