[ 목차 ]
1. 성능 데이터 모델링의 정의
2. 성능 데이터 모델링 수행시점
3. 성능 데이터 모델링 고려사항
1. 성능 데이터 모델링의 정의
1) 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조
인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것
2) 데이터 용량이 커질수록, 기업의 의사결정 속도가 빨라질수록 데이터 처리 속도가 빨라져야할 필요성을 반증
3) 데이터 모델 구조, 대용량의 데이터, 인덱스 특성을 고려하지 않은 인덱스 생성으로 성능이 저하
4) 성능은 반복적이고 빈번하며 여러 건을 처리하는 데이터 조회의 성능을 보통 의미
5) 성능 데이터 모델링이 단순히 반정규화만을 의미하지 않음
2. 성능 데이터 모델링 수행시점
1) 성능 향상 비용은 프로젝트 수행 중 사전에 할수록 감소
2) 분석/설계 단계에서 성능을 고려한 모델링을 수행할 경우 성능저하에 따른 재업무 비용 최소화
3) 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가
3. 성능 데이터 모델링 고려사항
1) 데이터 모델링을 할 때 정규화를 정확하게 수행
1] 정규화된 모델이 데이터를 주요 관심사별로 분산시키는 효과가 있기 때문에 그 자체로 성능 향상효과
2) 데이터베이스 용량산정을 수행
1] 엔터티별로 데이터가 대용량인지 구분하기 때문에 테이블에 대한 성능고려를 엄격하게 적용해야 하는지의 기준
3) 데이터베이스에 발생되는 트랜잭션의 유형을 파악
1] SQL문장의 조인관계 테이블에서 데이터조회의 칼럼들을 파악하고, 그에 따른 성능을 고려한 데이터모델 설계 가능
4) 용량과 트랜잭션의 유형에 따라 반정규화를 수행
1] 테이블, 속성, 관계에 대해 포괄적인 반정규화 방법을 적용
5) 이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행
1] PK/FK를 성능이 우수한 순서대로 칼럼의 순서를 조정
6) 성능관점에서 데이터 모델을 검증
1] 충분하게 성능이 고려되었는지를 체크리스트에 포함하여 검증
'자격증 > SQLD' 카테고리의 다른 글
SQLD 1과목 2-3장. 반정규화와 성능 (0) | 2020.02.28 |
---|---|
SQLD 1과목 2-2장. 정규화와 성능 (0) | 2020.02.28 |
SQLD 1과목 1-5장. 식별자 (0) | 2020.02.27 |
SQLD 1과목 1-4장. 관계 (0) | 2020.02.27 |
SQLD 1과목 1-3장. 속성 (0) | 2020.02.26 |