성능 데이터 모델링이란 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK,FK등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는것.
분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무(Rework) 비용을 최소화 할 수 있다.
데이터의 증가가 빠를수록 성능저하에 따른 성능 개선비용은 기하급수적으로 증가하게 된다.
데이터 모델링을 할 때 정규화를 정확하게 수행한다.
정규화된 모델이 데이터를 주요 관심사별로 분산시키는 효과가 있기 때문에 그 자체로 성능을 향상시키는 효과가 있다.
데이터 베이스 용량산정을 수행한다.
각각의 엔터티(테이블)에 대한 용량산정을 수행하면 어떤 엔터티(테이블)에 데이터가 집중되는지 파악할 수 있다.
이 용량산정은 엔터티별로 데이터가 대용량인지를 구분하게 하기 때문에 테이블에 대한 성능고려를 엄격하게 적용해아하는지 기준이 될 수 있다.
데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
트랜잭션의 유형을 파악하게 되면 SQL문장의 조인관계 테이블에서 데이터 조회의 칼럼들을 파악할 수 있게 되어 그에 따라 성능을 고려한 데이터 모델을 설계할 수 있다.
용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
반정규화는 테이블, 속성, 관계에 대해 포괄적인 반정규화의 방법을 적용해야 하며한다.
이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정등을 수행한다.
PK/FK를 성능이 우수한 순서대로 칼럼의 순서를 조정해야한다.
성능관점에서 데이터 모델을 검증한다.