apache / apache/kvrocks

[OSPP 2025] Tracking issues: Support time series data structure and commands

Open
#3,048 9 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
4.4k
Forks
658
Avg merge
1d 20h
Merged PRs (30d)
10

Description

### Search before asking

- [x] I had searched in the [issues](https://github.com/apache/kvrocks/issues) and found no similar issues.

### Motivation

Part of [OSPP 2025](https://summer-ospp.ac.cn/org/prodetail/259430064?lang=zh&list=pro).
This task is to implement the time series data structure and its commands on Kvrocks.

We have broken down the task into multiple subtasks and will track them in this issue.

- [x] Initialize metadata. (#3072)

- [x] Write Operations(`TS.CREATE/TS.ADD/TS.MADD`): Support uncompressed chunk storage. (#3091 #3107 )

- [x] Query Operations(`TS.INFO`/`TS.GET`/`TS.RANGE`): Implement time-range scans with chunk iteration. (#3133 #3140 #3142 )

- [x] Multi-Series Queries(`TS.MGET`/`TS.MRANGE`): Support label-based indexing and filter expressions. (#3164 #3167 )

- [x] Downsampling Rules(`TS.CREATERULE`): Implement downstream_key metadata and aggregation logic. (#3151 )

- [x] Remove/recycle related label index in `Index` CF when a TS key was deleted/expired. (#3175 )

- [x] Retention: Implement retention policy with compaction filters. (#3177 )

- [x] Deletion & Other Write Commands(`TS.DEL`, `TS.INCRBY/DECRBY`): Support deleting a range of time series data. (#3171 #3174 )

- [ ] (Optional) Compressed Chunk Support: Integrate Gorilla compression for timestamps/values.

### Solution

_No response_

### Are you willing to submit a PR?

- [x] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Research direction

This tracking issue has one unchecked item: optional Gorilla compression for timestamps and values. Start by reviewing the completed time-series subtasks and their linked issues to locate the existing uncompressed chunk implementation, then determine the integration and validation needed. Done means compressed chunks support the time-series operations without regressing the listed behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, redis
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.