반응형
- 테이블 반정규화 중 테이블 분할 관련
- 블록 : 테이블의 데이터 저장 단위
1. 대량 데이터 발생으로 인한 현상
- 블록 I/O횟수 증가 -> 디스트 I/O 가능성 상승(디스크 I/O 시 성능 저하)
- 로우 체이닝(Row Chaining) : 행 길이가 너무 길어 여러 블록에 걸쳐 저장되는 현상
- 로우 마이그레이션(Row Migration) : 수정된 데이터가 해당 블록이 아닌 다른 블록의 빈 공간에 저장되는 현상
2. 테이블 분할
- 반정규화 기법
- 수직분할 : 칼럼 단위로 테이블을 분할하여 I/O를 감소시킴. 너무 많은 수의 칼럼이 있는 경우 사용
- 수평분할 : 행 단위로 테이블을 분할하여 I/O를 감소시킴
3. 파티셔닝(Pratitioning)
- 테이블 수평분할 기법
- 논리적으로는 하나의 테이블이지만 물리적으로 여러 데이터 파일에 분산 저장
- 데이터 조회 범위를 줄여 성능 향상
- Range Partition : 데이터 값의 범위를 기준으로 분할
- List Partition : 특정한 값을 기준으로 분할
- Hash Partition : 해시 함수를 적용하여 분할, DBMS가 알아서 분할 관리, 데이터 위치를 알 수 없음
- Composite Partition : 여러 파티션 기법을 복합적으로 사용하여 분할
- 파티션 인덱스(Partition Index)
- Global Index, Local Index : 여러 파티션에서 단일 인덱스 사용, 파티션 별로 각자 인덱스 사용
- Prefixed Index, Non-Prefixed Index : 파티션키와 인덱스키 동일, 파티션키와 인덱스키 구분
반응형
'SQLD > 1과목 데이터 모델링의 이해' 카테고리의 다른 글
[SQLD]Ⅰ- 2장 데이터 모델링과 성능 - 6절 분산 DB 데이터에 따른 성능 (0) | 2022.03.28 |
---|---|
[SQLD]Ⅰ- 2장 데이터 모델링과 성능 - 5절 데이터베이스 구조와 성능 (0) | 2022.03.28 |
[SQLD]Ⅰ- 2장 데이터 모델링과 성능 - 3절 반정규화와 성능 (0) | 2022.03.24 |
[SQLD]Ⅰ- 2장 데이터 모델링과 성능 - 2절 정규화와 성능 (0) | 2022.03.23 |
[SQLD]Ⅰ- 2장 데이터 모델링과 성능 - 1절 성능 데이터 모델링의 개요 (0) | 2022.03.23 |