메뉴 건너뛰기

bysql.net

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

2012.03.08 06:08

오예스 조회 수:6100

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

 

 1. 슈퍼타입/서브타입 모델의 성능고려 방법.

  가. 슈퍼/서브타입 데이터 모델.

     - Extended ER 모델이라고 부르는 이른바 슈퍼/서브타입 데이터 모델은 최근에 데이터 모델링을 할 때 자주 쓰이는

모델링 방법이다.  이 모델이 자주 쓰이는 이유는 업무를 구성하는 데이터의  특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현할 수 있기 때문이다. 즉 공통의 부분을 슈퍼타입으로 모델링하고 공통으로 부터 상속받아 다른 엔티티와 차이가 있는 속성에 대해서 는 별도의 서브엔티티로 구분하여 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환 할 대 선택의 폭을 넓힐 수 있는 장점이 있다.

 

   나. 슈퍼/서브타입 데이터 모델의 변환.

      - 슈퍼/서브타입에 대하 변환을 잘못하면 성능이 저하되는 이유는 트랜잭션 특성을 고려하지 않고 테이블이 설계되었기 떼문이다.

        이것을 3가지 경우의 수로 정리하면 다음과 같다.

       1)  트랜잭션은 항상 일괄로 처리하는테 테이블은 개별로 유지되어 union 연산에 의해 성능이 저하될 수 있다.

       2)  트랜잭션은 항상 서브타입 개별로 처리하는데 ㅔ이블은 하나로 통합되어 있어 불필요하게 많은 양의 데이터가 집약되어 있어 성능이 저하되는 경우가 있다.

        3)  트랜잭션은 항상 슈퍼 + 서브 타입을 공통으로 처리하는데 개별로 유지되어 있거나 하나의 테이블로 집약되어 있어 성능이 저하되는 경우가 있다.

   

     슈퍼/서브타입 변환 기준 : 데이터 양 & 트랜잭션의 유형.

     데이터의 양은 데이터량이 소량일 경우 서능에 영향을 미치지 않기 때문에 데이터처리의 유연성을 고려하여 가급적 1:1 관계를 유지하는것이 바람직하다. 그러나 데이터용량이 많아지는 경우 그리고 해당 업무적인 특징이 성능에 민감한 경우는 트랜잭션이 해당 테이블에 어떻게 발생되는지에 따라 3가지 변환방법을 참조하여 상황에 맞게 변환하도록 해야 한다.

 

   다. 슈퍼/서브 타입 데이터 모델의 변환기술

    -  데이터량이 많지 않은 경우는 트랜잭션의 성격을 고려하지 않고 전체를 하나의 테이블로 묶어도 상관없다.

        하지만, 데이터량이 많고 지속적으로 증가하는 양도 많다면 슈퍼타입/서브타입에 대해 물리적인 데이터 모델로 변환하는 세 가지 유형에 대해 세심하게 적용을 해야한다.

 

        1) 개별로 발생되는 트랜잭션에  대해서는 개별 테이블로 구성

        2)  슈퍼타입+서브타입에 대해 발생되는 ㅡ랜잭션에 대해서는 슈퍼타입+서브타입 테이블로 구성.

        3). 전체를 하나로 묶어 트랜잭션이 발생할 때는, 하나의 테이블로 구성.

 

     라 슈퍼/서브타입 데이터 모델의 변환타입 비교.

 

구분 onetoone type plus type single type
특징 개별 테이블 유지 슈퍼+서브타입 테이블 하나의 테이블
확장성 우수함 보통 나쁨
조인성능 나쁨 나쁨 우수함
I/O 성능 좋음 좋음 나쁨
관리용이성 좋지않음 좋지않음 좋음
트랜잭션 유형에 따른 선택방법 개별 테이블로 접근이 많은 경우 선택 슈퍼+서브 형식으로 데이터를 처리하는 경우 선택 전체를 일괄적으로 처리하는 경우 선택

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
58 Front Page file 운영자 2012.02.21 186700
57 Week1_이진우 [5] ljw 2012.07.16 46273
56 제1절_성능_데이터_모델링의_개요 file ljw 2012.03.04 44546
55 제4절_고급_조인_기법 suspace 2012.06.05 31239
54 제1절_Lock balto 2012.05.05 25259
53 제1절_데이터_모델의_이해 실천하자 2012.03.04 22594
52 제5절_식별자 file ljw 2012.03.04 18958
51 제1절_표준_조인(STANDARD_JOIN) file ljw 2012.03.19 15924
50 제3절_반정규화와_성능 file ljw 2012.03.04 15292
49 제5절_WHERE_절 file 보라빛고양이 2012.03.10 14879
48 제4절_관계(Relationship) [1] 실천하자 2012.03.04 13028
47 제5절_그룹_함수(GROUP_FUNCTION) file balto 2012.03.31 12458
46 제2절_소트_튜닝 file ljw 2012.06.04 12024
45 제2절_DDL(DATA_DEFINITION_LANGUAGE) [1] file balto 2012.03.09 11722
44 제7절_GROUP_BY_HAVING_절 suspace 2012.03.12 11531
43 제1절_데이터베이스_아키텍처 [2] ljw 2012.04.23 11523
42 제4절_서브쿼리 오예스 2012.03.27 11485
41 제1절_관계형_데이터베이스_개요 balto 2012.03.09 10446
40 제2절_정규화와_성능 file ljw 2012.03.04 10394
39 제2절_인덱스_튜닝 balto 2012.05.18 9904