Search
Duplicate

데이터 모델과 성능

태그
데이터 모델과 성능
SQLD
패스트캠퍼스
성능 데이터 모델링의 개요
성능 데이터 모델링 고려 사항
데이터 모델링을 할 때 정규화를 정확하게 수행한다.
데이터베이스 용량 산정을 수행한다.
데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
용량과 트랜잭션의 유형에 따라 반 정규화를 수행한다.
이력 모델의 조정, PK/FK 조정, 슈퍼 타입/ 서브타입 조정 등을 수행한다.
성능관점에서 데이터 모델을 검증한다.
정규화와 성능
정규화 이론
정규화 유형
설명
1차 정규화
함수 종속, 복수의 속성값을 갖는 속성을 분리하여 속성의 원자성 확보
2차 정규화
함수 종속, 주식별자에 완전 종속적이지 않은 속성의 분리. (제 1 정규형을 만족하는 상태에서 모든 Non-key 컬럼은 기본 키 전체에 종속되어야 한다.)
3차 정규화
함수 종속, 일반 속성에 종속적인 속성의 분리
대량 데이터에 따른 성능
Range partition
요금을 예로 들어보자. 요금의 경우, 특정 기간을 놔눠서 지불이된다. 이런식으로 범위를 단위로 반복 되는 경우 range partition 을 이용하여 대용량 테이블을 수평분할하여 성능을 향상한다.
List partition
고객을 예로 들어보자. 고객의 경우, 서울, 인천, 전북 등 사는 지역을 기준으로 나눌 수 있다. 이런식으로 대용량 테이블을 수평분할 하여 성능을 향상시키는 경우 List partition 이라고 한다.
Hash partition
지정된 hash 조건에 따라 해싱 알고리즘이 적용되어 테이블이 분리된다.
설계자는 테이블에 데이터가 정확하게 어떻게 들어갔는지 알 수 없다.
성능향상을 위해 사용하며 데이터 보관 주기에 따라 쉽게 삭제하는 기능은 제공될 수 없다.
데이터베이스 구조와 성능
슈퍼타입 / 서브타입 모델
All in One 타입
슈퍼타입과 서브타입을 슈퍼/서브 타입으로 만든 타입
슈퍼타입과 서브타입을 1:1 로 해체하여 개별로 테이블을 만드는 타입
수평분할과 수직타입은 불가
분산 데이터베이스와 성능
분산 데이터베이스의 투명성
투명성
설명
분할 투명성(단편화)
하나의 논리적 관계가 여러 단편으로 분할되어 각 단편의 사본이 여러 site 에 저장
위치 투명성
사용하려는 데이터의 저장 장소 명시 불필요. 위치 정보가 System Catalog 에 유지되어야 한다.
지역 사상 투명성
지역 DBMS 와 물리적 DB 사이의 Mapping 보장. 각 지역 시스템 이름과 무관한 이름 사용 가능
중복 투명성
DB 객체가 여러 site 에 중복 되어 있는지 알 필요가 없는 성질
장애 투명성
구성 요소 (DBMS, Computer) 의 장애에 무관한 Transaction 의 원자성 유지
병행 투명성
다수 Transaction 동시 수행 시 결과의 일관성 유지, Time stamp, 분산 2 단계 Locking 을 이용 구현