본문 바로가기
DATABASE/Oracle

[Oracle] 파티션 (Partition) 1 - 테이블 파티션 이란?

by DANEW 2023. 7. 13.

Intro

안녕하세요.

초보 DBA 다뉴 입니다.

 

최근 Oracle업무에 Table Partition 을 사용할 일이 있었습니다.

처음 사용해 보는거라 약간 헤매기도 했는데요.

 

이것저것 공부한 내용을 정리한 내용과 새롭게 알게된 내용에 대해 정리해 보도록 하겠습니다.


파티션(Partition)

파티션 이란?

테이블이나 인덱스 데이터를 파티션 단위로 나누어 저장하는 것을 말합니다.

논리적으로는 하나의 테이블이나 인덱스를 여러 물리적 저장공간에 나누어 저장하는 것 인데요.

대용량의 데이터를 관리하고 성능을 향상 시키는데 많은 도움이 됩니다.

 

파티션을 사용하는 이유

파티션은 크게 관리적인 측면과 성능적인 측면에서 장점을 찾을 수 있습니다.

 

관리적 측면의 장점으로는 파티션 단위의 data작업의 수월함에 있습니다. 

데이터 추가,삭제,변경과 백업에 있어서 파티션 단위의 작업을 할 수 있게 될 경우 매우 간단하게 할 수 있게됩니다.

추후 설명 하게 될 Range Partitioning을 예로 들면, 매월 단위로 파티션을 생성 할 경우 오래된 월 파티션을 삭제하거나 백업 하는 등의 작업을 손쉽게 파티션 단위로 할 수 있게 됩니다.

 

성능적 측면의 장점으로는 파티션 단위의 DML 수행의 효율증가, 부하 분산에 있습니다.

관리적 측면에서 소개 하였듯이 파티션 단위의 DML을 수행할경우 일부 세그먼트(Segment)만 읽고 해당 작업을 할 수 있게 됩니다.


관련 키워드

Partition Key

파티션을 나누는 기준이 되는 Column을 Partition Key라고 합니다.

파티션의 종류에 따라 Partition Key는 단일 또는 복합으로 구성 될 수 있습니다.

파티션 종류

파티션의 종류는 크게 Range Partition, List Partition, Hash Partition으로 나누어 집니다.

 

Range Partition : 파티션 키를 기준으로 삼는 범위로 파티션을 구분

List Partition : 특정 값으로 파티션을 구분

Hash Partition : 해쉬값을 통한 파티션 구분

 

이외에도 Composite Partition, Interval Partition 등이 있습니다.

반응형

Partition Index

파티션 인덱스로는 Local Index, Global Index가 있습니다.

 

Local Index : 파티션의 키값을 기준으로 생성된 인덱스

Global Index : 파티션의 키값과는 별개의 인덱스


Outro

내용이 생각보다 길어져서 간단 요약을 하게 되었습니다.

다음편에는 Range Partition 과 Intarval Partition 에 대해 자세히 알아보도록 하겠습니다.

 

감사합니다.

반응형