Time-Based Partitioning
Time-based partitioning is the practice of dividing a table into segments based on time, such as one partition per day or per hour. Because time-series queries almost always filter by time, this lets the engine read only the relevant partitions.
Why time is the natural partition key
Partitioning splits a large table into smaller, independent chunks. When you partition by time, each chunk holds a known time range. A query for a specific period only needs to touch the chunks covering that period, and the rest are pruned away unread.
For time-series data this is close to ideal, because the access pattern is overwhelmingly time-scoped. "Last hour", "yesterday", "this quarter" all map cleanly onto time partitions. It also makes data lifecycle management easier: ageing out or archiving old data is just a matter of old partitions.
It is the partitioning strategy that makes large-scale time-series query performance practical.
How Arc handles Time-Based Partitioning
Arc partitions time-series data by time, so typical time-range queries prune away the partitions they do not need and read only the relevant slice. This is a core reason queries stay fast even over very large histories.
Related terms
Arc is a high-performance columnar database. Open Parquet on storage you own, single Go binary, production-ready in 30 seconds.