Event language
UI language
<p><a href="https://github.com/prometheus/prometheus" rel="nofollow" target="_blank">Prometheus</a> is the leading open-source metrics monitoring solution. Prometheus 2.x contains a highly optimised Time Series Database (TSDB). It has ACID compliance and works efficiently with 100s of millions of time series on a single node. On top of its code base, <a href="https://github.com/cortexproject/cortex" rel="nofollow" target="_blank">Cortex</a>, <a href="https://github.com/thanos-io/thanos" rel="nofollow" target="_blank">Thanos</a>, and <a href="https://github.com/grafana/mimir" rel="nofollow" target="_blank">Mimir</a> have implemented distributed TSDBs.</p><p>The Prometheus TSDB has many components that make this all possible - an in-memory database, a Write-Ahead Log (WAL) for durability, memory-mapping of data from disk, persistent immutable data blocks with highly optimised inverted indices, and various techniques of maintaining this data in the background.</p><p>This talk will take you through the entire lifecycle of a time series sample `(timestamp int64, value float64)` starting from the point it enters the Prometheus TSDB’s in-memory database until it gets deleted from the persistent blocks according to the retention policies.</p>