while (1): study();

데이터베이스와 성능 본문

학습/SQLD

데이터베이스와 성능

전국민실업화 2021. 8. 13. 00:37
728x90

성능 데이터 모델링

설계 단계의 데이터 모델링부터 성능과 관련된 사항이 모델링에 반영될 수 있도록 하는 것

순서

1) 정규화

2) 용량 산정

3) 트랜잭션 유형 파악

4) 반정규화

5) 조정

6) 검증

 

반정규화와 성능

조건: 재현의 적시성

1) 디스크 I/O량이 많아 성능 저하

    * 로우체이닝: 두 개 이상 블록에 하나의 로우 저장

    * 로우마이그레이션: 수정 시 다른 블록 공간에 저장

2) 경로가 너무 멀어 조인 성능 저하

3) 칼럼을 계산하여 읽을 때 성능 저하

 

테이블의 반정규화

테이블 병합 1:1관계
1:M 관계
슈퍼/서브 타입
테이블 분할 수직
수평
테이블 추가 중복테이블
통계테이블
이력테이블
부분테이블

 

칼럼의 반정규화

중복칼럼 추가
파생칼럼 추가
이력 테이블 칼럼 추가
PK에 의한 칼럼 추가
응용 시스템 오작동을 위한 칼럼 추가

 

절차

1) 반정규화 대상조사

    범위빈도처리수, 대량 범위 처리, 통계성 프로세스, 테이블 조인 개수

2) 다른 방법유도 검토

    뷰 테이블: 조인이 많을 시

    클러스터링: 대량 데이터

    인덱스 조정: 대량 데이터

    파티셔닝: 대량 데이터

    응용 어플리케이션: 로직 변경

3) 반정규화 적용

    테이블, 속성, 관계

 

데이터베이스 구조와 성능

인덱스 특성을 고려한 PK/FK

PK: 앞쪽에 위치한 속성값이 비교자, =가 아니면 최소 BETWEEN, <>

FK: 반드시 인덱스 생성

 

분산 데이터 베이스

빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역의 여러 노드로 위치시켜 성능 극대화

활용

1) 성능이 중요한 사이트

2) 공통코드, 기준정보, 마스터 데이터에 대해 분산환경 구성

3) 거의 실시간 업무특성

4) 특정 서버에 부하 집중

5) 백업사이트 구성

728x90

'학습 > SQLD' 카테고리의 다른 글

3장. 관리 구문  (0) 2021.07.26
2장. SQL 활용  (0) 2021.07.21
1장. SQL 기본  (0) 2021.07.15
2장. 데이터 모델과 SQL  (0) 2021.07.13
1장. 데이터 모델링의 이해  (0) 2021.07.11
Comments