Projektuokite pirmiausia pagal prieigos šabloną (access pattern), tada pasirinkite partitioning + tinkamą indeksą/PK, kad bet kuri viena užklausa liestų mažą, apribotą pjūvį — niekada neskenuotų 10 mlrd. eilučių. Mažiau nei 100 ms per 10 milijardų įrašų nėra apie greitesnį diską; tai apie darbinės aibės padarymą mažyte.
Query ─▶ Router ──▶ Partition (by tenant/time) ──▶ Index/PK lookup ─▶ ~thousands of rows
│ (prune 99.9% of data) (B-tree / sort key)
└─▶ Cache (Redis) ─▶ hit? return in <5ms
miss ▼
Columnar store (ClickHouse) for aggregates / scans
