[OSPP 2025] Tracking issues: Support time series data structure and commands
- 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