-> 블로그 이전

[SQLD] 1-2. 성능 데이터 모델

2021. 10. 26. 16:27Certificate`/SQLD

데이터 모델의 성능 저하 이유

1. 데이터 모델 구조

2. 대용량 데이터

3. 인덱스의 특성을 고려하지 않은 인덱스 생성

 

성능 데이터 모델

정의

- DB 성능 향상을 목적으로 설계단계의 데이터 모델로부터 (정규화, 반정규화, 테이블 분할, 조인 구조, PK/FK) 등 이러한 사항이 데이터 모델에 반영될 수 있도록 하는 것

 

수행 시점

- 분석/설계 단계에서 성능 데이터 모델을 구현하게 되면 Rework Cost(재업무 비용)이 최소화 된다

- 즉 시기가 빠를수록 좋다

 

고려사항

1. 데이터 모델링을 할 때 정규화를 정확하게 수행

2. DB 용량 산정 수행

3. DB에 발생하는 트랜잭션의 유형 파악

4. 용량, 트랜잭션의 유형을 고려해서 반정규화 수행

5. 이력 모델 조정 / PK·FK 조정 / 슈퍼·서브 타입 조정을 수행

  • 대량 데이터가 처리되는 이력 모델에 대한 성능 고려해서 컬럼 등을 추가하도록 설계
  • PK/FK의 순서가 인덱스 특성에 따라 성능에 영향을 크게 미치기 때문에 성능이 우수한 순서대로 PK/FK 컬럼의 순서 조정

6. 성능 관점에서 데이터 모델 검증

  • 데이터 모델 규칙 + 충분한 성능이 고려되었는지 까지 검증해야 한다