hyerimir 2023. 3. 16. 22:17

 

 

성능데이터모델링

; 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것

 

성능데이터모델링 수행 절차

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

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

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

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

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

6. 성능관점에서 데이터모델 검증

 

함수종속성 규칙에 따라 2차 정규화로 분리

 

칼럼에 의한 반복적인 속성값을 갖는 형태는 속성의 원자성으 위배한 제 1차 정규화의 대상

 

반정규화는 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 성능을 향상시키기 위한 기법으로 정보에 대한 재현의 적시성으로 판단한다

 

로우체이닝이 발생할 정도로 한 테이블에 많은 컬럼들이 존재할 경우 조회성능저하가 발생할 수 있음, 트랜잭션이 접근하는 컬럼유형을 분석하여 1:1 테이블을 분리하면 디스크 I/0가 줄어들어 조회 성능을 향상 시킬 수 있음

 

논리적으로 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리하여 데이터 액세스 성능도 향상시키고, 데이터 관리 방법도 개선할 수 있도록 테이블에 적용하는 기법을 파티셔닝이라고 한다

 

인덱스가 값의 범위에 따라 일정하게 정렬이 되어 있을 때, 상수값으로 EQUAL 조건으로 조회되는 칼럼이 가장 앞으로 나오고 범위 조회하는 유형의 칼럼이 그 다음에 오도록 하는 것이 인덱스 범위를 좁힐 수 있는 가장 좋은 방법

 

분산데이터베이스 장점

- 지역 자치성, 점증적 시스템 용량 확장

- 신뢰성과 가용성

- 효용성과 융통성

- 빠른 응답 속도와 통신 비용 절감

- 데이터의 가용성과 신뢰성 증가

- 시스템 규모의 적절한 조절

- 각 지역 사용자의 요구 수용 증대

 

분산데이터베이스 단점

- 소프트웨어 개발 비용

- 오류의 잠재성 증대

- 처리 비용의 증대

- 설계, 관리의 복잡성과 비용

- 불규칙한 응답 속도

- 통제의 어려움

- 데이터 무결성에 대한 위협

 

분산데이터베이스 환경에서 데이터베이스 분산설계를 적용하여 효율성을 증대시킬 수 있는 것

- 공통코드, 기준 정보 등 마스터 데이터는 분산데이터베이스에 복제분산을 적용한다

- 거의 실시간 업무적인 특성을 가지고 있을 때 분산데이터베이스를 사용하여 구성할 수 있다

- 백업 사이트를 구성할 때 간단하게 분산기능을 적용하여 구성할 수 있다

 

GSI(global single instance)를 구성할 때는 통합 데이터베이스 구조를 사용해야함