[SQLD] 성능 데이터 모델링 및 반정규화

AReum·2023년 11월 1일

1. 성능 데이터 모델링이란?

  • 데이터베이스 성능 향상을 목적으로, 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것

2. 성능 데이터 모델링의 수행 절차

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

3. 반정규화(Denormalization)란?

  • 정규화된 엔터티, 속성 관계에 대해 시스템의 성능향상과 개발과 운영의 단순화하기 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법
  • 데이터를 중복하여 성능을 향상 시키기 위한 기법

4. 반정규화를 적용하는 경우

  • 데이터 조회 시 디스크 I/O량이 많아서 성능이 저하되는 경우
  • 경로가 너무 멀어 조인(Join)으로 인한 성능 저하가 예상되는 경우
  • 칼럼을 계산하여 읽을 때 성능이 저하되는 것을 예상되는 경우

5. 반정규화 절차

참고 사이트

https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=document&uid=333

profile
개발 관련 공부한 것을 기록합니다.🎈

0개의 댓글