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

    반응형

    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

    반응형

    댓글