성능데이터모델링
; 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것
성능데이터모델링 수행 절차
1. 데이터모데링을 할 때 정규화를 정확하게 수행
2. 데이터베이스 용량산정을 수행
3. 데이터베이스에 발생되는 트랜잭션의 유형 파악
4. 용량과 트랜잭션의 유형에 따라 반정규화 수행
5. 이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행
6. 성능관점에서 데이터모델 검증
함수종속성 규칙에 따라 2차 정규화로 분리
칼럼에 의한 반복적인 속성값을 갖는 형태는 속성의 원자성으 위배한 제 1차 정규화의 대상
반정규화는 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 성능을 향상시키기 위한 기법으로 정보에 대한 재현의 적시성으로 판단한다
로우체이닝이 발생할 정도로 한 테이블에 많은 컬럼들이 존재할 경우 조회성능저하가 발생할 수 있음, 트랜잭션이 접근하는 컬럼유형을 분석하여 1:1 테이블을 분리하면 디스크 I/0가 줄어들어 조회 성능을 향상 시킬 수 있음
논리적으로 하나의 테이블이지만 물리적으로는 여러 개의 테이블로 분리하여 데이터 액세스 성능도 향상시키고, 데이터 관리 방법도 개선할 수 있도록 테이블에 적용하는 기법을 파티셔닝이라고 한다
인덱스가 값의 범위에 따라 일정하게 정렬이 되어 있을 때, 상수값으로 EQUAL 조건으로 조회되는 칼럼이 가장 앞으로 나오고 범위 조회하는 유형의 칼럼이 그 다음에 오도록 하는 것이 인덱스 범위를 좁힐 수 있는 가장 좋은 방법
분산데이터베이스 장점
- 지역 자치성, 점증적 시스템 용량 확장
- 신뢰성과 가용성
- 효용성과 융통성
- 빠른 응답 속도와 통신 비용 절감
- 데이터의 가용성과 신뢰성 증가
- 시스템 규모의 적절한 조절
- 각 지역 사용자의 요구 수용 증대
분산데이터베이스 단점
- 소프트웨어 개발 비용
- 오류의 잠재성 증대
- 처리 비용의 증대
- 설계, 관리의 복잡성과 비용
- 불규칙한 응답 속도
- 통제의 어려움
- 데이터 무결성에 대한 위협
분산데이터베이스 환경에서 데이터베이스 분산설계를 적용하여 효율성을 증대시킬 수 있는 것
- 공통코드, 기준 정보 등 마스터 데이터는 분산데이터베이스에 복제분산을 적용한다
- 거의 실시간 업무적인 특성을 가지고 있을 때 분산데이터베이스를 사용하여 구성할 수 있다
- 백업 사이트를 구성할 때 간단하게 분산기능을 적용하여 구성할 수 있다
GSI(global single instance)를 구성할 때는 통합 데이터베이스 구조를 사용해야함
'SQLD > 데이터 모델링의 이해' 카테고리의 다른 글
정리_fin1 (0) | 2023.03.16 |
---|---|
정리 2 (0) | 2023.03.12 |
트랜잭션 Transaction, NULL (0) | 2023.03.12 |
반정규화 De-Normalization (0) | 2023.03.12 |
정규화 Normalization (0) | 2023.03.12 |