Dizajnirajte prvo za obrazac pristupa (access pattern), zatim odaberite particioniranje + pravi indeks/PK tako da svaki pojedini upit dotakne mali, ograničen dio — a nikada ne skenira 10 milijardi redaka. Ispod 100 ms preko 10 milijardi zapisa nije o bržem disku; radi se o tome da radni skup (working set) bude sićušan.
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
