상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 물리적 데이터베이스 설계

정보처리기사 공부지식

by 소란한소란 2024. 3. 26. 21:14

본문

728x90

물리적 데이터베이스 설계 마스터하기: 종합 가이드

물리적 데이터베이스 설계의 복잡성을 탐구할 준비가 되셨습니까? 이 포괄적인 가이드에서는 강력하고 효율적인 데이터베이스 시스템을 구축하기 위한 프로세스, 기능, 고려 사항 및 모범 사례를 안내합니다. 노련한 데이터베이스 관리자이든, 새로운 데이터 애호가이든 여기에는 모두를 위한 무언가가 있습니다.


물리 데이터베이스 설계 과정

  • 사용자 DBMS 결정
  • 데이터 타입 크기 결정
  • 데이터 용량, 설계 및 업무 프로세스 분석
  • 역정규화(반정규화)
  • 인덱스 정의
  • 데이터베이스 생성

물리 데이터베이스 설계 특징

  • 논리적인 설계의 데이터 구조를 보조 기억 장치상의 파일(물리적인 데이터 모델)로 사상(치환)한다.

물리 데이터베이스 설계 시 고려사항

  • 무결성
  • 일관성
  • 회복성
  • 보안
  • 효율성
  • 확장성

논리 - 물리 데이터 모델 변환

  • Entity를 Table로 변환
  • 속성을 컬럼으로 변환
  • Primary UID를 Primary Key로 변환
  • Secondary(Alternate) UID를 Unique Key로 변환
  • Relationship를 Foreign Key로 변환
  • Business Constraints를 Check Constraints로 변환

 

반정규화 (★)

  • 개념
    • 시스템의 성능향상과 개발 편의성 등을 위해 정규화에 위배되는 중복을 허용하는 기법
    • 정규화된 엔티티, 속성, 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법

반정규화의 적용순서

순서 설명
반정규화 대상 조사 - 자주 사용하는 테이블에 접근하는 프로세스의 수가 많고 항상 일정 범위만을 조회하는 경우
다른 방법으로 유도 - 성능을 고려한 뷰를 생성하고, 뷰를 통해 접근하게 함으로 성능저하 위험 예방

- 인덱스나 클러스터링을 통한 성능 향상

- 파티셔닝 고려

- 애플리케이션의 로직을 변경하여 성능 향상
반정규화 수행 - 반정규화를 수행한다.

 

반정규화의 유형

구분 유형
테이블 분할 수평분할
수직분할
테이블 중복 통계 테이블 추가
진행 테이블 추가
컬럼기반 분할 조회 빈도 기반
크기 기반 분할
컬럼 중복 중복 컬럼 추가
파생 컬럼 추가

 

테이블 저장 사이징

  • 데이터베이스 용량 분석
    • 정확한 데이터 용량을 산정하여 디스크 사용의 효율을 높인다.
  • 테이블 사이징
    • 초기 크기 계산
      • 테이블의 보관 주기를 확정하여 초기건수, 증가건수, 최대건수를 정의
    • 확장 크기 계산
      • 초기 크기 작업 후 테이블의 데이터 증가에 따라 달라짐

테이블 용량 계산

  • 총 블록 헤드 계산
  • 블록당 가능한 데이터 영역 계산
  • 평균 Row의 전체 길이 계산
  • 총 평균 Row 크기 계산
  • 데이터 블록 내의 평균 Row 수 계산
  • 테이블에 요구하는 블록과 바이트 수를 계산

인덱스 용량 계산

  • 총 블록 헤드 계산
  • 블록당 가능한 데이터 영역 계산
  • 결합된 열 길이 계산
  • 인덱스 값 크기의 전체 평균 계산

데이터베이스 이중화

  • 개념
    • 시스템의 지속적인 정상 운영이 가능한
    • 고가용성(HA, High Availability) 서버로 구성하는 것
  • 목적
    • 장애 또는 재해 시 빠른 서비스 재개를 위함
    • 원활한 서비스의 성능을 보장하기 위함

데이터베이스 이중화의 분류

분류 설명
Eager 기법 트랜잭션 수행 중에 발생한 변경은 발생 즉시 모든 이중화서버로 전달하여 변경 내용 반영
Lazy 기법 트랜잭션의 수행이 완전히 완료된 후에 변경 사실에 대한 새로운 트랜잭션을 작성하여 각 노드에게 전달하는 기법

 

데이터베이스 이중화의 종류

  • Active-Active
    • 다중화된 장비가 모두 가동되는 방식
    • 두 대를 모두 사용하기 때문에 처리율이 높지만, 구성이 복잡함
  • Active-Standby
    • 두 대 중 하나는 가동이 되고, 하나의 장애상황의 경우를 대비해서 준비 상태로 대기
    • Active 장비에 장애가 발생하면 Standby 장비가 Active상태가 되어 서비스에 문제가 없도록 처리
Hot Standby Standby 장비가 가동되었을 때 즉시 사용가능
Warm Standy Standby 장비가 가동되었을 때 설정에 대한 준비가 필요함
Cold Standby Standby 장비를 평소에는 정지시켜두며 필요에 따라서 직접 켜서 구성을 함

 

데이터베이스 백업

  • 개념
    • 백업 : 자료들(Datas)을 복사, 보관
    • 복원 : 속상된 데이터베이스를 복구

백업 방식

  • 전체 백업(Full Backup)
    • 선택된 폴더의 Data를 모두 백업하는 방식

전체 백업

  • 증분 백업(Incrmental Backup)
    • Full 백업 이후 변경/추가된 Data만 백업하는 방식

 

증분 백업

  • 차등 백업(Differential Backup)
    • Full 백업 이후 변경/추가된 Data를 모두 포함하여 백업

차등 백업

  • 실시간 백업(RealTime Backup)
    • 즉각적으로 모든 변경사항을 분리된 스토리지 디바이스에 복사
  • 트랜잭션 로그 백업(Transaction Log Backup)
    • 데이터베이스에서 실행되는 모든 SQL문을 기록한 로그
    • REDO(다시 실행), UNDO(원상태로 복구)로 복원
    • CHECK POINT : 설정한 지점 이전까지는 트랜잭션이 성공적으로 수행이 되어 Disk에 확실히 저장된 상태
  • 합성 백업
    • 기존의 전체 백업본과 여러 개의 증분 백업을 합하여 새로운 전체 백업을 만드는 작업

복구 시간 목표/복구 시점 목표

  • 복구 시간 목표(RTO)
    • 서비스 중단 시점과 서비스 복원 시점 간에 허용되는 최대 지연 시간
  • 복구 시점 목표(RPO)
    • 마지막 데이터 복구 시점 이후 허용되는 최대 시간

데이터베이스 암호화 방식

  • 데이터베이스의 내용을 암호화하는 것

데이터베이스 암호화 방식

  • API 방식 : 애플리케이션에서 데이터의 암/복호화를 수행
  • Plug-in 방식 : 데이터베이스 서버에 제품을 설치→암/복호화 수행
  • TDE(Transparent Data Encryption) 방식
  • DBMS에 내장 또는 옵션으로 제공되는 암호화 기능을 이용하는 방식
  • 파일암호화 방식
  • 하드웨어 방식

확장 가능하고 효율적이며 안전한 데이터 시스템을 구축하려면 물리적 데이터베이스 설계를 마스터하는 것이 필수적입니다. 이 가이드에 설명된 원칙과 사례를 따르면 자신감을 가지고 데이터베이스 관리 문제를 해결할 수 있는 준비를 갖추게 될 것입니다. 최고의 성능을 위해 데이터베이스 인프라를 최적화하는 방법에 대한 더 많은 통찰력과 팁을 계속 지켜봐 주시기 바랍니다. 2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!

 

728x90

관련글 더보기