risingwavelabs / risingwave

Best-in-class stream processing, analytics, and management. Perform continuous analytics, or build event-driven applications, real-time ETL pipelines, and feature stores in minutes. Unified streaming and batch. PostgreSQL compatible.
https://go.risingwave.com/slack
Apache License 2.0
6.79k stars 562 forks source link

Discussion: manage compaction via SQL #13782

Open hzxa21 opened 9 months ago

hzxa21 commented 9 months ago

With #8612 #12938, we support using SQL to query compaction status and configs. However, in addition to monitoring the compaction tasks, user may also want to change compaction configs or manually trigger a compaction task in some cases. Currently user can use risectl to achieve them but SQL is more convenient IMO.

Use cases:

  1. Manually trigger a compaction task for a given table. Related #11158 .
  2. Manually split a table into a separate compaction group
  3. Change compaction group configs, including write stop limit, tombstone recliam ratio, optimization flags (fast_compaction), LSM configs (base level size), etc.
chenzl25 commented 9 months ago

A simple use case: in batch query benchmark, use a compaction SQL to compact a table into the last level to make its read performance more stable.

github-actions[bot] commented 3 months ago

This issue has been open for 60 days with no activity. Could you please update the status? Feel free to continue discussion or close as not planned.