1. 성능 데이터 모델링의 정의
성능 데이터 모델링
데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때 부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다.
2. 성능 데이터 모델링 수행시점
성능 데이터 모델링은 언제하면 좋은가?
- 사전에 할 수록 비용이 들지 않는다.
- 분석/설계단계에서 성능을 고려한 데이터 모델링을 수행하면, 나중에 성능저하때문에 발생하는 재업무(Rework)비용을 최소화할 수 있다.
- 비즈니스 처리에 핵심적인 트랜잭션이 있다면, 프로젝트 초기에 운영환경에 대비한 테스트환경을 구축하고 트랜잭션을 발생시켜 실제 성능테스트를 해보아야 한다.
데이터 모델의 구조도 변경하면서, 가장 적절한 구조인지를 검토하여 디자인하는 전략이 요구된다.
3. 성능 데이터 모델링 고려사항
- 일반적으로 성능 데이터 모델은 다음과 같은 프로세스로 진행하는 것이 데이터 모델링 단계에서 성능을 충분히 고려할 수 있는 방안이 된다.
- 1) 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
- 2) 데이터베이스 용량산정을 수행한다.
- 3) 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
- 4) 용량과 트랜잭션 유형에 따라 반정규화를 수행한다.
- 5) 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.
- 6) 성능관점에서 데이터 모델을 검증한다.
=> 데이터모델을 검토할 때는 일반적인 데이터 모델규칙만 검증하지 말고, 충분하게 성능이 고려되었는지도 체크리스트에 포함하여 검증하도록 한다.