Ledger'ı hesap ve zamana göre partition yapın, son veriyi hot ve eski veriyi cold tutun ve satırları append-only immutable bir ledger olarak ele alın — böylece tek bir hesabın geçmişi milyarlarca satırın taraması değil, küçük, index'lenmiş bir dilimdir. Access pattern her zaman "bir hesap, bir tarih aralığı"dır, bu yüzden buna uyacak şekilde partition yapın.
Mimari
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)
