Federated Query Layer
The federated query layer introduces a single SQL-like interface across D1, Hyperdrive/Postgres, Iceberg/R2, and KV-backed datasets.
Federated Query Layer
The federated query layer introduces a single SQL-like interface across D1, Hyperdrive/Postgres, Iceberg/R2, and KV-backed datasets.
Routing Rules
-
Prefix-based:
d1.table_name→ D1pg.table_name→ Hyperdriveiceberg.table_name→ Iceberg catalogkv.*→ KV backend
-
Query hint comment override:
-- @backend: d1
Security & Validation
- Admin query endpoints must enforce
SELECT-only allowlists. - Validate query origins and access tier before execution.
- Clamp row limits.
Example Queries
-- @backend: iceberg
SELECT * FROM iceberg.compilation_events WHERE status = 'error';
SELECT key, value FROM kv.cache WHERE key LIKE 'source:%';
Extending Backends
- Implement
IQueryEngine. - Register backend in
createQueryRouter(...). - Add routing convention (prefix or hint policy).
- Update docs with operational constraints.
Was this page helpful?