CS 정리

DB 샤딩 vs 파티셔닝, 데이터 분산 처리

문쿼리 2025. 6. 23. 22:22

! 파티셔닝 (Partitioning)

테이블 내 row를 내부에서 특정 기준 별로 분류하여 활용하는 방식

ex) 주문 데이터의 조회 시 2022년 이전, 이후로 분류 현 시점에서 주문 테이블에 접근 시 2022년 이후 row만 활용하기 등

 

! 샤딩 (Sharding)

데이터베이스 자체를 나눠서 여러 서버에 분산하는 방식

ex) DB 에 있는 테이블을 각각 DB1, DB2, DB3에 나눠서 저장

 

구분  파티셔닝 (Partitioning) 샤딩 (Sharding)
나누는 대상 테이블 내부 (로우 단위) DB 인스턴스 전체
저장 위치 같은 DB 서버 다른 DB 서버들
목적 쿼리 최적화 데이터/트래픽 분산
구현 난이도 낮음 (DB 설정) 높음 (앱/인프라 설정)

 

작은 규모 + 성능 개선 -> 파티셔닝

대규모 트래픽 + 수평 확장 -> 샤딩