log.Sehee

데이터베이스 기초 3 본문

CS

데이터베이스 기초 3

Sehe_e 2023. 11. 16. 12:37

Database의 3단계 구조

  : 데이터 독립성 확보를 목표로 한다.

 

 

DB 독립성의 필요성

  : 데이터의 중복성과 데이터 복잡도 증가로 인한 유지보수 비용 증가, 요구사항 대응 저하

 

3-level Schema ( 3층 스키마 )

외부 스키마

: 각 사용자 단계의 개인적 DB 스키마, 사용자 관점, 응용 프로그램이 접근하는 DB 정의

개념 스키마

: 조직 전체의 통합된 DB 스키마, 설계자 관점 데이터 모델링의 지향점

데이터 독립성

1. 물리적 독립성 : 개념 스키마가 내부 스키마의 변화에 무관함, 물리적 사상 X

2. 논리적 독립성 : 외부 스키마가 개념 스키마의 변화에 무관, 논리적 사상 X

 

 


DB 구조와 성능

 

슈퍼타입/서브타입 데이터 모델 변환을 통한 성능 향상

 

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

: 속성을 할당하여 배치하는 수평 분할된 형태의 모델. 공통 속성은 슈퍼타입으로 모델링하고 차이가 있는 속성은 서브타입으로 구분됨

 

+ 변환 이점

1) 정확하게 업무를 표현할 수 있고

2) 물리적 모델링 시 선택의 폭을 넓힐 수 있음


변환 기준

  : 데이터 양, 트랜잭션 유형


변환 기술

1. 1:1 타입(OneToOne type)

  : 개별로 처리하는 트랜잭션에 대해 개별 테이블 구성

  슈퍼타입과 서브타입 각각 필요한 속성과 유형에 적합한 데이터만 가지도록 분리하여 1:1 관계를 갖도록 함

 

2. 슈퍼/서브 타입(Plus type)

  : 슈퍼타입과 서브타입을 공통으로 처리하는 트랜잭션에 대해 슈퍼타입과 서브타입 각각의 테이블 구성

 

3. All in One 타입(Single type)

  : 일괄 처리하는 트랜잭션에 대해 단일 테이블 구성

 

  1:1 타입 슈퍼 / 서브 타입 All in One 타입
특징 개별 테이블 유지 슈퍼 / 서브 타입 테이블 구성 단일 테이블 구성
트랜잭션 유형 개별 처리 슈퍼 / 서브 타입 공통 처리 일괄 처리
확장성 좋음 (테이블 추가 용이) 보통 나쁨
조인 성능 나쁨 (조인 많이 필요) 나쁨 (조인 많이 필요) 좋음
I/O 성능 좋음 좋음 나쁨 (항상 전체 데이터 조회)
관리용이성 나쁨 나쁨 좋음

 

PK/FK 칼럼 순서 조절을 통한 성능 향상

  : 등호 조건이나 BETWEEN 조건이 걸리는 칼럼을 앞으로 이동

  여러 조건이 있을 경우 등호 조건이 걸리는 칼럼을 선두로 이동

 

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

  : 물리적인 테이블에 FK 제약을 걸어 인덱스를 생성

 

 


분산 DB 데이터에 따른 성능

 

분산DB

  : 분산된 DB를 하나의 가상 시스템으로 사용할 수 있도록 한 DB

  물리적 사이트는 분산되어 있으나 논리적으로 동일한 시스템

  과거에는 위치 중심이었으나 현재는 업무 필요에 따라 분산 설계

 

 

설계 방식


1. 상향식

  : 지역 스키마 작성 후 전역 스키마 작성

2. 하향식

  : 전역 스키마 작성 후 지역사상 스키마 작성

 

장점

신뢰성과 가용성 증가 / 빠른 응답 속도와 통신비용 절감 / 용량 확장 용이

단점

관리 및 통제 어려움 / 데이터 무결성 관리 어려움 / S/W 개발 비용 및 처리 비용 증가 / 불규칙한 응답 속도

 

분산 DB의 투명성

 

분할 투명성

: 하나의 논리적 관계가 분할되어 각 단편의 사본이 여러 사이트에 저장됨

 

위치 투명성

: 사용하려는 데이터 저장 장소가 명시되지 않아도 됨

 

지역사상 투명성

: 지역 DBMS와 물리적 DB 사이의 사상이 보장됨

 

중복 투명성

: DB 객체 중복 여부를 몰라도 됨

 

장애 투명성

: 구성요소(DBMS, 컴퓨터)의 장애에 무관하게 트랜잭션의 원자성이 유지됨

 

병행 투명성

: 다수의 트랜잭션을 동시 수행했을 때 결과의 일관성이 유지됨

 

분산 DB 적용 기법

 

테이블 분할 분산(Table Fragmentation)

  : 테이블을 쪼개서 분산함

  1) 수평분할 2) 수직분할

 

테이블 복제 분산(Table Replication)

: 동일한 테이블을 다른 지역이나 서버에서 동시 생성함, 원격지 조인을 내부 조인으로 변경하여 성능 향상

  1) 부분복제 2) 광역복제

 

테이블 요약 분산(Table Summarization)

분석요약: 사이트 별 요약정보를 본사에서 통합하여 전체 요약정보 산출

통합요약: 사이트 별 정보를 본사에서 통합하여 전체 요약정보 산출

Comments