Design for aksessmønsteret først, velg deretter partisjonering + riktig indeks/PK slik at enhver enkelt spørring berører en liten, avgrenset skive — aldri skanner 10B rader. Under-100ms over 10 milliarder poster handler ikke om en raskere disk; det handler om å gjøre arbeidssettet bittelite.
Spørring ─▶ Router ──▶ Partisjon (på tenant/tid) ──▶ Indeks/PK-oppslag ─▶ ~tusenvis av rader
│ (beskjær 99.9% av data) (B-tree / sort key)
└─▶ Cache (Redis) ─▶ hit? returner om <5ms
miss ▼
Columnar store (ClickHouse) for aggregeringer / scans
Aksessmønstre driver alt
Før du velger teknologi, spør: "Hent bruker X sine siste 20 ordrer" er en point/range-spørring — du vil at partisjonen og sort key skal matche den nøyaktig. "Summer omsetning per region denne måneden" er en analytisk scan — en row store er feil verktøy. Å modellere spørringen først er det som skiller et design som fungerer fra ett som ser fornuftig ut men full-scanner.
