Skip to content

What is a Hypertable?

Learn how hypertables partition time-series data automatically

Tiger Data 101 → TimescaleDB | Section: Hypertables | ⏱ Time: ~3 min

By the end of this module, you will be able to:

  • Define hypertables and explain their role in TimescaleDB architecture (Understand)
  • Demonstrate how to create and configure hypertables for time-series data (Apply)
  • Apply partitioning strategies to hypertables for optimal performance (Apply)
  • Analyze hypertable indexing and optimization techniques and implement improvements (Analyze/Apply)

A hypertable is a virtual table abstraction that wraps a time-series table and automatically partitions it into smaller, manageable pieces called chunks. From your application's perspective, you query it just like a regular table.

Under the hood, TimescaleDB handles all the complexity:

  • Automatic time-based partitioning: Data is split into chunks, typically one per time interval (e.g., one chunk per day)
  • Optional space-based partitioning: You can also partition by a second dimension (e.g., by device ID or region) for high-cardinality scenarios
  • Transparent query routing: Your queries see one table, but TimescaleDB routes them only to relevant chunks

Imagine you have sensors sending temperature readings. With a hypertable using daily chunks:

sensor_readings (hypertable)
├── 2025-01-01 chunk (500MB)
├── 2025-01-02 chunk (520MB)
├── 2025-01-03 chunk (510MB)
└── 2025-01-04 chunk (490MB) [currently being written to]

When you query SELECT * FROM sensor_readings WHERE time > NOW() - INTERVAL '1 day', TimescaleDB automatically scans only the last chunk(s), skipping the rest entirely.

Benefits:

  • Queries are faster because they scan less data
  • Indexing is more efficient at the chunk level
  • Compression, tiering, and retention policies work on whole chunks
  • Concurrent writes are more efficient (multiple chunks can be written to in parallel)

NEXT PAGE

Creating Your First Hypertable — Learn the practical steps to create and configure a hypertable in your database.