55 lines
2.7 KiB
Markdown
55 lines
2.7 KiB
Markdown
|
|
# PostgreSQL backup demand and cost model — 2026-08-10
|
|||
|
|
|
|||
|
|
## Observed baseline
|
|||
|
|
|
|||
|
|
A read-only query against `platform-pg-1` at `2026-08-10T15:54:12Z` measured
|
|||
|
|
39,573,871 bytes across connectable databases. `pg_stat_wal` reported
|
|||
|
|
19,744,568 bytes since `2026-08-10T13:37:53Z`, an extrapolated 0.208 GB/day.
|
|||
|
|
The cluster is less than one day old, so this is a seed observation rather than
|
|||
|
|
a representative trend. No credential value was read or recorded.
|
|||
|
|
|
|||
|
|
The governed requirements are a 30-day recovery window, daily physical base
|
|||
|
|
backup, continuous WAL archive, one monthly restore drill, and a complete exit
|
|||
|
|
calculation. The scenario inputs live in
|
|||
|
|
`data/demand/platform-audit-storage.json` and deliberately floor demand above
|
|||
|
|
the tiny initial observation:
|
|||
|
|
|
|||
|
|
| Scenario | Initial DB | Monthly growth | WAL/day | Restore egress | Labor/month |
|
|||
|
|
| --- | ---: | ---: | ---: | ---: | ---: |
|
|||
|
|
| low | 1 GB | 5% | 0.25 GB | 1 GB | 0.5 h |
|
|||
|
|
| base | 5 GB | 10% | 1 GB | 5 GB | 1 h |
|
|||
|
|
| high | 20 GB | 20% | 5 GB | 20 GB | 2 h |
|
|||
|
|
|
|||
|
|
The conservative stored-byte formula is `30 × current database size + 30 ×
|
|||
|
|
daily WAL`. It does not claim compression savings. Operator labor is valued at
|
|||
|
|
€60/hour; provider-specific labor floors capture relative operational effort.
|
|||
|
|
The exit event adds full stored-byte egress plus four operator hours.
|
|||
|
|
|
|||
|
|
Run `make forecast` for all 12 months, scenarios, and providers. A `null` total
|
|||
|
|
is intentional: it means a required price is unknown and prevents an unknown
|
|||
|
|
from silently becoming free.
|
|||
|
|
|
|||
|
|
The catalog also includes self-managed Garage on 1–3 Host Europe/Hetzner VMs
|
|||
|
|
and managed AWS, Azure, Google Cloud, and STACKIT price points. See
|
|||
|
|
`RESOURCE-WP-0002-expanded-storage-comparison-2026-08-10.md` for assumptions
|
|||
|
|
and topology warnings.
|
|||
|
|
|
|||
|
|
Calculator rows split `monthly_infrastructure_eur` from
|
|||
|
|
`monthly_internal_labor_eur` and split internal setup labor from external setup
|
|||
|
|
services. The top-level `comparison_320gb` array provides a normalized running
|
|||
|
|
cost at 320 GB using the base request and restore pattern.
|
|||
|
|
|
|||
|
|
## Initial comparison
|
|||
|
|
|
|||
|
|
- Scaleway Standard Multi-AZ is fully calculable at €0.01606/GB-month, with
|
|||
|
|
75 GB/month free egress then €0.01/GB. Prices exclude tax.
|
|||
|
|
- Hetzner is calculable while usage remains inside its €6.49 monthly minimum,
|
|||
|
|
which includes 1 TB storage and 1 TB egress. Excess unit prices still need to
|
|||
|
|
be captured before high-growth or exit usage crosses the included quota.
|
|||
|
|
- Host Europe cannot be calculated until it confirms that the historical S3
|
|||
|
|
Cloud Storage product is currently orderable and supplies a current quote.
|
|||
|
|
|
|||
|
|
Because labor dominates this very small workload, selection should emphasize
|
|||
|
|
restore compatibility, independent failure domain, encryption, and exit proof
|
|||
|
|
before sub-euro storage differences.
|