Building a scalable time-series database on PostgreSQL
summary
TimescaleDB implements a PostgreSQL extension that exposes a single hypertable while automatically creating right-sized chunks via adaptive time-space partitioning; it keeps recent chunks in memory, drops old data by dropping files, and pushes query planning down to touch only relevant chunks. Benchmarks show stable single-node ingest (about 1.3M metrics/sec in batched inserts) and steady performance up to ~250M rows versus PostgreSQL’s sharp cliff (Postgres ~15k inserts/sec => ~150k metrics/sec per server); a merge-append query shows ~22x speedup. Clustered version is under development and production usage handles ~100k IoT devices.
AI-written summary · about
chapters (15)
- 0:00The state of time series data
- 3:14Scaling challenges in DBs
- 5:23IO amplification and structures
- 11:29Workload differences
- 13:19Time-space partitioning
- 18:26Optimizing queries and inserts
- 25:02TimeScale architecture
- 28:00Relational data integration
- 31:35Management and usability
- 33:49Simplifying database setup
- 34:49Performance benchmarks
- 35:51Scaling results and metrics
- 38:40Use case suitability
- 39:28Open source and community
- 42:09Q&A and concluding remarks
related talks
39mTimescaleDB: Re-engineering PostgreSQL as a time-series database
51mPostgreSQL, The Time-Series Database You Want
42mAccessible Time Series data
13mTransform your business with time-series data (PRT061)
53mEfficient Time Series with PostgreSQL
49mPostgreSQL, The Time-Series Database You Actually Want
52mDistributed IoT Telemetry Storage Based on PostgreSQL and TimescaleDB
29mCatching Waves with Time-Series Data
