Particione o razão (ledger) por conta e tempo, mantenha dados recentes quentes e dados antigos frios, e trate as linhas como um razão imutável append-only — para que o histórico de uma única conta seja uma fatia pequena e indexada, nunca um scan de bilhões de linhas. O padrão de acesso é sempre "uma conta, um intervalo de datas", então particione para corresponder a isso.
Arquitetura
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)
