[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-time-series-database::en":3,"gloss-cluster-time-series-database::en":26,"gloss-next-time-series-database::en":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"time-series-database","data-infra","Time-Series Database (TSDB)","A time-series database is built specifically for data points stamped with a time: metrics, sensor readings, prices, application events. Instead of storing rows the way a general-purpose database does, a TSDB exploits the fact that data arrives in time order and is rarely updated — so it compresses aggressively, expires old data cheaply, and answers 'average per minute over the last day' far faster than Postgres would. InfluxDB, TimescaleDB, Prometheus, and ClickHouse are common choices.\n\nThe workload is append-heavy and query-by-range: you write huge volumes continuously and read recent windows or downsampled rollups, almost never a single random row.\n\nFor SaaS builders, a TSDB is the backbone of product analytics, observability dashboards, and usage-based billing. Practical note: watch cardinality — the number of unique tag combinations (user × endpoint × region) can explode and wreck performance, so keep high-cardinality identifiers out of your metric labels.","A time-series database is built for timestamped data — metrics, sensor readings, prices — exploiting append-only time order to compress hard and aggregate fast.",null,[11,14,17,20,23],{"slug":12,"name":13},"columnar-storage","Columnar Storage",{"slug":15,"name":16},"data-retention-policy","Data Retention Policy",{"slug":18,"name":19},"materialized-view","Materialized View",{"slug":21,"name":22},"olap","OLAP (Online Analytical Processing)",{"slug":24,"name":25},"oltp","OLTP (Online Transaction Processing)",[27,31,34,37,40,44,47,50,53,56,60,61],{"slug":28,"category":5,"name":29,"updated_at":30},"acid","ACID","2026-08-24T02:46:37+00:00",{"slug":32,"category":5,"name":33,"updated_at":30},"ann-search","ANN Search",{"slug":35,"category":5,"name":36,"updated_at":30},"backpressure","Backpressure",{"slug":38,"category":5,"name":39,"updated_at":30},"batch-processing","Batch Processing",{"slug":41,"category":5,"name":42,"updated_at":43},"bm25","BM25","2026-08-24T02:46:38+00:00",{"slug":45,"category":5,"name":46,"updated_at":30},"cache","Cache",{"slug":48,"category":5,"name":49,"updated_at":30},"cap-theorem","CAP Theorem",{"slug":51,"category":5,"name":52,"updated_at":30},"change-data-capture","Change Data Capture (CDC)",{"slug":54,"category":5,"name":55,"updated_at":30},"chroma","Chroma",{"slug":57,"category":5,"name":58,"updated_at":59},"chunk-overlap","Chunk Overlap","2026-08-24T03:30:02+00:00",{"slug":12,"category":5,"name":13,"updated_at":30},{"slug":62,"category":5,"name":63,"updated_at":30},"connection-pooling","Connection Pooling"]