Time-series metrics engine

DesignHard45 min

Your task

Design a time-series storage engine for metrics/observability: ~5 million unique series, ~2 million samples/sec ingested (timestamp + float per series), queries that scan a few series over a time range plus dashboard aggregations, and retention that keeps raw data 15 days but rolled-up data for a year. How do you ingest, store, compress, and query this efficiently while keeping cost down?

It covers

  • Time series
  • Downsampling
  • Compression