[ SQLD : I. 데이터 모델링의 이해] 2-1. 성능 데이터 모델링의 개요

문지은·2023년 6월 1일
0

SQLD

목록 보기
6/30
post-thumbnail

[SQLD 시험 대비] 1과목. 데이터 모델링의 이해 : 2장. 데이터 모델과 성능 - 1. 성능 데이터 모델링의 정의

성능 데이터 모델링의 개요

성능 데이터 모델링의 정의

  • 실무 프로젝트에서 애플리케이션의 성능이 저하된 경우, SQL 문장만 집중해서 튜닝하는 경우가 많은데 근본적으로 테이블 디자인이 잘못된 경우가 많음.
    • 데이터 모델 구조에 의한 성능 저하
    • 데이터가 대용량이 되어 성능 저하
    • 인덱스 특성을 충분히 고려하지 않고 인덱스를 생성하여 성능 저하
  • 성능 데이터 모델링이란, 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링때부터 정규화, 반정규화, 테이블분할, 조인구조, PK, FK 등 여러가지 성능과 관련된 사항이 데이터모델링에 반영될 수 있도록 하는 것
  • 성능 데이터 모델링은 정규화를 통해서도 수행할 수 있고, 인덱스의 특징을 고려해서 칼럼의 순서도 변형할 수 있음
  • 대량의 데이터 특성에 따라 정규화된 모델이라도 테이블을 수직 또는 수평분할하여 적용하거나 논리적인 테이블을 물리적인 테이블로 전환할 때 데이터 처리의 성격에 따라 변환하는 방법도 성능 데이터 모델링의 범주

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

  • 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가
  • 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무(Rework) 비용을 최소화 할 수 있는 기회를 가지게 됨

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

  • 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
  • 데이터베이스 용량산정을 수행한다.
  • 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
  • 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
  • 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.
  • 성능관점에서 데이터 모델을 검증한다.
profile
코드로 꿈을 펼치는 개발자의 이야기, 노력과 열정이 가득한 곳 🌈

0개의 댓글