დაანაწილეთ (partition) ledger ანგარიშითა და დროით, უახლესი მონაცემი ცხელი შეინახეთ და ძველი — ცივი, და მწკრივები append-only უცვლელ ledger-ად მიიჩნიეთ — ასე რომ ცალკე ანგარიშის ისტორია პატარა, დაინდექსებული ნაჭერია, არასდროს მილიარდობით მწკრივის scan. access pattern ყოველთვის "ერთი ანგარიში, თარიღის range"-ია, ამიტომ partition გააკეთეთ მასზე მისადაგებით.
არქიტექტურა
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)
