-
SQLD 성능 데이터 모델링 개요 / PDF 요약정리Web dev/SQL 2022. 10. 10. 13:36728x90반응형
성능 데이터 모델링 개요
성능 데이터 모델링이란?
데이터베이스의 성능 향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것
성능 데이터 모델링 수행 절차
1.데이터 모델링을 할 때 정규화를 정확하게 수행한다.
2.데이터베이스 용량산정을 수행한다.
3.데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
4.용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.
5.이력 모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행한다.
6.성능 관점에서 데이터 모델을 검증한다.
정규화와 성능
정규화란?
*데이터 베이스 설계에서 중복 요소를 찾아 제거하고 데이터를 구조화 하는 프로세스
제 1 정규화
*하나의 속성은 반드시 하나의 값을 가져야 한다.
제 2 정규화
*제 1 정규형을 만족
*주식별자가 아닌 모든 속성이 주식별자에 완전 함수 종속 되어야 한다.
*함수의 부분 종속을 분리하는 과정
*제2 정규형을 만족하려면 모든 속성은 반드시 기본키 전부에 종속 되어야 한다.
제 3 정규화
*제2 정규화를 만족하고 이행 함수 종속이 없어야 한다.
BCNF 정규화
*릴레이션의 모든 결정자가 후보키인 릴레이션
반정규화와 성능
반정규화(역정규화)란?
*정규화된 엔티티, 속성, 관계에 대해 시스템의 성능 향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 의미함
*데이터를 중복하여 성능을 향상시키는 기법
*성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정
반정규화 절차
1. 반정규화 대상 조사
*범위 처리 빈도수 조사
*대량의 범위 처리 조사
*통계성 프로세스 조사
*테이블 조인 개수
2. 다른 방법 유도 검토
*뷰(VIEW) 테이블
*클러스터링 적용
*인덱스의 조정
*응용프로그램(애플리케이션)
3. 반정규화 적용
*테이블 반정규화
*속성 반정규화
*관계 반정규화
대량 데이터에 따른 성능
로우체이닝
*로우의 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 저장되어 있는 형태
*불필요한 I/O가 많이 발생하여 성능이 저하됨
로우마이그레이션
*데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식
*불필요한 I/O가 많이 발생하여 성능이 저하됨
분산 데이터베이스와 성능
분산 데이터베이스의 장점
*지역 자치성, 점증적 시스템 용량 확장
*신뢰성과 가용성
*효용성과 융통성
*빠른 응답 속도와 통신 비용 절감
*데이터의 가용성과 신뢰성 증가
*시스템 규모의 적절한 조절
*각 지역 사용자의 요구수용 증대
분산 데이터베이스의 단점
*소프트웨어 개발 비용 증가
*잠재적인 오류 발생 가능성 증가
*처리 비용 증대
*설계, 관리의 복잡성과 비용 증가
*불규칙한 응답 속도
*통제의 어려움
*데이터 무결성에 대한 위협
728x90반응형'Web dev > SQL' 카테고리의 다른 글
SQLD 데이터 모델의 이해 / PDF 요약정리 (0) 2022.10.10 SQLD Oracle / DDL 정리 (0) 2022.08.15