A deep dive into time-series storage design decisions that drive cost and query performance. Covers normalization vs. flat schemas in PostgreSQL (42% storage reduction with normalization), high-cardinality pitfalls, schema evolution with JSONB, columnar storage with Apache Parquet (up to 434x compression), wide vs. narrow schema trade-offs, two-dimensional partitioning (time + series identity) to avoid write hotspots, downsampling resolution ladders (720x row reduction from 5s to 1h), and dashboard read amplification mitigation strategies.

18m read timeFrom infoq.com
Post cover image
Table of contents
What is Time-Series Data?Relational Storage: Flat vs. NormalizedHigh Cardinality: When Normalization Breaks DownDesigning for Schema EvolutionColumnar Storage as the Next LeverWide vs. Narrow Schema for Multi-Metric RowsPartitioning: Time First, Then SpaceDownsampling and Retention: Trading Resolution for CostCost Challenges of Dashboard RefreshesConclusionAbout the Author

Sort: