[SQLD] 1-2. 성능 데이터 모델
2021. 10. 26. 16:27ㆍCertificate`/SQLD
데이터 모델의 성능 저하 이유
1. 데이터 모델 구조
2. 대용량 데이터
3. 인덱스의 특성을 고려하지 않은 인덱스 생성
성능 데이터 모델
정의
- DB 성능 향상을 목적으로 설계단계의 데이터 모델로부터 (정규화, 반정규화, 테이블 분할, 조인 구조, PK/FK) 등 이러한 사항이 데이터 모델에 반영될 수 있도록 하는 것
수행 시점
- 분석/설계 단계에서 성능 데이터 모델을 구현하게 되면 Rework Cost(재업무 비용)이 최소화 된다
- 즉 시기가 빠를수록 좋다
고려사항
1. 데이터 모델링을 할 때 정규화를 정확하게 수행
2. DB 용량 산정 수행
3. DB에 발생하는 트랜잭션의 유형 파악
4. 용량, 트랜잭션의 유형을 고려해서 반정규화 수행
5. 이력 모델 조정 / PK·FK 조정 / 슈퍼·서브 타입 조정을 수행
- 대량 데이터가 처리되는 이력 모델에 대한 성능 고려해서 컬럼 등을 추가하도록 설계
- PK/FK의 순서가 인덱스 특성에 따라 성능에 영향을 크게 미치기 때문에 성능이 우수한 순서대로 PK/FK 컬럼의 순서 조정
6. 성능 관점에서 데이터 모델 검증
- 데이터 모델 규칙 + 충분한 성능이 고려되었는지 까지 검증해야 한다