*성능데이터모델링
-> SQL구문의 문제로 성능 저하가 가능하지만
근본적 디자인이 잘못된 경우도 존재한다
1. 데이터 모델로 구조로 성능저하
2. 데이터가 대용량이 되어 불가피한 성능 저하
3. 인덱스 특성 고려없이 생성
=> 분석 설계 단계에서 성능 설계를 하지 않으면 시간이 지날수록 성능개선 비용이 증가한다.
*성능 데이터 모델링 고려사항 순서
1. 정규화를 정확하게 한다
2. DB용량을 산정
3. 발생 트랜잭션 유형 파악
4. 용량과 트랜잭션 유형에 따라 반정규화
5. PK FK 조정
6. 성능 관점 데이터 모델 검증
*정규화 / 반정규화
- 정규화 : 중복을 최소로 만든다
- 반정규화 : 중복을 더해 읽는 시간을 최소로 해 성능 향상
*정규화 원칙
1. 정보의 무손실 표현
2. 분리의 원칙
3. 중복 감소
* 1차 정규화 : 같은 성격과 내용의 컬럼이 연속적으로 중복 존재할떄
-> 제거 후 PK 추가, 테이블 생성
* 2차 정규화 : PK가 복합키이지만 속성이 부분적 키에만 종속됨 (부분적 함수 종속 관계)
-> 중복이 되어도 1:M 으로 떼어낸다
* 3차 정규화 : PK에 의존하지 않고 일반 컬럼에 의존하는 속성 존재 (이전적함수종속관계)
'SQLD' 카테고리의 다른 글
SQLD (3)관계, 식별자 (0) | 2022.11.04 |
---|---|
SQLD (2) 엔터티 (0) | 2022.11.04 |
SQLD (1)모델링 (0) | 2022.11.04 |
SQLD () JOIN (0) | 2022.06.28 |