728x90
반응형
SMALL
🎯 샤딩의 목적
- DB 수평 확장 (Horizontal Scaling)
→ 하나의 DB 서버로 감당이 안 될 때, 여러 서버로 데이터를 분산. - 처리량(Throughput) 증가
→ 샤드가 여러 개면 동시에 I/O 가능 → TPS(Transactions per second) 증가. - 부하 분산 (Load Balancing)
→ 특정 샤드만 핫스팟이 되지 않게 잘 분산하면 전체 안정성 향상. - 무한 확장성
→ 데이터가 늘어나도 샤드만 추가하면 됨.
👉 즉, DB 자체를 여러 개로 쪼개서 “확장성”과 “부하 분산”을 확보하는 목적.
한계
- 샤드 간 JOIN 불가능 → 애플리케이션 단에서 조합해야 함.
- 샤드 간 데이터 이동(리밸런싱)이 필요할 수 있음.
- 운영 난이도 ↑ (샤딩 키 설계, 샤드 모니터링/운영 도구 필요).
🎯 파티셔닝의 목적
- 대용량 테이블을 쪼개서 관리
→ 한 테이블이 너무 커지면 쿼리할 때 디스크 I/O가 커짐. 파티션으로 나눠서 필요한 조각만 검색. - 성능 최적화
→ 쿼리가 특정 파티션만 타게 하여 검색 범위 축소. - 관리 편의성
→ 오래된 데이터(예: 1년 전 로그)는 통째로 파티션 드롭 → 빠른 아카이빙/삭제. - 운영 효율
→ 백업/복구/인덱싱을 파티션 단위로 할 수 있음.
👉 즉, 한 DB 인스턴스 안에서 테이블을 효율적으로 관리하고 성능을 높이는 목적
한계
- 여전히 단일 DB 인스턴스라서 CPU/메모리/디스크 자원 한계는 그대로.
- 잘못 설계하면 특정 파티션에만 쿼리가 몰려 “핫 파티션” 문제 발생.
728x90
반응형
LIST
'나의 주니어 개발 일기 > DB' 카테고리의 다른 글
| db 이중화 방법론에 대한 상세한 내용 (0) | 2025.09.05 |
|---|---|
| 커버링 인덱스, 클러스터드 인덱스, 넌클러스터드 인덱스 (1) | 2024.07.26 |
| DB Replication 해보기 (master-slave) by 도커 컴포즈 (2) | 2024.05.17 |
| 클러스터드 인덱스 vs 넌클러스터드 인덱스 (0) | 2024.05.08 |
| 커버링 인덱스 사용했을때 성능차이 (1) | 2024.04.23 |