본문 바로가기
SQLD/1과목

1과목 개념 (데이터 모델과 성능(슈퍼/서브 타입 ~ 분산 DB))

by JHyun0302 2023. 8. 4.
728x90

※ 슈퍼/서브 타입 모델

  1. 슈퍼 타입: 공통 부분
  2. 서브 타입: 공통으로부터 상속받아 다른 엔티티와 차이가 있는 속성

 

 

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

  1. 개별로 발생되는 트랜잭션에 대해서는 개별 테이블로 구성 (OneToOne Type)
  2. 슈퍼타입+서브타입에 대해 발생되는 트랜잭션에 대해서는 슈퍼+서브타입 테이블로 구성 (Plus Type)
  3. 전체를 하나로 묶어 트랜잭션이 발생할 때는 하나의 테이블로 구성 (Single Type, All in One Type)

 

 

 

★ 인덱스 특성을 고려한 PK/FK DB 성능향상

  • 앞쪽에 위치한 속성의 값이 비교자로 있어야 좋은 효율을 나타낸다.
  • 앞쪽에 위치한 속성의 값이 가급적 "=" 아니면 최소한 범위 "Between", "<>" 가 들어가야 효율적이다.

ex) 상수값 "=" 조건 조회시 그 조건(사무소 코드)이 가장 앞으로 나오고(PK 순서: 사무소 코드, 거래일자, ...) 범위조회 하는 유형의 컬림이 그 다음에 나오는게 효율적.

 

 


분산 DB

 

  1. 여러 곳으로 분산되어 있는 DB를 하나의 가상시스템으로 사용할 수 있도록 한 DB
  2. 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네티워크를 통해 물리적으로 분산되어 있는 데이터집합

 

 

참고: GSI(Global Single Instance: 통합 DB 구조) - 분산 DB와 대치 개념

 

 

 

  분산 DB를 만족하기 위한 6가지 투명성

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

 

 

 

  분산 DB 장/단점

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

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

 

 

 

 

 

 

  분산 DB 적용 기법

 

 

1. 테이블 위치 분산: 설계된 테이블을 본사와 지사단위로 분산, 위치별 DB문서 필요

 

 

 

2. 테이블 분할 분산: 각각의 테이블을 쪼개어 분산

- 수평분할: 로우 단위로 분리, 지사별로 다를때, 중복 X

- 수직분할: 칼럼 단위로 분리, 각 테이블에 동일 PK 있어야 함.

 

 

 

3. 테이블 복제 분산: 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형

- 부분복제: 마스터 DB에서 테이블의 일부의 내용만 다른 지역이나 서버에 위치

- 광역복제: 마스터 DB 테이블의 내용을 각 지역이나 서버에 존재

 

 

 

4. 테이블 요약 분산: 지역 간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우

- 분석요약: 동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식

                   ex) 판매실적 지사 A, 지사 B

- 통합요약: 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식

                   ex) 판매실적 지사 A: C제품, 지사 B: D제품

 

 

 

 

  분산 DB 설계를 고려해야 하는 부분

  1. 성능이 중요한 사이트
  2. 공통코드, 기준정보, 마스터 데이터의 성능향상
  3. 실시간 동기화가 요구되지 않는 경우, Near Real Time(거의 실시간 업무) 특징을 가지고 있는 경우
  4. 특정 서버에 부하가 집중되어 부하를 분산
  5. 백업 사이트 구성하는 경우

 

반응형