게임 개발자를 향해

파티션(Patition) 본문

정보처리기사/2. 데이터 입출력 구현

파티션(Patition)

뿌단이 2022. 9. 13. 17:53

1. 파티션(Patition)

  • 데이터베이스에서 파티션은 대용량의 테이블이나 인덱스작은 논리적 단위인 파티션으로 나누는 것을 말한다.
  • 대용량 DB의 경우 몇 개의 중요한 테이블에만 집중되어 데이터가 증가되므로 이런 테이블들을 작은 단위로 나눠 분산시키면 성능저하를 방할 뿐만 아니라 데이터 관리도 쉬워진다.
  • 데이터 처리는 테이블 단위로 이뤄지고, 데이터 저장은 파티션별로 수행된다.

 

2. 파티션의 장단점

<장점>

  • 데이터 접근 시 액세스 범위를 줄여 쿼리 성능이 향상
  • 파티션 별로 이터가 분산되어 저장되므로 디스크의 성능이 향상
  • 파티션 별로 백업 및 복구를 수행하므로 속도가 빠름
  • 시스템 장애 시 데이터 손상 정도를 최소화 할 수 있음
  • 데이터 가용성이 향상
  • 파티션 단위로 입출력을 분산시킬 수 있음

 

<단점>

  • 하나의 테이블을 세분화하여 관리하므로 세심한 관리가 요구
  • 테이블간 조인에 대한 비용이 증가
  • 용량이 작은 테이블에 파티셔닝을 수행하면 오히려 성능이 저하

 

3. 파티션의 종류

종류 내용
범위 분할
(Range Partitioning)
- 지정한 열의 값을 기준으로 분할함
해시 분할
(Hash Partitioning)
- 해시 함수를 적용한 결과 값에 따라 데이터를 분할함
- 특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완한 것으
  로, 데이터를 고르게 분산할 때 유용함
- 특정 데이터가 어디에 있는지 판단할 수 없음
- 고객번호, 주민번호 등과 같이 데이터가 고른 컬럼에 효과적임
조합 분할
(Composite Partitioning)
- 범위 분할로 분할한 다음 해시함수를 적용하여 다시 분할하는 방식
- 범위 분할한 파티션이 너무 커서 관리가 어려울 때 유리함

 

<여기서 Tip!>

파티션의 종류는 3가지만 외우자

 

범위 분할 : 지정한 기준으로 분할하는것 (일별 월별 분기별 등 날짜별 기준)

해시 분할 : 해시함수를 적용하여 데이터가 집중되는 범위분할의 단점을 보완하여 데이터를 고르게 분산할 때 사용한다,

조합 분할 : 위 두 가지 분할을 같이 사용하는것이로 범위 분할한 파티션이 너무 클 때 해시함수를 적용하여 다시 분할하는 방식이다.

 

 

 

읽어주셔서 감사합니다!

정처기 화이팅!