본문 바로가기
Data Analysis/정보처리기사

[3과목 데이터베이스 구축] 02. 물리 데이터베이스 설계

by suvii 2024. 4. 18.

[Sec 1. 물리요소 조사 분석]

물리 데이터베이스 설계 : 사용자 DBMS 결정, 반정규화, 인덱스 설계, 특정 DBMS의 특성을 반영하여 설계

 

스토리지 : 대용량 데이터 저장 서버와 저장 장치의 연결 기술

  • 종류
    • DAS : 직접 연결
    • NAS : 네트워크를 통한 데이터 공유 저장 방식
    • SAN : 별도의 고속 네트워크로 연결
  • RAID : 복수의 HDD를 하나의 드라이브라고 인식하고 표기, 데이터 분산을 통한 고속화
    - 스트라이핑 : 여러 디스크에 데이터 분산 저장
    - 미러링 : 데이터 복제로 신뢰성 확보
    • RAID-0 : 스트라이핑, 디스크의 모든 용량을 사용하지만 복구 불가능
    • RAID-1 : 미러링, 가용량이 절반이지만 복구 가능
    • RAID-2 : 해밍코드로 오류 정정
    • RAID-3 : 디스크 하나에 패리티 정보 저장
    • RAID-4 : 디스크 하나에 패리티 정보 저장 + 블록 단위로 분산 저장
    • RAID-5 : 디스크 각각에 패리티 정보 저장
    • RAID-6 : 하나의 패리티 정보를 두 디스크에 분산 저장

 

분산 데이터베이스 : 분산된 데이터베이스를 하나의 논리적인 시스템처럼 사용할 수 있는 데이터베이스

  • 구성 요소
    • 분산 처리기 : 분산된 컴퓨터 시스템
    • 분산 데이터베이스 : 분산된 데이터 베이스
    • 통신 네트워크 : 분산 처리기를 연결하여 하나의 시스템처럼 작동시키는 네트워크
  • 투명성(Transparency) 조건
    • 위치(Location) 투명성
    • 분할(Division) 투명성
    • 지역 사상(Local Mapping) 투명성
    • 중복(Replication) 투명성
    • 병행(Concurrency) 투명성
    • 장애(Failure) 투명성

 

데이터베이스 이중화 (고가용성)

  • 분류
    • Eager 기법 : 트랜잭션 발생 즉시
    • Lazy 기법 : 트랜잭션 완료 후
  • 종류
    • Active-Active : 모든 다중화 장비 활성화 상태
    • Active-Standby : 하나는 활성, 다른 하나는 대기 상태

 

데이터베이스 암호화

  API Plug-in TDE
설치 장소 애플리케이션 서버 데이터베이스 서버 DBMS 내부 옵션
속도 빠름 느림  
DB 서버 부하 발생 x o  
응용 프로그램 수정 필요 필요  

 

 

[Sec 2. 데이터베이스 물리속성 설계]

파티셔닝/샤딩

 분할 기준 : 범위 분할, 목록 분할, 해시 분할, 라운드 로빈 분할, 합성 분할

 

클러스터 : 자주 사용되는 데이터를 디스크 상 동일한 위치에 저장하여 데이터 액세스 효율을 향상시키는 물리적 저장 방법

  • 대상 테이블
    • 대량의 범위를 자주 조회하는 테이블자주 JOIN되어 사용되는 테이블
    • 입력·수정·삭제가 빈번하지 않은 테이블
    • 분포도가 넓은 테이블

 

인덱스 : 테이블 검색 속도 향상 목적, 데이터의 위치 정보

  • 종류
    • 클러스터 인덱스 : 인덱스의 엔트리 순서가 레코드의 물리적 순서와 동일하게 유지되는 인덱스, 테이블 당 1개만 허용
    • 넌클러스터 인덱스 : 테이블 당 약 240개의 인덱스 생성이 가능, 클러스터형보다 용량을 많이 차지하며 검색 속도는 더 느리지만 데이터의 입력, 수정, 삭제는 더 빠름
    • 밀집 인덱스 : 각 레코드마다 하나의 인덱스 엔트리를 갖도록 만드는 인덱스
    • 희소 인덱스 : 탐색키 값에 따라 정렬되지 않은 데이터 파일에 대해 정의되는 인덱스
  • 구조
    • 트리 기반 인덱스 : B+ 트리 인덱스
    • 비트맵 인덱스
    • 함수 기반 인덱스
    • 비트맵 조인 인덱스
    • 도메인 인덱스
  • 뷰 (가상 테이블, 논리적으로만 존재)
    • 논리적 데이터 독립성 제공, 데이터 보안 용이, 사용자 데이터 관리 용이
    • 뷰 위에 또 다른 뷰 정의 가능, 기본 테이블/뷰 삭제 시 관련 뷰도 자동 삭제
    • 생성(CREATE) 가능, 삭제(DROP) 가능, 변경(ALTER) 불가능
    뷰의 생성 명령 : create view v as <query expression>

 

 

[Sec 3. 물리 데이터베이스 모델링]

데이터베이스 무결성

  • 개체 무결성 : 모든 릴레이션은 중복되지 않는 고유한 값인 기본키를 가지며, 기본키는 NULL 값을 가질 수 없다.
  • 참조 무결성 : 외래키는 NULL이거나 참조 릴레이션의 기본키와 일치해야 한다.
    • 참조 무결성 제약 조건
      - 제한 : 문제의 연산 거부
      - 연쇄 : 참조된 튜플 삭제 시, 참조하는 튜플도 함께 삭제
      - 널값 : 참조된 튜플 삭제 시, 참조하는 튜플의 외래키를 NULL로 설정
      - 기본값 : NULL 대신 기본값을 등록
  • 도메인 무결성 : 모든 속성 값은 정의된 도메인에 속해야 한다.

 

키(Key)

  • 슈퍼키 : 유일성은 만족, 최소성은 불만족
  • 후보키 : 유일성과 최소성 만족
  • 기본키 : 후보키 중 선택된 메인 키
  • 대체키(보조키) : 후보키 중 선택되지 않은 나머지 키
  • 외래키 : 다른 릴레이션의 기본키 참조하는 속성 (참조 무결성)

 

반정규화 : 정규화가 성능 저하를 일으킬 때 중복을 허용하거나 데이터를 재구성하여 성능 개선

반정규화 대상 조사 → 다른 방법으로 유도 → 반정규화 수행

 

 

[Sec 4. 물리 데이터 모델 품질 검토]

물리 데이터 모델 품질 기준 항목 (정완준최일활)

: 정확성, 완전성, 준거성, 최신성, 일관성, 활용성

 

데이터 품질관리 대상

: 데이터 값, 데이터 구조, 데이터 관리 프로세스

 

CRUD (표) : Create, Read, Update, Delete

 

옵티마이저 : 사용자가 질의한 SQL문에 대한 최적화 작업 수행(구문 분석→실행→인출)

  • 규칙기반 옵티마이저 : 규칙(우선순위)기반, 인덱스 이용 액세스 우선시
  • 비용기반 옵티마이저 : 비용이 가장 적은 실행 계획 선택, 통계 정보 기반