반응형

 

1절 : 성능 데이터 모델링의 개요

성능 데이터 모델링이란 데이터베이스 성능향상을 목적 으로 설계단계의 데이터 모델링 때부터
정규화, 반정규화, 테이블통합, 테이블분할, 조인 구조, PK, FK 등의 여러가지 성능 과 관련된 사항 가지고
데이터 모델링에 반영될 수 있도록 하는 것으로 정의된다.

 

 

2절 : 정규화와 성능

설계를 할 때 정규화를 하는것은 기본적으로 데이터에 대한 중복성을 제거하여 주고, 데이터가 관심사별로처리가 되는 경우가 많기 때문에 성능이 향상되는 특징을 가지고 있다. 설계단계에서 무조건 반정규화는 안되며 기본적으로 정규화된 데이터 모델을 생성하도록 노력해야 한다.

 

 

3절 : 반정규화와 성능

데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용하는 이유는..
데이터를 조회할 때 디스크 I/O 양이 많아서 성능이 저하되거나, 경로가 너무 멀어서 과다 조인으로 인한
성능 저하, 칼럼을 계산하여 읽을 때 성능이 저하되는 경우를 예상하여 반정규화를 쓰곤 한다.
데이터를 중복시켜 데이터 조회의 성능을 향상시키는 목적이다.

 

 

 

4절 : 대량 데이터에 따른 성능

대량의 데이터가 처리되는 테이블에 입출력 I/O 의 양이 엄청나게 집중되면 성능이 저하될 수 있다.
그 테이블에서 트랜잭션이 처리 될 때 성능을 향상시킬 수 있는 방법으로 1:1칼럼 분리, 범위 파티셔닝,
리스트 파티셔닝, 해쉬 파티셔닝 등이 있다.

 

 

5절 : 데이터베이스 구조와 성능

최근에 데이터 모델링을 할 때 자주 쓰이는 모델링 방법인데, 업무를 구성하는 데이터의 특징을
공통(슈퍼타입) 과 차이점(서브타입) 으로 분류하여 표현 할 수 있다.
변환하는 방법은 1:1타입, 슈퍼+서브타입, All in One 타입 이 있다. 이 3가지 중 한가지를 선택하는 기준은
테이블에 발생되는 데이터양과 트랜잭션에 유형에 따라 결정된다.

 

 

 

6절 : 분산 데이터베이스와 성능

분산 데이터베이스는 데이터베이스를 여러 지역에 위치시켜 사용성/성능 을 극대화 시킨 데이터베이스이다.
6가지 투명성(분.위.지.중.장.병) 을 만족해야 하고 종류로는 테이블 위치 분산, 테이블 분할 분산,
테이블 복제 분산, 테이블 요약 분산 이 있다.

 

 

❏ 2장 연습문제


문제1. 데이터 모델을 다음과 같이 만들었는데 [학번, 과목번호] 결정자이면서 PK이고 [성적, 지도교수명, 학과명] 종속자이다. 
속성중 과목번호가 결정자이고 [지도교수명, 학과명]이 과목번호에만 함수종속성을 가진다면 이는 몇 차 정규형에 속하고 몇 차 정규화의 대상인가?

1 1차 정규형 - 2차 정규화대상
2 2차 정규형 - 3차 정규화대상
3 3차 정규형 - 보이스코드 정규화대상
4 보이스코드 정규형 - 4차 정규화대상



문제2. 다음 모델에서 배송 엔터티에서 고객의 정보를 찾을 때 성능향상과 SQL문장을 단순화하게 할 수 있도록 가장 적절한 반정규화 방법은 무엇인가?
(전제사항: 주문목록 엔터티에서는 고객의 주식별자를 상속받기를 원하지 않음, 배송 엔터티에서는 고객 엔터티의 모든 속성을 참조하기를 원함)



1 고객의 모든 정보를 모두 배송 엔터티의 속성으로 반정규화
2 배송과 고객의 엔터티를 통합하는 반정규화
3 배송 엔터티와 주문+목록 엔터티관계를 식별자관계로 수정
4 고객과 배송 엔터티의 관계를 추가(1:M관계)하는 관계반정규화

 



문제3. 다음 중 설계단계에서 데이터 모델의 성능을 고려하는 절차와 방법에 포함되지 않는 것은?
1 데이터 모델링을 할 때 분석단계에서부터 반정규화를 수행한다.
2 데이터베이스 용량산정을 수행한다.
3 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
4 이력모델의 조정, PK/FK조정, 슈퍼/서브타입 조정 등을 수행한다.

 



문제4. 다음 슈퍼/서브타입 모델에서 설계단계에서 변환할 수 있는 테이블의 형태가 아닌 것은?

1 전체가 하나의 테이블인 부동산관계자로 통합하는 All in One 타입
2 슈퍼타입(부동산관계자)과 서브타입(부동산전세자, 부동산소유자)을 슈퍼+서브타입인 부동산전세자, 부동산소유자 2개 테이블로 만든 타입
3 슈퍼타입(부동산관계자)과 서브타입(부돈산전세자, 부동산소유자)을 모두 1:1관계로 해체하여 개별로 테이블을 만드는 타입
4 부동산관계자의 일부 속성은 부동산전세자에게, 일부속성은 부동산소유자에게 할당하여 배치하는 수평분할 타입



문제5. 다음 중 분산 데이터베이스의 투명성(Transparency)에 속하지 않는 것은?
1 분할 투명성
2 병렬 투명성
3 중복 투명성
4 병행 투명성

 

 

 

 

정답 및 해설

문제번호  정답  해설 
①  결정자중 일부 속성에만 함수종속성을 가지고 있는 'Partial Dependency Attribute'를 갖는 것은 2차 정규형을 위반한 사례에 해당한다. 즉 1차 정규형이면서 2차 정규화 대상이다. 
④  고객 엔터티의 모든 속성을 참조하기를 원한다. 이 때 가장 효율성이 좋은 반정규화 기법은 관계를 중복하는(관계의 반정규화)방법을 적용하게 되면 두 테이블의 조인 경로를 단축하게 되고 SQL문장을 단순하게 구성하는 방법이 될 수 있다. 
①  성능을 고려한 데이터 모델을 할 때 첫 번째 단계는 정규화를 적용한 데이터 모델을 만드는 것이다. 
④  논리적인 데이터 모델에서 이용되는 슈퍼/서브타입틔 데이터 모델을 성능을 고려한 물리적인 데이터 모델에서 변환하는 방법은 3가지(1:1타입, 슈퍼+서브타입, All in One 타입)가 있다. 
②  분산 데이터베이스의 투명성의 종류에는 분할 투명성, 위치 투명성, 지역 투명성, 중복(복제) 투명성, 병행 투명성, 장애 투명성이 있다. 

 

 

http://wiki.gurubee.net/pages/viewpage.action?pageId=27427194

 

반응형
도움이 되셨다면 공감 클릭 부탁드리며
출처만 남겨주시면 글 내용은 마음껏 퍼가셔도 좋습니다 :)