본 문서의 내용은 한국데이터산업진흥원에서 펴낸 SQL 전문가 가이드를 기반으로 자격증 취득에 도움이 될 개념을 정리한 것입니다.
|
1. 성능 데이터 모델링 개요
1. 성능 데이터 모델링의 정의
성능 데이터 모델링이란 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것으로 정의할 수 있다.
성능 데이터 모델링이 단순히 반정규화만을 의미하지 않음을 주목해야 한다. 성능데이터 모델링은 정규화를 통해서도 수행할 수 있고 인덱스의 특징을 고려해서 칼럼의 순서도 변형할 수 있다. 또한 대량의 데이터특성에 따라 비록 정규화된 모델이라도 테이블을 수직 또는 수평분할하여 적용하는 방법도 있고 논리적인 테이블을 물리적인 테이블로 전환할 때 데이터 처리의 성격에 따라 변환하는 방법도 성능 데이터 모델링의 범주에 포함될 수 있다.
2. 성능 데이터 모델링 수행시점
성능 향상을 위한 비용은 프로젝트 수행 중에 있어서 사전에 할수록 비용이 들지 않는다. 특히 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무(Rework) 비용을 최소화 할 수 있는 기회를 가지게 된다.
3. 성능 데이터 모델링 고려사항
-
데이터 모델링을 할 때 정규화를 정확하게 수행한다.
- 데이터를 주요 관심사별로 분산시키는 효과가 있음
-
데이터베이스 용량산정을 수행한다.
- 어떤 엔터티(테이블)에 데이터가 집중되는지 파악할 수 있음
-
데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
- CRUD 매트릭스 또는 시퀀스 다이어그램을 보면 파악하기에 용이하며 데이터 조회에 필요한 조인 관계 등을 파악할 수 있게 됨
-
용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
- 테이블, 속성, 관계에 대해 포괄적인 반정규화 방법을 적용해야 함
-
이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행한다.
- 반드시 PK/FK를 성능이 우수한 순서대로 칼럼의 순서를 조정해야 함
-
성능 관점에서 데이터 모델을 검증한다.
↓SQL 전문가 가이드 요약 목록
1장. 데이터 모델링의 이해
Part 1. 데이터 모델링의 이해
Part 2. 데이터 모델과 성능
2장. SQL 기본 및 활용
Part 1. SQL 기본
Part 2. SQL 활용
Part 3. SQL 최적화 기본원리
따로 PDF 파일이 필요하신 분은 댓글을 통해 메일 주소 적어주시기 바랍니다.
'데이터 사이언스 > SQL' 카테고리의 다른 글
[SQLD 학습 자료 요약] 데이터 모델링의 이해 2.3. 반정규화와 성능 (0) | 2020.11.16 |
---|---|
[SQLD 학습 자료 요약] 데이터 모델링의 이해 2.2. 정규화와 성능 (0) | 2020.11.16 |
[SQLD 학습 자료 요약] 데이터 모델링의 이해 1.5. 식별자 (0) | 2020.11.16 |
[SQLD 학습 자료 요약] 데이터 모델링의 이해 1.4. 관계 (3) | 2020.11.11 |
[SQLD 학습 자료 요약] 데이터 모델링의 이해 1.3. 속성 (5) | 2020.11.11 |