공부 정리용!
자료는 한국데이터산업진흥원 참고 사용
https://dataonair.or.kr/db-tech-reference/d-guide/sql
1. 성능데이터 모델링의 정의
1) 데이터 모델 구조에 의한 성능 저하
2) 데이터가 대용량이 되며 발생하는 성능저하
3) 인덱스 특성을 고려하지 않고 생성함으로 인한 성능 저하
>> 성능 데이터 모델링이란 데이터베이스 성능 향상을 목저으로 설계단계의 데이터 모델링 때 부터 '정규화', '반정규화', '테이블통합', '테이블 분할', '조인구조', PK, FK 등 여러 성능 관련 사항이 데이터 모델링에 반영될 수 있도록 정의
>> 정규화된 모델이라도 수직 또는 수평분할하여 적용하는 방법도 있고 논리적 테이블을 물리적 테이블로 전환시 데이터 성격에 따라 변환하는 방법도 포함 됨
2. 성능데이터 모델링 수행시점
- 프로젝트 사전에 할 수록 비용이 들지 않음
- 분석/설계 단계에서 데이터모델에 대한 성능을 고려한 데이터 모델링 수행 시 성능저하에 따른 재업무 (Rework)비용을 최소화 가능
3. 성능데이터 모델링 고려사항
1) 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
> 데이터를 주요 관심사별로 분산 시켜 성능향상 효과
2) 데이터베이스 용량산정을 수행한다.
> 데이터 모델의 각각의 엔터티에 어느정도의 트랜잭션이 들어오는지 살펴봄 - 엔터티에 대한 용량 산정
3) 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
> CRUD 매트릭스를 보고 파악 OR 객체지향 모델링을 적용하여 시퀀스 다이어그램을 보면 트랜잭션 유형 파악에 용이
> 화면에 처리된 데이터의 종류를 보고 이벤트(입력, 수정, 삭제, 조회) 에 따라 데이터 처리 유추 가능
4) 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
>> 반정규화는 테이블, 속성, 관계에 대해 포괄적인 반정규화 방법을 적용해야 함
5) 이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행한다.
>> 대량의 데이터가 처리되는 이력모델에 대한 성능 고려, PK, FK 순서가 인덱스 특성에 따라 성능에 영향을 미치는 영향도가 크므로 반드시 PK/FK 성능이 우수한 순서대로 칼럼의 순서를 조정
6) 성능관점에서 데이터 모델을 검증한다.
>> 전체적으로 성능에 대한 충분한 고려가 되었는지 데이터 모델에서 재 검토
SQL 자격검정 실전문제 (오답노트)
31. 다음 중 성능 데이터 모델에 대한 설명으로 가장 부적절한 것은?
1. 성능이 저하된 결과를 대상으로 데이터모델보다는 문제발생 시점의 SQL 을 중심으로 집중하여 튜닝한다
2. 데이터 증가가 빠를수록 성능저하에 따른 성능개선비용은 증가한다.
3. 데이터모델은 성능을 튜닝하면서 변경이 될 수 있는 특징이 있다.
4. 분석/설계 단게에서 성능을 고려한 데이터모델링을 수행 할 경우 성능저하에 따른 Rework 비용을 최소화 할 수 있는 기회를 가지게 된다.
33. 다음 중 아래에서 성능을 고려한 데이터 모델링의 순서로 가장 적절한것은?
가. 데이터 모델링을 할 때 정규화를 정확하게 수행한다.
나. 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
다. 데이터베이스 용량산정을 수행한다.
라. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
마. 성능관점에서 데이터모델을 검증한다.
바. 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다.
1. 가-나-다-라-마-바
2. 가-나-다-라-바-마
3. 가-다-라-바-나-마
4. 가-다-라-나-바-마
참고사이트 :
https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=document&uid=331
SQL 자격검정 실전문제
https://product.kyobobook.co.kr/detail/S000001399867
1/4
'SQL' 카테고리의 다른 글
SQL - 데이터모델링의 이해 (식별자) (0) | 2023.03.08 |
---|---|
SQL - 데이터모델링의 이해 (관계) (0) | 2023.03.07 |
SQL - 데이터모델링의 이해 (속성) (0) | 2023.03.07 |
SQL - 데이터모델링의 이해 (엔터티) (0) | 2023.03.02 |
SQL - 데이터 모델링의 이해 (개요) (0) | 2023.02.22 |