기록공간

3-2-7장. 파티션 설계 - A 본문

자격증공부/정보처리기사_필기

3-2-7장. 파티션 설계 - A

입코딩 2020. 9. 12. 01:15
반응형

파티션(Partition)의 개요

데이터베이스에서 파티션은 대용량 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것을 말한다.

 

  • 대용량 DB의 경우 중요한 몇 개의 테이블에만 집중되어 데이터가 증가되므로, 이런 테이블들을 작은 단위로 나눠 분산시키면 성능 저하를 방지할 뿐만 아니라 데이터 관리도 쉬워짐

  • 테이블이나 인덱스를 파티셔닝 하면 파티션키 또는 인덱스키에 따라 물리적으로 별도의 공간에 데이터가 저장

  • 데이터 처리테이블 단위로 이뤄지고, 데이터 저장파티션별로 수행

 

파티션의 장단점

  • 장점

    • 데이터 접근 시 액세스 범위를 줄여 쿼리 성능 향상

    • 파티션별로 데이터가 분산되어 저장되므로 디스크의 성능 향상

    • 파티션별로 백업 및 복구를 수행하므로 속도가 빠름

    • 시스템 장애 시 데이터 손상 정도를 최소화 할 수 있음

    • 데이터 가용성이 향상

    • 파티션 단위로 입출력을 분산시킬 수 있음

  • 단점

    • 하나의 테이블을 세분화하여 관리하므로 세심한 관리가 요구됨

    • 테이블간 조인에 대한 비용이 증가

    • 용량이 작은 테이블에 파티셔닝을 수행하면 오히려 성능이 저하됨

파티션의 종류

파티션의 종류는 파티셔닝 방식에 따라 범위 분할, 해시 분할, 조합 분할 등으로 나뉜다.

 

  • 범위 분할 : 지정한 열의 값을 기준으로 분할 (ex. 일별, 월별, 분기별 등)

  • 해시 분할 

    • 해시 함수를 적용한 결과 값에 따라 데이터를 분할

    • 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완한 것으로, 데이터를 고르게 분산할 때 유용

    • 특정 데이터가 어디에 있는지 판단할 수 없음

    • 고객번호, 주민번호 등과 같이 데이터가 고른 컬럼에 효과적

  • 조합 분할

    • 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할하는 방식

    • 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용

파티션키 선정 시 고려 사항

  • 파티션키는 테이블 접근 유형에 따라 파티셔닝이 이뤄지도록 선정

  • 데이터 관리의 용이성을 위해 이력성 데이터는 파티션 생성주기와 소멸주기를 일치

  • 매일 생성되는 날짜 컬럼, 백업의 기준이 되는 날짜 컬럼, 파티션 간 이동이 없는 컬럼, I/O 병목을 줄일 수 있는 데이터 분포가 양호한 컬럼 등을 파티션키로 선정함

인덱스 파티션

인덱스 파티션은 파티션된 테이블의 데이터를 관리하기 위해 인덱스를 나눈 것이다.

 

  • 인덱스 파티션은 파티션된 테이블의 종속 여부에 따라 Local Partitioned Index 와 Global Partitioned Index로 나뉜다.

    • Local Partitioned Index : 테이블 파티션과 인덱스 파티션이 1:1 대응되도록 파티셔닝함

    • Global Partitioned Index : 테이블 파티션과 인덱스 파티션이 독립적으로 구성되도록 파티셔닝

    • Local Partitioned Index가 Global Partitioned Index에 비해 데이터 관리가 쉬움

  • 인덱스 파티션은 인덱스 파티션키 컬럼의 위치에 따라 Prefix Partitioned Index와 Non-prefixed Partitioned Index 로 나뉨

    • Prefix Partitioned Index : 인덱스 파티션키와 인덱스 첫 번째 컬럼이 같음

    • Non-prefix Partitioned Index : 인덱스 파티션키와 인덱스 첫 번째 컬럼이 다름

  • Local과 Global, Prefix와 Non-prefix를 조합하여 Global Non-prefix Partitioned Index를 제외한 나머지를 구성하여 사용한다.

반응형
Comments