The principle: Queries go to data
Traditional data sharing requires copying data between systems. Narrative inverts this model:| Traditional approach | Narrative approach |
|---|---|
| Copy data to a shared location | Leave data in place |
| Queries run against copies | Queries run against source data |
| Data freshness depends on sync frequency | Data is always current |
| Multiple copies increase security surface | Single source reduces exposure |
What flows where
Understanding what crosses boundaries helps clarify the architecture:From user to control plane
- NQL query text
- Authentication credentials
- Request metadata
From control plane to data plane
- Compiled SQL (transpiled for the target database)
- Job metadata and parameters
- Execution instructions
From data plane to control plane
- Query results (for interactive queries)
- Status updates and completion signals
- Error messages and diagnostics
What never leaves the data plane
- Raw source data
- Intermediate query results
- Materialized view contents (stored locally)
Query data flow
A typical query follows this path:Materialized view data flow
Materialized views follow a different pattern. Results stay in the data plane:Cross-data-plane queries
When a query references data in multiple data planes, the control plane coordinates execution:- Query decomposition — The control plane breaks the query into subqueries, one per data plane
- Parallel execution — Subqueries execute independently in each data plane
- Result coordination — Results are combined as needed, with the control plane coordinating data movement between planes
Data collaboration flow
When you share data with a partner organization, they query your data through the same architecture:- Partner submits NQL query referencing your dataset
- Control plane verifies their access grants
- Compiled query is sent to your data plane
- Your data plane executes and returns results
- Partner receives results through the control plane

