Data Management Help
TTL, backup, restore, and scheduler integration guidance with practical examples.
Configure
Use Database Stats and ClickHouse TTL together, then configure S3 backup destination and optional encryption.
Schedule
Use external cron/Kubernetes/GitHub schedules to call backup APIs.
Recover
Restore by backup name from system list or from S3 inventory when needed.
Data Management is split into two sections so retention and backup workflows are clearly separated.
- Database Stats & Retention: Database Stats and ClickHouse TTL render side-by-side on larger screens and stack on smaller screens.
- TTLโBackup Coupling: lives with the TTL controls and acts as an advisory warning.
- Save & Apply TTL to Tables: use this in the retention section to persist values and run TTL DDL immediately.
- Save Settings: use this in the Backups & Storage section to persist backup/storage configuration.
Restore controls are shown on the Data Management page only when Enable Backup & Restore is turned on and saved.
-
If backup is disabled, backup/restore API endpoints return
403. - If backup is enabled but S3 details are incomplete, restore UI appears but API calls return a validation error.
A. Restore when backup list is available
- Go to Settings โ Data Management.
- Enable backup/restore if not already enabled, then click Save Settings in the Backups & Storage section.
- Use the backup list panel to pick a backup name.
- Paste that name into restore input and confirm.
B. Restore when backup list is unavailable or incomplete
- List backup objects directly in S3 (console, inventory, or CLI) under your configured prefix.
-
Identify the backup name (for example
sobs-full-20260408T020000Z). - Use that exact backup name in restore input or API call.
curl -u USER:PASS -X POST http://localhost:44317/api/data-management/restore \
-H "Content-Type: application/json" \
-d '{"backup_name":"sobs-full-20260408T020000Z"}'
SOBS stores cron strings for documentation and planning. Execution is external.
Cron examples
-
0 2 * * 0- Weekly Sunday 02:00 UTC (full backup) -
0 2 * * 1-6- Monday-Saturday 02:00 UTC (incremental) -
0 */6 * * *- Every 6 hours
Kubernetes CronJob pattern
curl -u USER:PASS -X POST http://sobs:44317/api/data-management/backup/run \
-H "Content-Type: application/json" \
-d '{"type":"incremental"}'
GitHub Actions schedule pattern
on:
schedule:
- cron: "0 2 * * 0"
- Logs/traces/sessions TTL use day-based intervals.
- Metrics TTL uses hour-based intervals and converts millisecond timestamps appropriately.
- TTL values shown on the Data Management form are the currently stored values from settings.
- Core OTEL telemetry tables remain aligned to OTEL schema expectations; custom tables/views are used for app features and derived analytics.