반정규화
개념 : 데이터 베이스의 성능 향상을 위하여 데이터 중복을 허용하고 조인을 줄이는 방법
반정규화를 수행하는 경우
· 정규화를 하면 수행속도가 느려지는경우
· 다량의 범위를 자주 처리해야 하는 경우
· 특정 범위의 데이터만 자주 처리하는 경우
· 요약/집계 정보가 자주 요구 되는 경우
절차
· 대상 조사 및 검토 : 데이터 처리 범위 통계성등들 확인하여 반정규화 대상을 조사한다.
· 다른 방법 검토 : 반정규화를 수행하기 전에 다른 방법이 있는지 검토한다.
· 반정규화 수행 : 테이블,속성,관계등을 반정규화 한다.
기법
-계산된 칼럼 추가
· 테이블 수직 분할 : 하나의 테이블에서 칼럼을 분해하여 새로운 테이블을 만드는 것
· 테이블 수평 분할 : 하나의 테이블에 있는 값을 기준으로 테이블을 분할하는 방법
· 테이블 병합 : 1대1 관계의 테이블을 하나로 병합하여 성능을 향상 시킨다.
- 슈퍼타입 및 서브타입 변환 방법
One to one Type : 각각을 개별 테이블로 도출
Plus Tree : 슈퍼 타입 테이블과 서브타입 테이블로 도출한다.
Single Type : 슈퍼타입과 서브타입을 하나의 테이블로 도출한다.
파티션 기법
- 데이터베이스에서 파티션을 사용하여 테이블을 분해할 수 있다.
· Range Partition : 데이터 값의 범위를 기준으로 파티션을 수행한다.
· List Partition : 특정한 값을 지정하여 파티션을 수행한다.
· Hash partition : 해쉬함수를 적용하여 파티션을 수행한다.
· Composite partition : 범위와 해쉬를 복합적으로 사용한다.
'잡다한 이야기에 관하여 > SQLD' 카테고리의 다른 글
SQLD - [SQL 이해 및 활용 1] (0) | 2022.05.24 |
---|---|
SQLD [ 데이터 모델링의 이해 - 9] (0) | 2022.05.22 |
SQLD [ 데이터 모델링의 이해 - 7] (0) | 2022.05.20 |
SQLD [ 데이터 모델링의 이해 - 6] (0) | 2022.05.15 |
SQLD [ 데이터 모델링의 이해 - 5 ] (0) | 2022.05.14 |