DB Partitioning의 개념과 장단점을 이해한다.

Goal

  • DB 파티셔닝(Partitioning)이란
  • DB 파티셔닝(Partitioning)의 장단점
  • DB 파티셔닝(Partitioning)의 종류
  • DB 파티셔닝(Partitioning)의 분할 기준

DB 파티셔닝(Partitioning)이란

배경

개념

목적

  1. 성능(Performance)
    • 특정 DML과 Query의 성능을 향상시킨다.
    • 주로 대용량 Data WRITE 환경에서 효율적이다.
    • 특히, Full Scan에서 데이터 Access의 범위를 줄여 성능 향상을 가져온다.
    • 많은 INSERT가 있는 OLTP 시스템에서 INSERT 작업을 작은 단위인 partition들로 분산시켜 경합을 줄인다.
  2. 가용성(Availability)
    • 물리적인 파티셔닝으로 인해 전체 데이터의 훼손 가능성이 줄어들고 데이터 가용성이 향상된다.
    • 각 분할 영역(partition별로)을 독립적으로 백업하고 복구할 수 있다.
    • table의 partition 단위로 Disk I/O을 분산하여 경합을 줄이기 때문에 UPDATE 성능을 향상시킨다.
  3. 관리용이성(Manageability)
    • 큰 table들을 제거하여 관리를 쉽게 해준다.

DB 파티셔닝(Partitioning)의 장단점

장점

단점

DB 파티셔닝(Partitioning)의 종류

1. 수평(horizontal) 파티셔닝

하나의 테이블의 각 행을 다른 테이블에 분산시키는 것이다.

2. 수직(vertical) 파티셔닝

테이블의 일부 열을 빼내는 형태로 분할한다.

DB 파티셔닝(Partitioning)의 분할 기준

데이터베이스 관리 시스템은 분할에 대해 각종 기준(분할 기법)을 제공하고 있다. 분할은 ‘분할 키(partitioning key)’를 사용한다.

1. 범위 분할 (range partitioning)

2. 목록 분할 (list partitioning)

3. 해시 분할 (hash partitioning)

4. 합성 분할 (composite partitioning)

References