정보처리기사/데이터베이스 활용

파티셔닝 방식

glorypang 2025. 10. 23. 21:27
728x90
반응형
SMALL

파티셔닝 방식

  • 정의 : 테이블 또는 인덱스 등을 나누어 둔 단위
  • 장점
    • 데이터 엑세스 범위를 줄여 성능향상
    • 파티션별로 데이터가 분산되어 디스크 성능향상
    • 파티션별 백업 및 복구 속도 향상
    • 시스템 장애시 데이터 손상정도 최소화
  • 단점
    • 하나의 테이블을 세분화하여 관리하므로 관리비용 증가
    • 테이블간 조인에 대한 비용증가

1) 범위 분할 (Range)

  • 개념: 값의 구간(예: 날짜·숫자, 2000년대 2010년대 등)로 파티션 나눔
  • 강점: 파티션 프루닝 쉽고, 월별/분기별 롤링 관리가 간단
  • 주의: 특정 구간에 데이터 몰리면 스큐 가능
  • 언제? 로그/주문처럼 시간 축으로 자르는 데이터

2) 목록 분할 (List)

  • 개념: 미리 정한 값 집합(예: 국가코드, 카테고리)별로 분할
  • 강점: 카테고리성 필터에 프루닝 강력
  • 주의: 새로운 값이 생기면 파티션 추가 필요
  • 언제? region IN ('KR','US') 같은 명시 집합 조건이 잦을 때

3) 해시 분할 (Hash)

  • 개념: 키의 해시값으로 균등 분배
  • 강점: 부하 균형에 유리, 대테이블/조인 많은 MPP에 적합
  • 주의: 범위 프루닝은 어려움, 키 선택이 매우 중요
  • 언제? user_id처럼 높은 카디널리티 키로 균등 분산이 필요할 때

4) 합성 분할 (Composite/Hybrid)

  • 개념: 2단계 분할(예: 범위 → 해시)로 장점 결합
  • 강점: 기간 프루닝 + 균등 분산 둘 다 확보
  • 주의: 설계·운영 복잡, 파티션 수 관리 필요
  • 언제? 시간 기반 대용량 + 사용자 기반 균등 분산 동시에 필요한 환경

5) 라운드 로빈 분할 (Round-robin)

  • 개념: 키와 무관하게 순환 배치
  • 강점: 설정 간단, 로딩 빠름, 기본적으로 균등 분산
  • 주의: 프루닝 불가, 조인 시 재분배(Shuffle) 많이 발생
  • 언제? 스테이징/임시 테이블, 빠른 적재가 우선일 때
방식  개념  장점  단점/주의  언제 쓰나
범위 분할  값의 구간으로 나눔
(날짜·숫자 범위)
프루닝 쉬움, 롤링 파티션 관리 용이 구간 불균형(스큐) 가능 날짜 기반 로그/주문, 월별/분기별 관리
목록 분할  지정한 값 집합으로 나눔 카테고리성 데이터에 직관적 값 추가/변경 시 관리 필요 국가/지역/라인업별 조회
해시 분할  해시로 균등 분배 부하 균형에 강함, 큰 테이블에 적합 범위 프루닝 어려움, 키 선택 중요 조인 많은 MPP, 균등 분산 우선
합성 분할 2단계 분할
(범위→해시 등)
양쪽 장점 결합(프루닝+균등화) 설계·운영 복잡 기간+사용자 균등 분산
라운드 로빈 순환 배치(키 무관) 설정 간단, 균등 배치 프루닝 불가, 조인 시 재분배 多 임시/스테이징, 로딩속도 우선
728x90
반응형
LIST