YJ의 새벽

sqld (2) - 데이터 모델과 성능 본문

SelfStudy/sqld

sqld (2) - 데이터 모델과 성능

YJDawn 2024. 2. 21. 18:49

 

 

  • 성능 데이터 모델링 개념

성능 데이터 모델링은 데이터베이스 성능향상을 위한 것

정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등이 존재함

 

 

  • 성능 데이터 모델링 수행

사전에 할수록 비용이 들지 않는다.

분석/설계 단계에서 데이터베이스 처리 성능을 향상시킬수 있는 방법을 고려해야 한다.

 

 

  • 성능 데이터 모델링 고려사항

1) 데이터모델링을 할 때 정규화를 정확하게 수행한다.

2) 데이터베이스 용량 산정을 수행한다.

3) 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다

4) 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다.

5) 이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행한다.

6) 성능관점에서 데이터 모델을 검증한다.

 

 


 

 

  • 정규화 개념

함수적 종속을 가지고 있는 일반 속성을 의존자로 하여 입력/수정/삭제 이상현상을 제거하는 것

정규화된 테이블은 처리 속도가 빨라질 수도 있고 느려질 수도 있다.

입력/수정/삭제 시에는 무조건 성능이 향상된다.

 

 

  • 정규화 이론

1) 제 1 정규화      ( 중복 속성에 대한 분리 ) 

    -- 같은 성격, 내용 컬럼이 연속될 때     1 : M 으로 분리

 

2) 제 2 정규화       ==  부분함수 종속성 제거   ( 제1정규형 )

    -- PK 복합키 구성일 때 부분적 함수 종속 관계 테이블 분리   1 : M 으로 분리

 

3) 제 3 정규화      == 이행함수 종속성 제거  ( 제2정규형 )

    -- PK 가 아닌 일반 컬럼에 의존하는 컬럼 분리  

 

 

  • 반정규화 개념

데이터를 조회할 때 디스크 I/O 량이 많아서 성능이 저하되거나 경로가 너무멀어

조인으로 인한 성능저하가 예상될 때 사용.

 

 

  • 반정규화 기법  :  테이블 반정규화

1) 테이블 병합 

    -- 1:1 관계 테이블 병합

    -- 1:M 관계 테이블 병합

    -- 슈퍼/서브타입 테이블 병합

 

2) 테이블 분할

    -- 수직분할  :  컬럼단위

    -- 수평분할  :  로우단위

 

3 테이블 추가

    -- 중복테이블 추가

    -- 통계테이블 추가

    -- 이력테이블 추가

    -- 부분테이블 추가  :  자주 이용하는 집중화된 컬럼들이 있을 때 활용 

 

 

  • 반정규화 기법  :  컬럼의 반정규화

1) 중복컬럼 추가

2) 파생컬럼 추가

3) 이력 테이블 컬럼 추가

4) PK에 의한 컬럼 추가

 

 

  • 대용량 테이블에서 발생할 수 있는 현상

로우 체이닝  :  로우 길이가 길어서 데이터 블록에 모두 저장되지 않고

                       두개 이상 블록에 걸쳐 하나의 로우가 저장되는 형태

로우 마이그레이션  :  데이터 블록에서 수정이 발생되면 수정된 데이터를 해당 데이터 블록에서

                                  저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식

 

 


 

 

  • 분산 데이터 베이스

논리적으로 동일한 시스템이며, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터를

하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스

 

 

  • 분산 데이터베이스 장/단점

1) 장점  :  

신뢰성과 가용성이 높다

효용성과 융통성이 높다

응답속도가 빠르다

통신비용이 절감된다

 

2) 단점  : 

소프트웨어 개발 비용이 증대된다

불규칙한 응답 속도를 가진다

데이터 무결성에 대한 위협이 존재한다

'SelfStudy > sqld' 카테고리의 다른 글

sqld (4) - SQL 활용  (0) 2024.03.06
sqld (3) - SQL 기본  (0) 2024.02.21
sqld (1) - 데이터 모델링의 이해  (0) 2024.02.21
Comments