데이터베이스 파티션: Difference between revisions
From CS Wiki
No edit summary |
(→파티션 유형) |
||
Line 1: | Line 1: | ||
[[분류:데이터베이스]] | [[분류:데이터베이스]] | ||
*파티션: 테이블 또는 인덱스 등을 나누어둔 단위 | |||
* | *파티셔닝: 성능 개선 및 관리를 위해 테이블 또는 인덱스 등을 파티션이라는 단위로 나누어 저장하는 설계 기법 | ||
* 성능 | |||
== 파티션 유형 == | ==파티셔닝 목적== | ||
*관리 측면: 파티션 단위 백업, 추가, 삭제 | |||
*성능 측면: 파티션 단위로 처리하여 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 /> |
Latest revision as of 05:42, 27 September 2020
- 파티션: 테이블 또는 인덱스 등을 나누어둔 단위
- 파티셔닝: 성능 개선 및 관리를 위해 테이블 또는 인덱스 등을 파티션이라는 단위로 나누어 저장하는 설계 기법
파티셔닝 목적[edit | edit source]
- 관리 측면: 파티션 단위 백업, 추가, 삭제
- 성능 측면: 파티션 단위로 처리하여 DML 수행 경합 분산
파티션 유형[edit | edit source]
유형 | 설명 | 예시 |
---|---|---|
범위 분할
(Range Partition) |
|
|
해시 분할
(Hash Partition) |
|
|
목록 분할
(List Partition) |
|
|
조합 분할
(Composition Partition) |
|
|
인덱스 파티션[edit | edit source]
유형 | 설명 | 장점 | |
---|---|---|---|
키 대응 기준 | Local | 테이블 파티션과 1:1 대응 | 인덱스 스캔 효율 높음 |
Global | 테이블 파티션과 독립적으로 구성 | 인덱스 경합 분산에 유리 | |
위치 기준 | Prefixed | 테이블 파티션과 인덱스 구성 시작 칼럼이 같음 | 대부분의 경우 성능 우수 |
Non-Prefixed | 테이블 파티션과 인덱스 구성 시작 칼럼이 다름[1] | 해당 인덱스 칼럼 기준으로 검색 시 유리 |
- ↑ 테이블의 인덱스가(year, month, day)인데 인덱스 파티션 구성은(day)인 경우