SQLD자격증독학

[SQLD자격증독학] 15. 반정규화와 성능

i-moo 2017. 1. 19. 00:28
반응형

비정규화

- 아예 정규화를 수행하지 않은 모델


반정규화

- 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정을 의미

- 정규화만을 수행하면?

> 엔터티의 갯수가 증가하고 관계가 많아져 일부 여러 개의 조인이 걸려야만 데이터를 가져오는 경우가 있다

- 반드시 데이터 무결성을 보장할 수 있는 방법을 고려한 이후에 반정규화를 적용하도록 해야한다.


반정규화 절차

1. 반정규화 대상조사

2. 다른 방법유도 검토

- 지나치게 많은 조인 > 뷰(VIEW)를 사용하여 해결 가능

- 대량의 데이터처리나 부분처리 > 클러스터링을 적용하거나 인덱스를 조정

클러스터링? 대량의 데이터를 특정 클러스터링 팩트에 의해 저장방식을 다르게 하는 방법

입력/수정/삭제하는 경우 X, 조회가 대부분인 경우 O

- 대량의 데이터 > 파티셔닝 기법 적용

파티셔닝 기법? 인위적인 테이블을 통합/분리하지 않고 물리적인 저장기법에 따라 성능을 향상시킬 수 있는 방법

- 응용 어플리케이션에서 로직을 구사하는 방법

3. 반정규화 적용


반정규화의 기법

- 테이블 반정규화

- 칼럼 반정규화

- 관계 반정규화



반응형