샤딩 1분 정리, 10억 명을 나눠 담는 법
AI 영상 속 이미지·영상은 AI로 생성했으며 실제 장면이 아닙니다. 사실 관계는 공개 전에 아래 출처와 대조해 확인했습니다.
대본
- 사용자 10억 명, DB 한 대로 될까요?
- 한 대론 벅차요. 여러 DB에 나눠 담는 샤딩, 도서관 분관처럼요.
- 첫째, 기준인 샤드 키. 저자 성씨처럼 책마다 있는 값이죠.
- 둘째, 나누는 방식. 범위는 가나다 구간대로, 해시는 골고루 섞어요.
- 셋째, 찾아가기. 라우터가 키를 보고 맞는 분관으로 보내요.
- 근데 한 분관만 붐비면요? 더 지으면 되나요?
- 쏠린 곳이 핫스팟. 3곳을 4곳으로 늘리면, 단순 해시는 75%가 이사 가요.
- 그래서 일관된 해싱. 분관을 원에 이어 두면 약 4분의 1만 옮겨요.
- 샤딩은 나눠 담기, 복제는 똑같이 복사. 실제론 둘을 같이 써요.
- 나누긴 쉬워요. 다시 나누는 게 어렵죠.
- 정리하면 샤드 키, 범위·해시, 라우터예요.
- 샤드 키를 바꾸면 데이터를 통째로 옮겨야 해요. 자주 하는 조회로 고르세요.
출처
- Microsoft Learn, Azure Architecture Center, "Sharding pattern" (2026-04-02)
- MongoDB Manual, "Sharding" (확인 2026-10-27)
- MongoDB Manual, "Shard Keys" (확인 2026-10-27)
- MongoDB Manual, "Ranged Sharding" (확인 2026-10-27)
- MongoDB Manual, "Hashed Sharding" (확인 2026-10-27)
- Vitess Docs, "VTGate" (확인 2026-10-27)
- Apache Cassandra Documentation, "Dynamo" (architecture, 확인 2026-10-27)
- MongoDB Manual, "Replication" (확인 2026-10-27)
- MongoDB Manual, "Reshard a Collection" (확인 2026-10-27)