토픽 216 / 224·비교표
파티셔닝, 샤딩, 복제
Range vs List vs Hash 파티셔닝
| 항목 | Range | List | Hash |
|---|
| 분할 기준 | 연속 값 범위 | 특정 값 목록 | 해시 함수 |
| 적합 | 날짜/이력 데이터 | 지역/카테고리 | 균등 부하 분산 |
| 범위 쿼리 | 효율적 | 해당 값만 | 비효율 |
샤딩 vs 레플리케이션 vs 파티셔닝
| 항목 | 샤딩 | 레플리케이션 | 파티셔닝 |
|---|
| 방식 | 수평 분산(다중 DB) | 데이터 복제 | 단일 DB 내 분할 |
| 목적 | 쓰기 확장 | 읽기 확장, 가용성 | 관리 용이, 성능 |
| 조인 | 제약 있음 | 제약 없음 | 제약 없음 |
동기 복제 vs 비동기 복제
| 항목 | 동기 복제 | 비동기 복제 |
|---|
| 커밋 시점 | 모든 복제본 기록 후 | 마스터 커밋 후 비동기 전파 |
| 일관성 | 강한 일관성 | 최종 일관성(지연) |
| 성능 | 지연 발생 | 빠름 |
| 데이터 손실 | 없음 | 가능(장애 시) |
| 적합 | 금융, 핵심 데이터 | 읽기 확장, 백업 |
Shared Disk vs Shared Nothing
| 항목 | Shared Disk | Shared Nothing |
|---|
| 디스크 | 공유 스토리지 | 각 노드 독립 디스크 |
| 대표 | Oracle RAC | MySQL Cluster |
| 확장성 | 제한적 | 수평 확장 우수 |
Active-Passive vs Active-Active
| 항목 | Active-Passive | Active-Active |
|---|
| 구조 | 대기 노드 유지 | 모든 노드 활성 |
| 리소스 | 대기 노드 유휴 | 전체 활용 |
| 장애 전환 | 페일오버 필요 | 로드밸런싱 |