Particiona el ledger por cuenta y tiempo, mantén los datos recientes calientes y los antiguos fríos, y trata las filas como un ledger append-only inmutable — para que el historial de una única cuenta sea una porción pequeña e indexada, nunca un scan de miles de millones de filas. El patrón de acceso es siempre "una cuenta, un rango de fechas", así que particiona para coincidir con él.
Arquitectura
Write ─▶ Ledger table (append-only, immutable)
partition by (account_hash, month)
│
┌────────┴─────────┐
HOT tier COLD tier
last 3 mo older
Postgres/SSD S3/Parquet, Glacier
│ │
index-seek keyset paginate ──▶ API (account+range)
