matrixorigin / matrixorigin/matrixone
[Feature Request]: Native table TTL (automatic expiry)
- Dominant language
- Go
- Stars
- 1.9k
- Forks
- 311
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 768
Description
**Version:** `8.0.30-MatrixOne-v3.0.11` (MatrixOne v3.0.11)
No native TTL clause exists for automatically expiring old rows/partitions. This is important for high-volume, short-lived data (logs / traces / metrics) where you want cheap automatic retention instead of expensive DELETEs.
**Reproduce**
```sql
CREATE TABLE t(id INT, ts TIMESTAMP) TTL ts + INTERVAL 7 DAY; -- SQL parser error
```
**Request**
Support a native `TTL` clause (time-based row/partition expiry).
---
_Found while evaluating MatrixOne git4data / SQL as a data-versioning & agent-trace backend. Version: `8.0.30-MatrixOne-v3.0.11` (MatrixOne v3.0.11)._
## Testing background
Found while evaluating MatrixOne as a **high-volume trace / telemetry backend**: such data is short-lived (days to weeks) and needs cheap automatic retention rather than expensive periodic `DELETE`s.
## Why it matters (expected purpose)
Native `TTL` (time-based row/partition expiry) is essential for observability / log / trace workloads to bound storage cost automatically. Today retention must be done with manual deletes or external schedulers.
Contributor guide
Assessment
This issue has not been assessed yet.