성능 데이터 모델링

한준수·2023년 5월 28일
0

SQLD

목록 보기
7/31

성능 데이터 모델링 정의

성능 데이터 모델링이란 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK,FK등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는것.

분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무(Rework) 비용을 최소화 할 수 있다.

데이터의 증가가 빠를수록 성능저하에 따른 성능 개선비용은 기하급수적으로 증가하게 된다.

성능 데이터 모델링 고려사항

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

    정규화된 모델이 데이터를 주요 관심사별로 분산시키는 효과가 있기 때문에 그 자체로 성능을 향상시키는 효과가 있다.

  2. 데이터 베이스 용량산정을 수행한다.

    각각의 엔터티(테이블)에 대한 용량산정을 수행하면 어떤 엔터티(테이블)에 데이터가 집중되는지 파악할 수 있다.

    이 용량산정은 엔터티별로 데이터가 대용량인지를 구분하게 하기 때문에 테이블에 대한 성능고려를 엄격하게 적용해아하는지 기준이 될 수 있다.

  3. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.

    트랜잭션의 유형을 파악하게 되면 SQL문장의 조인관계 테이블에서 데이터 조회의 칼럼들을 파악할 수 있게 되어 그에 따라 성능을 고려한 데이터 모델을 설계할 수 있다.

  4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.

    반정규화는 테이블, 속성, 관계에 대해 포괄적인 반정규화의 방법을 적용해야 하며한다.

  5. 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정등을 수행한다.

    PK/FK를 성능이 우수한 순서대로 칼럼의 순서를 조정해야한다.

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

profile
빅데이터과 1학년

0개의 댓글