정보처리기사

[정보처리기사실기] 반정규화 / 데이터 베이스 이중화, 백업, 암호화

PEAZH 2024. 7. 5. 15:40
반응형

2과목. 데이터베이스 구축

📒 04. 물리 데이터베이스 설계


1. 물리 데이터베이스 설계

(1) 물리 데이터베이스 설계 특징

  • 논리적 설계를 물리적인 데이터 모델로 매핑
  • 특정 DBMS의 특성을 반영하여 설계

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

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

 

2. 반정규화

(1) 반정규화의 개념 ⭐

  • 정규화를 거친 후, 성능 향상이나 개발 및 운영의 편의성을 위해 의도적으로 중복을 허용하거나 데이터를 재구성하는 기법
  • 정규화로 인한 여러 테이블의 조인이 성능 저하를 일으킬 때, 이를 개선하기 위해 사용

(2) 반정규화 시 고려사항

  • 데이터 중복으로 인해 데이터 무결성이 손상될 위험이 있음
  • 읽기 작업은 빨리지지만, 삽입, 삭제, 수정 작업은 느려질 수 있음
  • 저장 공간의 효율성이 감소할 수 있음
  • 테이블이 커지고 복잡해져 유지보수가 어려워질 수 있음
  • 과도한 반정규화는 성능 저하를 초래할 수 있음

(3) 반정규화의 유형

  • a) 테이블 분할
    - ① 수평분할 : 레코드 단위로 분할하여 테이블의 구조가 같음
    - ② 수직분할 : 컬럼 단위로 분할하여 테이블의 구조가 다름
  • b) 테이블 중복
    - ① 통계 테이블 추가 : DW, OLAP 데이터 용
    - ② 진행 테이블 추가 : 업무 프로세스 상태
  • c) 컬럼기반 분할
    - ① 조회 빈도 기반 : 고빈도 컬럼 분리
    - ② 크기 기반 분할 : 일정 용량 컬럼 분리
  • d) 컬럼 중복
    - ① 중복 컬럼 추가 : 자주 조회되는 컬럼 추가
    - ② 파생 컬럼 추가 : 연산 결과 별도 저장

 

3. 데이터베이스 이중화

(1) 데이터베이스 이중화 구성

  • 장애에 대비하여 동일한 데이터베이스를 중복하여 관리하는 방식
  • 고가용성(서버를 여러 대 두는 것)을 위한 정보 시스템의 지속적인 정상 운영을 목표로 함

(2) 데이터베이스 이중화의 분류

  • a) Eager 기법
    - 트랜잭션 발생 시 즉시 모든 이중화 서버에 변경 사항 반영
  • b) Lazy 기법
    - 트랜잭션 완료 후 변경 사항을 트랜잭션 형태로 각 노드에 전달
  • c) Active-Active
    - 모든 다중화된 장비가 활성화된 상태 (WAS)
  • d) Active-Standby
    - 하나의 장비는 활성 상태, 다른 하나는 대기 상태
    - 장애 발생 시, 대기 중인 장비가 활성화되어 서비스 지속

 

4. 데이터베이스 백업

(1) 데이터베이스 백업의 개념

  • 중단 사태에 대비하여 데이터를 주기적으로 복사하여 보관하는 것
  • 백업 : 데이터를 복사하여 보관하는 과정
  • 복원 : 손상된 데이터베이스를 원래 상태로 되돌리는 과정

(2) 데이터베이스 백업 방식

  • a) 전체 백업(Full Backup)
    - 지정된 폴더의 모든 데이터를 백업
  • b) 증분 백업(Incremental Backup)
    - 최근 전체 백업 이후 변경/추가된 데이터만 백업
  • c) 차등 백업(Differential Backup)
    - 최근 전체 백업 이후 모든 변경/추가된 데이터를 백업
  • d) 실시간 백업(RealTime Backup)
    - 데이터가 변경될 때마다 즉시 백업
  • e) 트랜잭션 로그 백업(Transaction log Backup)
    - 실행된 SQL문을 기록한 로그로, REDO 및 UNDO 작업을 통해 데이터베이스를 복원
  • f) 합성 백업
    - 기존의 전체 백업본과 여러 개의 증분 백업을 합하여 새로운 전체 백업을 만드는 작업

(3) 복구 시간 목표/복구 시점 목표

  • a) 복구 시간 목표(RTO)
    - 서비스가 중단된 후 서비스를 다시 복원할 때까지 허용되는 최대 시간
  • b) 복구 시점 목표(RPO)
    - 마지막 백업 이후 허용되는 최대 데이터 손실 시간
    - 마지막 복구 시점과 서비스 중단 시점 사이에 허용되는 데이터 손실량

 

5. 데이터베이스 암호화

(1) 데이터베이스 암호화의 개념

  • 민감한 개인정보의 유출을 방지하기 위한 암호화 과정

(2) 데이터베이스 암호화 방식

  • a) API 방식
    - 애플리케이션에서 데이터의 암/복호화 수행
  • b) Plug-in 방식
    - DB 서버에 제품 설치 후 암/복호화 수행
  • c) TDE 방식(Transparent Data Encryption)
    - DBMS 내부에서 암/복호화 처리, 인덱스와 연동 가능

 

 

참고자료

흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
 

1억뷰 N잡

[1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

www.njobler.net

반응형