Jump to a problem, path or page
Jump to a problem, path or page
01 · Develop the design
Validate tenant-scoped batches, append them to a durable partitioned log and asynchronously index time series. Quotas, deterministic sample identities and retention control the service’s operating envelope.
Stage 1
Separate acceptance from indexing
An ingestion API validates and durably appends. Workers build the queryable representation asynchronously, so ingestion success and query visibility differ.
Stage 2
Budget series, not just bytes
Canonicalize labels and bound key count, value length and active series per tenant. Reject unbounded user-ID labels before they exhaust indexes.
Stage 3
Choose late-data semantics
Define allowed timestamp skew and a lateness window. Deduplication and rollups need deterministic behavior when a sample is replayed.
02 · Work through the method
03 · Justify the choices
When should ingestion acknowledge a batch?
After validation and a durable log append
Durable acknowledgement lets workers recover accepted data through replay.
What prevents a label explosion?
Per-tenant series/label quotas with bounded admission
High cardinality consumes index and memory resources even when sample payloads are small.
What policy should replay use for identical samples?
A documented series/timestamp identity and deterministic duplicate handling
Replay and client retries can duplicate samples; identities and aggregation semantics must be explicit.
04 · Plan the evidence