중 | DB Table partitioning | 데이터액세스시(특히풀스캔시) 액세스의범위를줄여성능을향상을위한, 여러개의세그먼트로나눈작업. 데이터가용성확보, I/O 분산 [기법] Vertical partitioning, Horizontal partitioning [유형] 레인지파티셔닝, 리스트파티셔닝, 해시파티셔닝, 결합파티셔닝 [동향] Reference 파티션, Interval 파티션 |
106.토픽 이름(중) | 데이터베이스 파티셔닝(Database Partitioning) |
분류 | DB > Data 관리 및 운영 |
키워드(암기) | DB, 레인지, 리스트, 해쉬, 결합 파티셔닝 |
암기법(해당경우) |
기출문제
번호 | 문제 | 회차 |
1 | 5. 대용량의 데이터 처리가 산업 전반에 걸쳐 상용화되고 있다. 대용량 데이터의 처리 및 검색 성능을 고려하여 데이터베이스를 파티션을 통해 분산 및 저장하는 것을 검토하고 있다. 다음에 대하여 설명하시오. 1) 파티셔닝을 추진하는 목적 2) 파티셔닝 종류 3) 분할 기준 |
119.컴시응.3교시.5 |
I. DB 파티셔닝의 배경과 종류 및 기준

- 서비스의 크기와 대용량 데이터의 증가에 따라 단일 DB의 용량과 성능 한계에 봉착
- 이를 극복하기 위해 테이블을 기준에 따라 분할하여 저장하는 파티셔닝 기법 등장
II. DB 파티셔닝의 추진 목적 및 파티셔닝 종류
- DB 파티셔닝의 추진 목적

- DB 파티셔닝의 종류
항목 | 수평 파티셔닝 | 수직 파티셔닝 |
개념도 | ![]() |
![]() |
개념 | - 하나의 Table을 행을 기준으로 서로 다 른 Table로 분리 시키는 파티셔닝 | - 하나의 Table을 컬럼을 기준으로 서로 다른 Table로 분리시키는 파티셔닝 |
Schema | - 파티셔닝 된 table간 schema 동일 | - 파티셔닝 된 table간 서로 다른 schema 사용 |
식별자 | - Key 기반으로 서로다른 table로 분산 | - 동일 key를 이용하여 서로 다른 column 저장 |
- 수평 파티셔닝은 Sharding 과 동일한 개념으로 사용
III. DB 파티셔닝의 분할 기준
- DB 파티셔닝 분할 기준 종류

- 동일한 논리적 속성을 가지며, 분할 하기 위해 Column값, Partitioning Key, 복합 Partitioning 방식으로 분할
- DB 파티셔닝의 분할 기준 상세 설명
파티셔닝기준 | 파티셔닝 종류 | 상세 설명 |
Column 값 기준 | Range Partition | - Logical 한 Column 값의 분산에 활용 - month, 분기 등 범위 값 |
List Partition | - 유사한 분포의 값의 분산에 활용 | |
파티셔닝 Key 기준 | Hash Partition | - Partition Key값에 Hash 함수를 적용하여 분할 |
복합 파티셔닝 | Range-Hash Partition | - Range 방식과 Hash 방식의 Hybrid - Range 방식 파티셔닝, 파티션 내부 해시방식 |
Range-List Partition | - Range 방식과 List 방식의 Hybrid - Range 방식 파티셔닝, 파티션 내부 List 방식 |
- 동일한 논리적 속성을 가지며, 분할 하기 위해 Column값, Partitioning Key, 복합 Partitioning 방식으로 분할
Ⅳ. DB 파티셔닝과 분산 DB
항목 | 파티셔닝 | 분산DB |
개념 | - 대용량 데이터를 동일한 논리적 속성을 가진 테이블로 분할하는 기법 | - 다수의 물리적인 DB를 하나의 논리적 DB로 연결하고 관리하는 DB의 한종류 |
물리적 DB 수 | 1대 | 여러대 |
목적 | - 대용량 테이블 처리 - 성능향 |
- 데이터 분산 저장 - 고가용성 확보 |
- 대용량 데이터의 필요성 증가로 인해, 효율적으로 저장하고 관리하기 위한 다양한 기법 및 기술이 등장
[참고] DB Table partitioning 의 유형
유형 | 개념도 | 설명 |
레인지 파티셔닝 (Range Partitioning) |
![]() |
-파티션 키 값의 범위로 분할 -가장 일반적인 형태로 일정 범위를 주어 분할 하는 기법 |
리스트 파티셔닝 (List Partitioning) |
![]() |
-불연속적인 값의 목록 을 각 파티션에 지정 -순와 연관성이 없는 데 이터의 그룹핑 |
해시 파티셔닝 (Hash Partitioning) |
![]() |
-파티션 키 값에 해시 함수 적용, 해쉬테이블로 파티션 매핑 -데이터가 모든 파티션 에 고르게 분산 -병렬 처리시 성능 향상 |
결합파티셔닝 (Composite Partitioning) | ![]() |
-레인지 파시셔닝 후 각 파티션내에서 해쉬, 혹은 리스트 기법으로 서브 파 티션 구성 -각 기법의 장점 결합 가능 |
Reference 파티션 |
![]() |
부모 테이블 파티션 키를 이용해 자식 테이블을 파티셔닝 하는기능 |
Interval 파티셔닝 |
![]() |
Range 파티션을 생 성할 때 interval, 기 준을 정의함으로써 정해진 간격으로 |
- 최근 다양한 결합 파티셔닝이 가능 해지면서 Range-Range , 리스트-해시, 리스트-리스트, 리스트-Range 기법들과 함께 Reference 파티션, Interval 파티셔닝 기법도 추가됨
반응형
'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글
공공데이터 (0) | 2023.08.30 |
---|---|
New SQL (0) | 2023.08.29 |
샤딩(Sharding) / Shard (0) | 2023.08.27 |
Hadoop 3.0 (0) | 2023.08.26 |
HDFS(Hadoop Distributed File System) (0) | 2023.08.25 |