개발자꿈나무

병렬 데이터베이스 분할 기법 본문

CS/데이터베이스론

병렬 데이터베이스 분할 기법

망재이 2024. 3. 7. 18:08
병렬 데이터베이스란

 

- 성능 개선을 목적으로 병렬 컴퓨팅을 통해 데이터 적재, 색인 빌드, 쿼리 평가 등의 데이터베이스 기능 수행

 

 

 

 

데이터베이스 분할 (파티셔닝)

 

- 데이터베이스를 여러 부분으로 분할하는 것

 

  • 목적
    - 데이터베이스가 너무 커져서, 조회하는 시간이 길어질 때 혹은 관리 용이성, 성능, 가용성 등을 향상하기 위함
    - 분할된 각 부분을 파티션이라고 함

    • 수평 분할 : 테이블을 행을 기준으로 분할하는 기법
      - 범위 분할 (Range Partitioning) : 분할 키 값이 범위 내에 있는지 여부로 구분 (예: 우편 번호를 분할 키로 수평 분할하는 경우)
      - 목록 분할 (List Partitioning) : 값 목록에 파티션을 할당 분할 키 값을 그 목록에 비추어 파티션을 선택 (예: Country라는 컬럼의 값이 Iceland, Norway, Sweden, Finland, Denmark중 하나에 있는행을 가져올때 북유럽 국가 파티션을 구축)
      - 해시 분할 (Hash Partitioning) : 해시 함수의 값에 따라 파티션에 포함할지 여부를 결정, 데이터의 관리 보다는 성능 향상에 목적 (예: 4개의 파티션으로 분할하는 경우 해시 함수는 0-3의 정수를 돌려줌)
      - 합성 분할 (Composite Partitioning) : 분할 기준으로 여러 기법을 결합해 사용
      - 라운드 로빈 분할 (Round Robin Partitioning) : 파티션에 행의 고른 분포를 원할 때 사용, 해시분할과 달리 분할 칼럼을 명시할 필요가 없으며 회전하면서 새로운 행이 파티션에 할당 -> 하나의 중앙처리장치를 임의의 프로세스가 종료될 때까지 차지하는 것이 아니라,여러 프로세스들이 중앙처리장치를 조금씩 돌아가며 할당받아 실행되는 방식으로, 리눅스를 포함한 대부분의 시스템에서 사용하는 방식

    • 수직 분할 : 테이블을 열을 기준으로 분할하는 기법분할 기법

 

수평분할과 수직분할

 

728x90

'CS > 데이터베이스론' 카테고리의 다른 글

관계대수 및 관계해석  (0) 2024.02.29
관계 데이터 모델  (2) 2024.02.29
데이터베이스 시스템  (0) 2024.02.25
데이터베이스 관리 시스템 (DBMS)  (2) 2024.02.25
데이터베이스 개요  (0) 2024.02.12