※ 슈퍼/서브 타입 모델
- 슈퍼 타입: 공통 부분
- 서브 타입: 공통으로부터 상속받아 다른 엔티티와 차이가 있는 속성
※ 슈퍼/서브 타입 데이터 모델 변환 기술
- 개별로 발생되는 트랜잭션에 대해서는 개별 테이블로 구성 (OneToOne Type)
- 슈퍼타입+서브타입에 대해 발생되는 트랜잭션에 대해서는 슈퍼+서브타입 테이블로 구성 (Plus Type)
- 전체를 하나로 묶어 트랜잭션이 발생할 때는 하나의 테이블로 구성 (Single Type, All in One Type)
★ 인덱스 특성을 고려한 PK/FK DB 성능향상
- 앞쪽에 위치한 속성의 값이 비교자로 있어야 좋은 효율을 나타낸다.
- 앞쪽에 위치한 속성의 값이 가급적 "=" 아니면 최소한 범위 "Between", "<>" 가 들어가야 효율적이다.
ex) 상수값 "=" 조건 조회시 그 조건(사무소 코드)이 가장 앞으로 나오고(PK 순서: 사무소 코드, 거래일자, ...) 범위조회 하는 유형의 컬림이 그 다음에 나오는게 효율적.
분산 DB
- 여러 곳으로 분산되어 있는 DB를 하나의 가상시스템으로 사용할 수 있도록 한 DB
- 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네티워크를 통해 물리적으로 분산되어 있는 데이터집합
참고: GSI(Global Single Instance: 통합 DB 구조) - 분산 DB와 대치 개념
※ 분산 DB를 만족하기 위한 6가지 투명성
- 분산 투명성(단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 사본이 여러 site에 저장
- 위치 투명성 : 데이터의 저장 장소 명시 불필요
- 지역사상 투명성 : 지역 DBMS와 물리적 DB 사이의 Mapping 보장
- 중복 투명성 : DB 객체가 여러 site에 중복되어 있는지 알 필요가 없는 성질
- 장애 투명성: 구성요소의 장애에 무관한 트랜잭션의 원자성 유지
- 병행 투명성: 다수 트랜잭션 동시 수행시 결과의 일관성 유지, TimeStamp, 분산 2단계 Locking 이용
※ 분산 DB 장/단점
장점: 지역 자치성, 신뢰성, 가용성, 효용성, 융통성, 빠른 응답속도, 비용절감, 각 지역 사용자 요구 수용
단점: 비용증가, 오류의 잠재성 증대, 설계 관리의 복잡성, 불규칙한 응답 속도, 통제의 어려움, 데이터 무결성 위협
※ 분산 DB 적용 기법
1. 테이블 위치 분산: 설계된 테이블을 본사와 지사단위로 분산, 위치별 DB문서 필요
2. 테이블 분할 분산: 각각의 테이블을 쪼개어 분산
- 수평분할: 로우 단위로 분리, 지사별로 다를때, 중복 X
- 수직분할: 칼럼 단위로 분리, 각 테이블에 동일 PK 있어야 함.
3. 테이블 복제 분산: 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형
- 부분복제: 마스터 DB에서 테이블의 일부의 내용만 다른 지역이나 서버에 위치
- 광역복제: 마스터 DB 테이블의 내용을 각 지역이나 서버에 존재
4. 테이블 요약 분산: 지역 간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우
- 분석요약: 동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식
ex) 판매실적 지사 A, 지사 B
- 통합요약: 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식
ex) 판매실적 지사 A: C제품, 지사 B: D제품
※ 분산 DB 설계를 고려해야 하는 부분
- 성능이 중요한 사이트
- 공통코드, 기준정보, 마스터 데이터의 성능향상
- 실시간 동기화가 요구되지 않는 경우, Near Real Time(거의 실시간 업무) 특징을 가지고 있는 경우
- 특정 서버에 부하가 집중되어 부하를 분산
- 백업 사이트 구성하는 경우
'SQLD > 1과목' 카테고리의 다른 글
1과목 개념 (데이터 모델과 성능(성능 데이터 모델링 ~ 파티셔닝)) (0) | 2023.08.04 |
---|---|
1과목 개념 (속성 ~ 식별자) (0) | 2023.08.02 |
1과목 개념 (모델링 ~ 엔티티) (0) | 2023.08.02 |