728x90
1) 성능데이터 모델링의 개요
1. 성능 데이터 모델링의 정의
- 성능 데이터 모델링
- 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링부터 성능과 관련된 여러 사항(정규화, 반정규화, 테이블 통합/분할, 조인구조, PK, FK 등)을 데이터 모델링에 반영하는 것
- 성능을 저하시키는 원인
- 데이터 모델의 구조에 의해
- 데이터가 대용량이 되면서
- 인덱스 특성을 고려하지 않고 생성하여서
- 데이터 모델링에서의 '성능'
- 일반적으로 데이터 조회의 성능을 의미(반복적으로 빈번하게 발생하며, 여러 건을 처리해야하는 경우가 많다)
- 데이터 입력/수정/삭제는 일시적이며 빈번하지 않고, 하나의 이벤트를 처리함
2. 성능 데이터 모델링 수행 시점
- 성능 향상을 위한 비용은 프로젝트 수행 중 사전에 할 수록 적게 든다
- 특히, 분석/설계 단계에서 성능을 고려한 데이터 모델링을 수행할 경우, 재업무 비용을 최소화 할 수 있다
- 분석/설계에서부터 성능에 대한 데이터 모델 설계를 하지 않으면 시간이 지날수록 성능 개선 비용이 증가한다
3. 성능 데이터 모델링 고려사항
- 데이터 모델링시 정확한 정규화 수행
- 정규화 된 모델은 데이터를 분산시키는 효과가 있기 때문에 자연스럽게 성능 향상 결과를 낳는다
- 데이터베이스 용량산정 수행
- 데이터 모델에서 각각의 엔터티에 어느정도에 트랜잭션이 들어오는지 확인(용량 산정)
- 어떤 엔터티(테이블)에 데이터가 집중되는지 파악 가능
- 데이터베이스에 발생되는 트랜잭션 유형 파악
- 처리된 데이터들의 종류를 보며 이벤트(조회/입력/수정/삭제)에 따라 어떻게 처리되는지 유추 가능
- 트랜잭션 유형 파악으로 조인 관계에 있는 테이블과 그 칼럼들을 파악하여 성능향상을 위한 설계가 가능해진다
- 용량과 트랜잭션의 유형에 따른 반정규화 수행
- 테이블, 속성, 관계에 대해 포괄적인 반정규화 적용
- 이력모델 조정
- PK/FK의 순서가 인덱스 특성에 따라 성능에 영향을 많이 준다
- 따라서 PK/FK를 성능이 우수한(사용되는 순서에 따라) 순서대로 칼럼의 순서를 조정한다
- 성능 관점에서 데이터 모델 검증
출처 : https://blog.naver.com/handuelly/221709136796
728x90
300x250