[SQLD] 파티셔닝(Partitioning)

당당·2023년 5월 1일
0

SQLD

목록 보기
5/6
post-custom-banner

📔설명

Partitioning(파티셔닝) : 데이터베이스를 여러 부분으로 분할


👉🏻범위 분할

범위 분할(Range Partitioning) : 분할 키 값이 범위 내에 있는지 여부로 구분.

ex) 우편 번호를 분할 키로 수평 분할


📰목록 분할

목록 분할(List Partitioning) : 값 목록에 파티션 분할 키 값을 그 목록에 비추어 파티션 선택.

ex) Country 컬럼이 Iceland, Norway, Denmark 중 하나에 있는 행을 가져올 때 북유럽 국가 파티션을 구축할 수 있음


📏해시 분할

해시 분할(Hash Partitioning) : 해시 함수의 값에 따라 파티션에 포함할지 여부 결정. 데이터 관리보다는 성능 향상에 목적

ex) 4개의 파티션으로 분할하는 경우 해시 함수는 0-3의 정수를 반환


🧶합성 분할

합성 분할(Composite Partitioning) : 분할 기준으로 여러 기법을 결합해 사용


🔮라운드 로빈

라운드 로빈(Round Robin) : 파티션에 행의 고른 분포를 원할 때 사용.

  • 해시 분할과 달리 컬럼 명시할 필요 없음
  • 회전하면서 새로운 행이 파티션에 할당
  • 하나의 중앙처리장치를 임의의 프로세스가 종료될 때까지 차지하는 것이 아니라, 여러 프로세스들이 중앙처리장치를 조금씩 돌아가며 할당받는 방식.

ex) 아이스크림을 한 명이 1/3씩 먹는것이 아니라 각각 조금씩 돌아가며 먹는다.

profile
MySQL DBA 신입
post-custom-banner

0개의 댓글