본문 바로가기

SQLD/SQL 전문가 가이드

1.2.1 제1절 데이터 모델링의 개요

1. 성능 데이터 모델링의 정의

  • 성능저하 원인
    • 데이터 모델 구조에 의해 성능저하
    • 데이터가 대용량이 됨으로 의한 성능저하
    • 인덱스 특성을 충분히 고려하지 않고 인덱스를 생성함으로 인한 성능저하
  • 성능 데이터 모델링
    • 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영 될 수 있도록 하는 것으로 정의
    • 단순히 반정규화만으로 진행되지 않음
    • 정규화 및 인덱스의 특징을 고려하여 컬럼의 순서도 변형 하여 성능개선이 가능
    • 정규화된 모델이더라도 테이블을 수직 또는 수평분할 하는 방법

 

2. 성능 데이터 모델링의 수행시점

  • 성능 향상을 위한 비용은 프로젝트 수행 중에 있어서 사전에 할수록 비용이 들지 않음
  • 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무 비용을 최소화 할 수 있는 기회를 가지게 됩니다.
  • 특히 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가하게 된다.

 

 

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

성능 데이터 모델링 프로세스

  • 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
  • 데이터베이스 용량산정을 수행한다.
  • 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
  • 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
  • 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.
  • 성능관점에서 데이터 모델을 검증한다.
반응형

'SQLD > SQL 전문가 가이드' 카테고리의 다른 글

1.2.4 제4절 대량 데이터에 따른 성능  (0) 2021.08.23
1.2.2 제2절 정규화와 성능  (0) 2021.08.23
1.1.5 제5절 식별자  (0) 2021.08.23
1.1.4 제4절 관계  (0) 2021.08.23
1.1.3 제3절 속성  (0) 2021.08.23