Operations, Security & Reliability
Capacity, Maintenance, and Data Lifecycle
Capacity engineering forecasts data and workload growth against measured ceilings, while maintenance and lifecycle policies keep statistics, versions, indexes, partitions, and retained data within safe operational and legal bounds.
- Forecast demand and each constraining resource.
- Connections are a workload ceiling, not capacity by themselves.
- MVCC creates maintenance debt.
- Partitions help only with an explicit lifecycle or access boundary.
- Delete, archive, and legal retention are different states.
- Maintenance changes the workload.
| Dimension | Measure and forecast | Trigger / response |
|---|---|---|
| Primary data/indexes | bytes/day, rows/day, amplification, skew | storage and maintenance lead time |
| Compute/memory | CPU/run queue, working set, cache misses, spills | optimize/admit/scale before tail collapse |
| Connections/work | active, waiting, transaction age, service time | pool budget and workload shedding |
| Logs/replication | bytes/s, retained bytes, send/apply rate | bandwidth/storage headroom and lag policy |
| Backups/restores | copy/replay/validation rate vs size | objective breach forecast; redesign chain |
| Maintenance | dead space, stats age, transaction age, index health | routine threshold plus emergency margin |
preconditions: replica/archive/backup healthy; headroom available; no conflicting migration
limits: statement/lock timeout, batch rows/bytes, WAL rate, IOPS, lag, runtime
observe: user latency/errors, waits, dead space, stats, logs, replica/archive backlog
pause when: objective burn, blocker age, lag/backlog or storage threshold exceeded
verify: object validity, statistics, query plans, recovered space, backup/PITR chain
rollback/recovery: documented per operation; mass deletes are not assumed reversible