ABOUT ME

Today
Yesterday
Total
  • SQLD[요약정리(2)05/05~05/28]
    자격증/sqld 2022. 5. 9. 22:32

    2장 데이터 모델과 성능


    정규화란?

     -반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록 하는것

     -쉽게말해 데이터 중복을 제고하고 데이터 모델의 독립성을 확보하기 위한 방법

     

    *1차 정규화

      -같은 성격, 내용 컬럼이 연속될 때 컬럼 제거, 테이블 생성

    *2차 정규화(부분 함수 종속성 제거)

      -PK 복합키 구성일때 부분 함수 종속 관계 테이블 분리

    *3차 정규화(이행 함수 종속성 제거) 

      -PK 가 아닌 일반 컬럼에 의존하는 컬럼 분리

     

    정규화 문제점

    -데이터 조회시 JOIN을 많이 유발하기 때문에 CPU와 메모리를 많이사용한다.

    ->반정규화를 사용해 해결

     

    반정규화란?

      -데이터베이스의 성능 향상을 위하여, 데이터 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법

      -조회 속도를 향상시키지만 데이터 모델의 유연성은 낮아진다.

     

    *반정규화기법(수직분할, 수평분할)

    • 수직분할 :칼럼단위 테이블을 디스크 I/O를 분산처리하기 위해 테이블을 1:1로 분리하여 성능향상
    • 수평분할(특정 값에 따라서 테이블을 분할하는 방식): 로우단위로 집중 발생되는 트랜잭션을 분석하여 디스크 I/O 및 데이터 접근의 효율성을 높여 성능을 향상하기 위해 로우단위로 테이블을 쪼갬

    *PK에 의해 테이블을 분할하는 방법 (파티셔닝)

     

    1. RANGE PARTITION : 대상 테이블이 날짜 또는
    숫자값으로 분리가 가능하고 각 영역별로 트랜잭션이
    분리되는 경우 ex) _0401 요금
    2. LIST PARTITION : , 지점 사업소 등 핵심적인
    코드값으로 PK가 구성되어 있고 대량의 데이터가
    있는 테이블의 경우 ex) _ 고객 서울
    3. HASH PARTITION : HASH 지정된 조건에 따라
    해시 알고리즘이 적용되어 테이블이 분리


    테이블에 대한 수평 수직분할의 / 절차

    1. 데이터 모델링을 완성한다
    2. DB .용량산정을 한다
    3. 대량 데이터가 처리되는 테이블에 대해 트랜잭션
    처리 패턴을 분석한다.
    4. 칼럼 단위로 집중화된 처리가 발생하는지 로우 , 
    단위로 집중화된 처리가 발생하는지 분석하여
    집중화된 단위로 테이블을 분리하는 것을 검토한다.
    컬럼 많음- ->    1:1 분리
     데이터 많음- -> 파티셔닝

     

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

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

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

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

     

    분산 DB 를 만족하기 위한 6가지 투명성
    1.분할 투명성 (단편화) : 하나의 논리적 Relation  이
    여러 단편으로 분할되어 각 사본이 여러 site에 저장
    2.위치 투명성  : 사용하려는 데이터의 저장 장소
    명시 불필요 ,위치정보가 시스템 카탈로그에 유지
    3. 지역사상 투명성 : 지역 DBMS 와 물리적DB 
    사이의 Mapping 보장
    4.중복 투명성 : DB 객체가 여러 stie에 중복 되어
    있는지 알 필요가 없는 성질
    5.장애 투명성 : 구성요소의 장애에 무관한
    트랜잭션의 원자성 유지
    6.병행 투명성  : 다수 트랜잭션 동시 수행시 결과의
    일관성 유지 , TimeStamp,분산  2단계 Locking 단계 이용

    분산 DB - 장 단점
    장점 :  지역 자치성 신뢰성 가용성 효용성,융통성
    빠른 응답속도, 비용절감, 각 지역 사용자 요구 수용


    단점 : 비용증가, 오류의 잠재성 증대, 설계 관리의
    복잡성 불규칙한 응답 속도, 통제의 어려움, 데이터  
    무결성 위협


    분산 DB 적용 기법
    1. 테이블 위치 분산 : 설계된 테이블을 본사와
    지사단위로 분산 위치별 DB문서 필요
    2. 테이블 분할 분산 : 각각의 테이블을 쪼개어 분산
    -  수평분할 로우 단위로 분리 지사별로 다를때,
    중복X
     -수직분할: 칼럼 단위로 분리, 각 테이블에 동일
    PK  있어야 함.

    '자격증 > sqld' 카테고리의 다른 글

    sqld 30회 기출 오답정리(1)  (0) 2022.05.18
    sqld[빈출 개념 복습05/05~05/28]  (0) 2022.05.17
    SQLD[요약정리(4)05/05~05/28]  (1) 2022.05.13
    SQLD[요약정리(3)05/05~05/28]  (0) 2022.05.10
    SQLD[요약정리05/05~05/28]  (0) 2022.05.05
Designed by Tistory.