"데이터베이스 파티션"의 두 판 사이의 차이

IT위키
 
1번째 줄: 1번째 줄:
 
[[분류:데이터베이스]]
 
[[분류:데이터베이스]]
* 파티션: 테이블 또는 인덱스 등을 나누어둔 단위
 
* 파티셔닝: 성능 개선 및 관리를 위해 테이블 또는 인덱스 등을 파티션이라는 단위로 나누어 저장하는 설계 기법
 
  
== 파티셔닝 목적 ==
+
*파티션: 테이블 또는 인덱스 등을 나누어둔 단위
* 관리 측면: 파티션 단위 백업, 추가, 삭제
+
*파티셔닝: 성능 개선 및 관리를 위해 테이블 또는 인덱스 등을 파티션이라는 단위로 나누어 저장하는 설계 기법
* 성능 측면: 파티션 단위로 처리하여 DML 수행 경합 분산
 
  
== 파티션 유형 ==
+
==파티셔닝 목적==
 +
 
 +
*관리 측면: 파티션 단위 백업, 추가, 삭제
 +
*성능 측면: 파티션 단위로 처리하여 DML 수행 경합 분산
 +
 
 +
==파티션 유형==
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! 유형  
+
!유형
! 설명
+
!설명
! 예시
+
!예시
 
|-
 
|-
| Range Partition ||  
+
|범위 분할
* 파티션 키 값을 범위별로 분할
+
(Range Partition)
* 주로 시계열 데이터에 대한 기간별 관리
+
|
||  
+
*파티션 키 값을 범위별로 분할
* 2019-01
+
*주로 시계열 데이터에 대한 기간별 관리
* 2019-02
+
||
 +
*2019-01
 +
*2019-02
 
|-
 
|-
| Hash Partition ||  
+
|해시 분할
* 키 값을 해싱한 값을 기준으로 분할
+
(Hash Partition)
* 데이터의 고른 분포로 병렬 처리 효과 극대화
+
|
||  
+
*키 값을 해싱한 값을 기준으로 분할
* Hash a2f3, ag3a, a023
+
*데이터의 고른 분포로 병렬 처리 효과 극대화
* Hash bf2k, b2e1,bb0d
+
||
 +
*Hash a2f3, ag3a, a023
 +
*Hash bf2k, b2e1,bb0d
 
|-
 
|-
| List Partition ||  
+
|목록 분할
* 이산적인 목록을 특정 구분 칼럼을 기준으로 분할
+
(List Partition)
* 분포도가 비슷한 칼럼 사용
+
|
||  
+
*이산적인 목록을 특정 구분 칼럼을 기준으로 분할
* 국가: 한국
+
*분포도가 비슷한 칼럼 사용
* 국가: 미국
+
||
 +
*국가: 한국
 +
*국가: 미국
 
|-
 
|-
| Composition Partition ||  
+
|조합 분할
* 여러 파티션 방법의 구성
+
(Composition Partition)
* Range 후 Hash 또는 List 구성 등
+
|
 +
*여러 파티션 방법의 구성
 +
*Range 후 Hash 또는 List 구성 등
 
||
 
||
* 2018 한국, 2018 미국
+
*2018 한국, 2018 미국
* 2019 한국, 2019 미국
+
*2019 한국, 2019 미국
 
|}
 
|}
  
== 인덱스 파티션 ==
+
==인덱스 파티션==
 
{| class="wikitable"
 
{| class="wikitable"
! colspan="2" | 유형
+
! colspan="2" |유형
! 설명
+
!설명
! 장점
+
!장점
 
|-
 
|-
| rowspan="2" | 키 대응 기준
+
| rowspan="2" |키 대응 기준
| Local
+
|Local
| 테이블 파티션과 1:1 대응 || 인덱스 스캔 효율 높음
+
|테이블 파티션과 1:1 대응||인덱스 스캔 효율 높음
 
|-
 
|-
| Global
+
|Global
| 테이블 파티션과 독립적으로 구성 || 인덱스 경합 분산에 유리
+
|테이블 파티션과 독립적으로 구성||인덱스 경합 분산에 유리
 
|-
 
|-
| rowspan="2" | 위치 기준
+
| rowspan="2" |위치 기준
| Prefixed
+
|Prefixed
| 테이블 파티션과 인덱스 구성 시작 칼럼이 같음 || 대부분의 경우 성능 우수
+
|테이블 파티션과 인덱스 구성 시작 칼럼이 같음||대부분의 경우 성능 우수
 
|-
 
|-
| Non-Prefixed
+
|Non-Prefixed
| 테이블 파티션과 인덱스 구성 시작 칼럼이 다름<ref>테이블의 인덱스가(year, month, day)인데 인덱스 파티션 구성은(day)인 경우</ref> || 해당 인덱스 칼럼 기준으로 검색 시 유리
+
|테이블 파티션과 인덱스 구성 시작 칼럼이 다름<ref>테이블의 인덱스가(year, month, day)인데 인덱스 파티션 구성은(day)인 경우</ref>||해당 인덱스 칼럼 기준으로 검색 시 유리
 
|}
 
|}
 +
<references />

2020년 9월 27일 (일) 19:42 기준 최신판


  • 파티션: 테이블 또는 인덱스 등을 나누어둔 단위
  • 파티셔닝: 성능 개선 및 관리를 위해 테이블 또는 인덱스 등을 파티션이라는 단위로 나누어 저장하는 설계 기법

파티셔닝 목적[편집]

  • 관리 측면: 파티션 단위 백업, 추가, 삭제
  • 성능 측면: 파티션 단위로 처리하여 DML 수행 경합 분산

파티션 유형[편집]

유형 설명 예시
범위 분할

(Range Partition)

  • 파티션 키 값을 범위별로 분할
  • 주로 시계열 데이터에 대한 기간별 관리
  • 2019-01
  • 2019-02
해시 분할

(Hash Partition)

  • 키 값을 해싱한 값을 기준으로 분할
  • 데이터의 고른 분포로 병렬 처리 효과 극대화
  • Hash a2f3, ag3a, a023
  • Hash bf2k, b2e1,bb0d
목록 분할

(List Partition)

  • 이산적인 목록을 특정 구분 칼럼을 기준으로 분할
  • 분포도가 비슷한 칼럼 사용
  • 국가: 한국
  • 국가: 미국
조합 분할

(Composition Partition)

  • 여러 파티션 방법의 구성
  • Range 후 Hash 또는 List 구성 등
  • 2018 한국, 2018 미국
  • 2019 한국, 2019 미국

인덱스 파티션[편집]

유형 설명 장점
키 대응 기준 Local 테이블 파티션과 1:1 대응 인덱스 스캔 효율 높음
Global 테이블 파티션과 독립적으로 구성 인덱스 경합 분산에 유리
위치 기준 Prefixed 테이블 파티션과 인덱스 구성 시작 칼럼이 같음 대부분의 경우 성능 우수
Non-Prefixed 테이블 파티션과 인덱스 구성 시작 칼럼이 다름[1] 해당 인덱스 칼럼 기준으로 검색 시 유리
  1. 테이블의 인덱스가(year, month, day)인데 인덱스 파티션 구성은(day)인 경우