Partitionera huvudboken på konto och tid, håll färsk data het och gammal data kall, och behandla rader som en append-only oföränderlig huvudbok — så att ett enskilt kontos historik är ett litet, indexerat snitt, aldrig en scan av miljarder rader. Åtkomstmönstret är alltid "ett konto, ett datumintervall", så partitionera för att matcha det.
Arkitektur
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)
