Sharding

샤딩은 저장 위치와 쿼리 경로를 함께 결정한다

샤드 키는 데이터를 나누는 기준이면서 애플리케이션 요청이 어느 노드로 가는지 정하는 라우팅 규칙이다.

구성App Routeruser_id, tenant_id, time bucket 같은 키를 보고 대상 샤드를 고른다.
구성Shard A일부 파티션만 보유해 쓰기 부하와 저장량을 분산한다.
구성Shard B균등 분포가 깨지면 hot shard가 되어 전체 처리량을 제한한다.
구성Cross-shard 작업조인, 정렬, 트랜잭션은 여러 노드를 건너며 비용이 커진다.
좋은 키: 고른 분포 + 주요 쿼리 단일 라우팅
나쁜 키: 최신 시간대 집중 + scatter-gather