파티션(Partition)
하나의 대용량 테이블이나 인덱스를 작은 단위로 나누어
성능 향상, 관리 효율, 가용성 향상을 얻는 기술
- 대용량 테이블(또는 인덱스)을 논리적으로 분할하여 저장하는 구조
- 사용자에게는 하나의 테이블로 보이지만, 실제로는 여러 개의 파티션 파일에 나누어 저장
- 대용량 데이터의 검색 효율 향상 및 관리 편의성 증가
파티션의 장점
- 데이터 접근 시 액세스 범위를 줄여 쿼리 성능이 향상
- 파티션별로 데이터가 분산되어 저장되므로 디스크의 성능이 향상
- 파티션별로 백업 및 복구를 수행하므로 속도가 빠름
- 시스템 장애 시 데이터 손상 정도를 최소화 할 수 있음
- 데이터 가용성이 향상됨
- 파티션 단위로 입·출력을 분산시킬 수 있음
파티션의 단점
- 하나의 테이블을 세분화하여 관리하므로 세심한 관리가 요구됨
- 테이블간 조인에 대한 비용이 증가함
- 용량이 작은 테이블에 파티셔닝을 수행하면 오히려 성능이 저하됨
파티션의 종류
- 범위 분항(Range Partitioning)
- 특정 칼럼 값의 범위를 기준으로 분할
- 가장 일반적, 날짜 기반에 자주 사용
- 시간대별 데이터 관리 용이
- 특정 구간에 데이터가 몰리면 부하 발생 가능
- 해시 분할(Hash Partitioning)
- 해시 함수 결과값으로 분할
- 데이터 균등 분산에 유리
- 데이터가 균등하게 분산됨(데이터 쏠림 방지)
- 특정 데이터가 어느 파티션에 저장되는지 예측 불가
- 조합 분할(Composite Partitioning)
- 범위 분할 후 다시 해시 분할
- 대규모 범위 테이블의 추가 세분화용
- 범위 분할의 관리 용이성과 해시 분할의 균등 분산 효과 결합