call(back)

Design a Multi-Tenant Interactive Analytics Platform

Design a platform where many tenants load data and run interactive SQL over it. Loads arrive continuously; queries must return in seconds over terabytes; tenants must be isolated from each other in both performance and visibility; and compute must scale up and down with demand.

Cover how data is stored, how ingestion becomes visible to queries, how a query is planned and executed, how tenants are isolated, and the consistency model a query sees.

Hints

Hint 1

Store data as immutable columnar files in object storage; a transactional metadata service holds each table's file list, per-file statistics and snapshots.

Hint 2

Stateless coordinators plan queries from the metadata — pruning files by statistics — and elastic worker pools execute them; an ingest writes new files, then commits a new snapshot atomically.

Hint 3

The decision to defend is strong consistency for metadata with snapshot isolation for queries, so data files never need coordination, and per-tenant compute pools versus a shared pool.

Asked at