개발자꿈나무
병렬 데이터베이스 분할 기법 본문
병렬 데이터베이스란
- 성능 개선을 목적으로 병렬 컴퓨팅을 통해 데이터 적재, 색인 빌드, 쿼리 평가 등의 데이터베이스 기능 수행
데이터베이스 분할 (파티셔닝)
- 데이터베이스를 여러 부분으로 분할하는 것
- 목적
- 데이터베이스가 너무 커져서, 조회하는 시간이 길어질 때 혹은 관리 용이성, 성능, 가용성 등을 향상하기 위함
- 분할된 각 부분을 파티션이라고 함 -
- 수평 분할 : 테이블을 행을 기준으로 분할하는 기법
- 범위 분할 (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 |