Partiziona il ledger per conto e tempo, mantieni caldi i dati recenti e freddi quelli vecchi, e tratta le righe come un ledger append-only immutabile — così che la cronologia di un singolo conto sia una fetta piccola e indicizzata, mai uno scan di miliardi di righe. Il pattern di accesso è sempre "un conto, un intervallo di date", quindi partiziona per assecondarlo.
Architettura
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)
