SMALL
정규화와 성능
정규화란?
- 데이터 베이스 설계에서 중복 요소를 찾아 제거하고 데이터를 구조화 하는 프로세스
제 1 정규화
- 하나의 속성은 반드시 하나의 값을 가져야 한다.
- *칼럼 단위에서 중복된 경우도 해당함 (sqld 기출 26p 38번 문항 참고)
제 2 정규화
- 제 1 정규형을 만족
- 주식별자가 아닌 모든 속성이 주식별자에 완전 함수 종속 되어야 한다.
- 함수의 부분 종속을 분리하는 과정
- 제2 정규형을 만족하려면 모든 속성은 반드시 기본키 전부에 종속 되어야 한다.
제 3 정규화
- 제2 정규화를 만족하고 이행 함수 종속이 없어야 한다.
반정규화와 성능
반정규화(역정규화)란?
- 정규화된 엔티티, 속성, 관계에 대해 시스템의 성능 향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 의미함
- 데이터를 중복하여 성능을 향상시키는 기법
- 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정
- 데이터를 조회할 때 디스크 I/O량 증가,경로가 너무 먼 경우,칼럼 계산 시 성능 저하가 예상된다면 반정규화 수행
반정규화 절차
1. 반정규화 대상 조사
- 범위 처리 빈도수 조사
- 대량의 범위 처리 조사
- 통계성 프로세스 조사
- 테이블 조인 개수
2. 다른 방법 유도 검토
- 뷰(VIEW) 테이블
- 클러스터링 적용
- 인덱스의 조정
- 응용프로그램(애플리케이션)
3. 반정규화 적용
- 테이블 반정규화
- 속성 반정규화
- 관계 반정규화
대량 데이터에 따른 성능
로우체이닝
- 로우의 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 저장되어 있는 형태
- 불필요한 I/O가 많이 발생하여 성능이 저하됨
로우마이그레이션
- 데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식
- 불필요한 I/O가 많이 발생하여 성능이 저하됨
PK 순서 결정 기준
인덱스는 값의 범위에 따라 일정하게 정렬되므로 상수값이 '='(EQUAL) 조건으로 조회되는 칼럼이 가장 앞으로 나오고 범위조회 하는 유형의 칼럼이 그 다음에 오도록 하는 것이 가장 효율적인 방법이다.
분산 데이터베이스와 성능
분산 데이터베이스의 장점
- 지역 자치성, 점증적 시스템 용량 확장
- 신뢰성과 가용성
- 효용성과 융통성
- 빠른 응답 속도와 통신 비용 절감
- 데이터의 가용성과 신뢰성 증가
- 시스템 규모의 적절한 조절
- 각 지역 사용자의 요구수용 증대
분산 데이터베이스의 단점
- 소프트웨어 개발 비용 증가
- 잠재적인 오류 발생 가능성 증가
- 처리 비용 증대
- 설계, 관리의 복잡성과 비용 증가
- 불규칙한 응답 속도
- 통제의 어려움
- 데이터 무결성에 대한 위협
'Database' 카테고리의 다른 글
DROP, TRUNCATE, DELETE 비교 (0) | 2023.02.07 |
---|---|
SQL 명령어 (0) | 2023.02.07 |
성능 데이터 모델링 (0) | 2023.02.06 |
엔터티 (0) | 2023.02.06 |
데이터 모델링 (0) | 2023.02.06 |
댓글