RDB에서는 빅데이터를 관리하거나 효율성을 위해 사용하는 기법으로 Partitioning 이 있습니다.
제가 기억하기 위해 정리해봅니다.
Partitioning (분할)
말그대로 분할하는 것을 뜻합니다.
무엇을 분할하느냐? 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 |
댓글