본문 바로가기
공부/개념

DB에서의 partitioning(분할, 파티셔닝)

by 촌쥐 2021. 6. 7.

RDB에서는 빅데이터를 관리하거나 효율성을 위해 사용하는 기법으로 Partitioning 이 있습니다.

제가 기억하기 위해 정리해봅니다.

 

Partitioning (분할)

출처 : https://oracle-base.com/articles/12c/partitioned-external-tables-12cr2

말그대로 분할하는 것을 뜻합니다. 

무엇을 분할하느냐? RDB에서 Table을 분리하는 것입니다. 

위의 그림과 같이 예를 들어 하나의 테이블이 있는 경우 이것을 적당한 방법을 통하여

2개 혹은 그 이상으로 나누는 것을 뜻합니다. 

이 나누는 방법에 범위를 정하는 것에는 여러가지가 있는데 어렵지 않아 간단하게 설명 드리겠습니다. 

 

1. List Partitioning

리스트로 나누어서 파티셔닝을 하는 것을 뜻합니다. 

예로 [서울,인천,대전,광주,대구,울산,부산] 이라는 인덱스들이 있다면 

[서울, 인천] [대전,광주] [대구,울산,부산] 이런식으로 임의의 기준을 가지고 나누는 것을 뜻합니다.

 

2. Range Partitioning

범위로 나누어서 파티셔닝을 하는 것을 뜻합니다. 

1월에서 12월까지의 인덱스들이 있다면 [1,2,3]...[10,11,12] 이런 식으로 분기 범위로 나누어서 

범위를 정해서 나누는 형식의 파티셔닝 입니다.

 

3. Hash Partitioning

말그대로 hash 함수를 사용하여 파티셔닝을 하는 방법입니다.

인덱스를 해쉬함수를 통해 분류를 하는 것이지요.

 

이 밖에도 테이블을 나누는 방식에 따라 

Vertical(행, 세로) 와 Horizontal(열, 가로)의 방식이 있으나 이는 간단하여 따로 다루지는 않겠습니다.


참조 

실시간 빅데이터는 어떻게 분석할까? | https://d2.naver.com/helloworld/694050

샤딩과 파티셔닝의 차이점 | http://theeye.pe.kr/archives/1917

Database의 파티셔닝(Partitioning)이란? | https://nesoy.github.io/articles/2018-02/Database-Partitioning

'공부 > 개념' 카테고리의 다른 글

NoSQL 저장 유형별 간단 정리  (0) 2021.06.06
RDBMS, NoSQL, Elasticsearch 그리고 Hadoop  (0) 2021.06.04
apache kafka 개념 정리  (0) 2021.06.03
[네트워크] TCP/UDP 간단 정리  (2) 2021.05.30
RESTful API 개념 정리  (0) 2021.05.29

댓글