ABOUT ME

Today
Yesterday
Total
  • 정보처리기사[실기 핵심 정리] - 물리 데이터베이스 설계
    용어 정리 2024. 4. 17. 21:18

    물리 데이터베이스 설계

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

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

     

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

    • 논리적 설계를 물리적인 데이터 모델로 매핑한다.
    • 데이터베이스 질의와 트랜잭션을 예상 비도를 포함하여 분석
    • 효율적인 데이터 접근을 위한 저장 구조와 접근 방법 고려
    • 특정 DBMS의 특성을 반영하여 설계
    • 질의 성능 향상을 위해 인덱스 구조를 적절히 활용

     

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

    고려사항 설명
    무결성 데이터 연산 후 제약조건을 항상 만족시켜야 한다.
    일관성 질의응답은 항상 일정해야 한다.
    회복성 시스템 장애 발생 시 이전 상태로 복구 가능해야 한다.
    보안 불법적인 접근 및 변경으로 부터 데이터 보호
    효율성 응답시간 최적화와 저장공간 효율성 요구
    확장성 시스템에 영향을 주지 않고 데이터를 지속적으로 추가할수 있어야 한다.

     

    반정규화

    1) 반정규화의 개념

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

     

    2) 반정규화 시 고려사항

    • 데이터 중복으로 인해 데이터 무결성이 손상될 위험이 있다.
    • 읽기 작업은 빨라지지만, 삽입, 삭제, 수정 작업은 느려질 수 있다.
    • 저장 공간의 효율성이 감소할 수 있다.
    • 테이블이 커지고 복자해서 유지보수가 어려워질 수 있다.
    • 과도한 반정규화는 성능 저하를 초래할 수 있다.
    • 반정규화를 결정하기 전에 데이터의 일관성과 무결성을 유지할 것인지, 아니면 데이터베이스 성능을 우선할 것인지 결정한다.

     

    3) 반정규화의 적용순서

    순서 설명
    반정규화 대상 조사 ● 자주 사용하며 특정 범위만 조회하는 테이블

    대량의 데이터를 자주 처리해야 하는 테이블

    통계 정보가 필요한 경우

    여러 조인으로 성능이 저하된 경우
    다른 방법으로 유도   성능 저하를 방지하기 위해 성능이 향상된 뷰 생성

    인덱스 생성이나 클러스터링, 파티셔닝 고려

    애플리케이션 로직을 변경하여 성능 향상

    반정규화 수행 위의 단계를 통해 반정규화 수행 여부 결정

     

    4) 반정규화의 유형

    구분 유형 설명
    테이블 분활 수평분할 레코드 단위로 분할
    수직분할 컬럼 단위로 분할
    테이블 중복 통계 테이블 추가 DW,OLAP 데이터 용
    진행 테이블 추가 업무 프로세스 상태
    컬럼기반 분할 조회 빈도 기반 고빈도 컬럼 분리
    크기 기반 분할 일정 용량 컬럼 분리
    컬럼 중복 중복 컬럼 추가 자주 조회되는 컬럼
    파생 컬럼 추가 연산 결과 별도 저장

    데이터베이스 이중화

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

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

     

    2) 데이터베이스 이중화의 목적

    • 장애나 재해 발생 시 빠른 서비스 재개
    • 서비스의 원할한 성능 보장

     

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

    분류 설명
    Eager 기법 트랜잭션 발생 시 즉시 모든 이중화 서버에 변경 사항 반영
    Lazy 기법 트랜잭션 완료 후 변경 사항을 트랜잭션 형태로 각 노드에 전달

     

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

    종류 설명
    Active-Active 모든 다중화된 장비가 활성하된 상태

    높은 처리율을 보이나 구성이 복잡
    Active-Standby 하나의 장비는 활성 상태, 다른 하나는 대기 상태

    장애 발생 시, 대기 중인 장비가 활성화되어 서비스 지속

    종류 : Hot Standby, Warn Standy, Cold Standby

     

    데이터베이스 백업

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

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

     

    2) 백업 방식

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

     

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

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

    데이터베이스 암호화

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

    • 데이터베이스 내용을 암호화하는 과정
    • 민감한 개인정보(주민번호 등)을 유출을 방지하기 위한 조치

     

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

    방식 설명
    API 방식 애플리케이션에서 데이터의 암/ 복호화 수행
    Plug-in 방식 DB서버에 제품 설치 후 암/복호화 수행
    TDE 방식(Transparent Data Encryption) DBMS 내부에서 암/복호화 처리 인덱스와 연동 가능
    파일 암호화 방식 데이터 및 비정형 데이터 암호화 적용
    하드웨어 방식 외부에 별도의 하드웨어 설치

     

    3) 데이터베이스 암호화 국가 정보원 권고사항

    권고사항 설명
    안전한 알고리즘 검증된 암호 모듈, 알고리즘 사용

    SEED,ARIA,SHA-256
    암호 키 관리 암호키의 안전한 관리
    데이터 암/복호화 중요 데이터의 안전성 확보
    접근 통제 비인가자의 접근 차단
    암호 통신 전송 데이터의 기밀성, 무결성 유지
    식별 및 인증 사용자 신원 확인
    보안 감사 중요 이벤트 감시 기록
    보안 관리 보안 정책 및 감사 기록의 관리
Designed by Tistory.