Sharding이란?
데이터를 키 기반으로 여러 물리 서버에 분산 저장해 단일 DB의 용량·처리 한계를 넘는 기법이다.
전략
- Range — 키 범위별 분할 (예: user_id 1~1M은 shard1)
- Hash — 키 해시값으로 균등 분산
- Directory — 별도 매핑 테이블
단점
- 크로스 샤드 조인·트랜잭션 복잡
- 리샤딩(재분배) 비용 큼
- 샤드 키 선택 실수가 장기적 악영향
데이터를 여러 DB 서버로 수평 분할해 확장성을 얻는 기법.
데이터를 키 기반으로 여러 물리 서버에 분산 저장해 단일 DB의 용량·처리 한계를 넘는 기법이다.