mjieun
로그인
mjieun
로그인
[ SQLD : I. 데이터 모델링의 이해] 2-1. 성능 데이터 모델링의 개요
문지은
·
2023년 6월 1일
팔로우
0
Database
SQLD
db
0
SQLD
목록 보기
6/30
[SQLD 시험 대비] 1과목. 데이터 모델링의 이해 : 2장. 데이터 모델과 성능 - 1. 성능 데이터 모델링의 정의
성능 데이터 모델링의 개요
성능 데이터 모델링의 정의
실무 프로젝트에서 애플리케이션의 성능이 저하된 경우, SQL 문장만 집중해서 튜닝하는 경우가 많은데 근본적으로 테이블 디자인이 잘못된 경우가 많음.
데이터 모델 구조에 의한 성능 저하
데이터가 대용량이 되어 성능 저하
인덱스 특성을 충분히 고려하지 않고 인덱스를 생성하여 성능 저하
성능 데이터 모델링이란, 데이터베이스 성능향상을 목적으로
설계단계
의 데이터 모델링때부터 정규화, 반정규화, 테이블분할, 조인구조, PK, FK 등 여러가지 성능과 관련된 사항이 데이터모델링에 반영될 수 있도록 하는 것
성능 데이터 모델링은 정규화를 통해서도 수행할 수 있고, 인덱스의 특징을 고려해서 칼럼의 순서도 변형할 수 있음
대량의 데이터 특성에 따라 정규화된 모델이라도 테이블을 수직 또는 수평분할하여 적용하거나 논리적인 테이블을 물리적인 테이블로 전환할 때 데이터 처리의 성격에 따라 변환하는 방법도 성능 데이터 모델링의 범주
성능 데이터 모델링 수행시점
데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가
분석/설계 단계
에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무(Rework) 비용을 최소화 할 수 있는 기회를 가지게 됨
성능 데이터 모델링 고려사항
데이터 모델링을 할 때 정규화를 정확하게 수행한다.
데이터베이스 용량산정을 수행한다.
데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.
성능관점에서 데이터 모델을 검증한다.
문지은
코드로 꿈을 펼치는 개발자의 이야기, 노력과 열정이 가득한 곳 🌈
팔로우
이전 포스트
[ SQLD : I. 데이터 모델링의 이해] 1-5. 식별자(Identifiers)
다음 포스트
[ SQLD : I. 데이터 모델링의 이해] 2-2. 정규화와 성능 / 2-3. 반정규화와 성능
0개의 댓글
댓글 작성