! 파티셔닝 (Partitioning)
테이블 내 row를 내부에서 특정 기준 별로 분류하여 활용하는 방식
ex) 주문 데이터의 조회 시 2022년 이전, 이후로 분류 현 시점에서 주문 테이블에 접근 시 2022년 이후 row만 활용하기 등
! 샤딩 (Sharding)
데이터베이스 자체를 나눠서 여러 서버에 분산하는 방식
ex) DB 에 있는 테이블을 각각 DB1, DB2, DB3에 나눠서 저장
| 구분 | 파티셔닝 (Partitioning) | 샤딩 (Sharding) |
| 나누는 대상 | 테이블 내부 (로우 단위) | DB 인스턴스 전체 |
| 저장 위치 | 같은 DB 서버 | 다른 DB 서버들 |
| 목적 | 쿼리 최적화 | 데이터/트래픽 분산 |
| 구현 난이도 | 낮음 (DB 설정) | 높음 (앱/인프라 설정) |
작은 규모 + 성능 개선 -> 파티셔닝
대규모 트래픽 + 수평 확장 -> 샤딩
'CS 정리' 카테고리의 다른 글
| Spring WebFlux: 왜, 언제, 어떻게? (0) | 2025.06.29 |
|---|---|
| 커버링 인덱스(Covering Index)란? (0) | 2025.06.26 |
| 락(Lock), 동시성 제어 (0) | 2025.06.17 |
| ConcurrentHashMap 알고쓰자 (1) | 2025.06.11 |
| Java 키워드 모음: static, final, synchronized, abstract, transient (0) | 2025.05.28 |