brunch

You can make anything
by writing

C.S.Lewis

by imRachel Apr 30. 2023

[SQLD2] 1. 성능 데이터 모델링의 개요

기획자의 데이터 공부 - 데이터 모델과 성능

* 성능 데이터 모델링의 정의

- 데이터 용량이 커질수록 기업의 의사결정의 속도가 빨라질수록 데이터 처리 속도는 빨라져야 함

- 일반적으로 성능은 데이터조회의 성능을 의미

  데이터 입력, 수정, 삭제는 일시적이고 빈번하지 않고 단건 처리가 많지만

  데이터 조회는 반복적이고 빈번하고 여러 건을 처리하는 경우가 많기 때문

- 데이터 모델링 시 작업 유형에 따라 어떤 성능 향상을 도모해야 하는지 목표를 분명하게 해야 함

- 성능 데이터 모델리이란 데이터베이스 성능향상을 목적으로

  설계 단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영되도록 하는 것

- 성능 데이터 모델링이 단순히 반정규화만을 의미하지 않음

  정규화, 인덱스, 수직 또는 수평분할, 데이터 처리의 성격에 따라 변환 등


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

- 성능 향상을 위한 비용은 프로젝트 수행 중 사전에 할수록 비용이 적음

- 분석/설계 단계때부터 치밀하게 성능에 대비한 설곌ㄹ 하지 않아 성능 저하를 대상으로 근시안적 튜닝 적용X

- 분석/설계 단계에서 데이터베이스 처리 성능 향상을 위한 방법을 주도면밀하게 고려해야 함


* 성능 데이터 모델시 고려사항

- 데이터 모델링 시 정규화를 정확하게 수행 : 데이터를 주요 관심사별로 분산시키는 효과

- 데이터베이스 용량산정 수행 : 각 엔티티에 어느 정도 트랜잭션이 들어오는지 살펴보기 좋음

- 데이터베이스에 발생되는 트랜잭션의 유형을 파악 : CRUD 매트릭스, 객체지향 모델링 시 시퀀스 다이어그램

- 용량과 트랜잭션의 유형에 따라 반정규화 수행 : 테이블, 관계에 대해 포괄적인 반정규화 적용

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

- 성능 관점에서 데이터 모델 검증


[본 글은 SQLD 자격증 공부를 위해 아카이빙한 글입니다.

출처 - https://snnchallenge.tistory.com/195]

작가의 이전글 [SQLD1] 5.3 ERD, 데이터 모델의 요소
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari