본문 바로가기

정보처리기사

[정보처리기사] 필기 노트 - 물리 테스트 시나리오 설계

  • 스토리지
    • DAS (Direct Attached Storage)
      • 전통적인 접속 방버으로 서버와 저장장치를 직접 케이블을 연결하여 사용하는 방식
      • 장점
        • 직접 저장장치를 추가하므로 속도가 빠르고 구축 비용이 저렴
      • 단점
        • 연결 수에 한계가 있으므로 확장성 및 유연성이 떨어짐
        • 서버가 다운되는 경우에는 저장장치도 사용할 수 없음
    • NAS (Network Attached Storage)
      • 서버와 저장장치를 네트워크를 통해 연결하는 방식
      • 장점
        • DAS 에 비해 확장성과 유연성이 뛰어남
        • 경제적이며 설치와 유지보수가 용이함
      • 단점
        • 접속이 증가되면 성능이 저하될 수 있음
        • 높은 수준의 보안을 요하는 곳에서는 문제가 될 수 있음
    • SAN (Storage Area Network)
      • 스토리지를 위해 고안된 스토리지 전용 고속 네트워크
      • DAS의 빠른 처리와 NAS의 파일 공유 장점을 혼합한 방식
      • 장점
        • 파이버 채널 (Fiber Channel) 을 이용한 고속 전송, 장거리 데이터 전송이 가능
        • 서버들이 저장장치와 파일을 공유할 수 있음
      • 단점
        • 기존 시스템 장비에 대한 제약이 있고 SAN 환경 구축에 비용이 많이 듦
        • 고가의 파이브 채널 스위치 장비가 필요함
  • 분산 데이터베이스
    • 분산 데이터베이스란?
      • 하나의 논리적 데이터베이스가 물리적으로는 네트워크의 여러 개 컴퓨터에 분산되어 있는 경우 사용자가 단일 데이터베이스로 인식하는 것이 가능하도록 논리적으로 통합되고 공유되는 데이터베이스
    • 분산 데이터베이스의 장단점
      • 장점
        • 하나의 사이트에 문제가 생긴 경우 다른 사이트의 데이터는 사용이 가능하므로 신뢰도와 가용성이 향상됨
        • 단일 서버에서 처리가 어려운 대용량 데이터 처리가 가능함
      • 단점
        • 분산 처리에 의한 복잡도와 소프트웨어 개발 비용이 증가함
        • 통제 기능이 취약하고, 분산 처리로 인한 오류 발생의 가능성이 증가함
        • 응답 속도가 불규칙하게 나타날 수 있고, 데이터의 무결성을 완전히 보장하기 어려움
    • 분산 데이터베이스의 투명성
      • 분할 투명성, 위치 투명성, 중복 투명성, 장애 투명성, 병행 투명성
  • 데이터베이스 이중화 (Replication)
    • 이중화 (Replication)란?
      • 장애가 발생한 경우 데이터베이스를 보호하기 위해 동일한 데이터베이스를 원격 데이터베이스에 복제하고 갱신하는 기술
    • 이중화의 분류
      • 데이터 변경 내용을 전달하는 방법에 의하여 Eager 기법과 Lazy 기법으로 분류
    • 이중화 구성 방법
      • 두 대의 DB 서버가 가동되는 경우, 두 대가 동시에 동작하는 것을 허용할지에 따라 Active-Active 방법과 Active-Standby 방법으로 분류
  • 데이터베이스 암호화
    • 데이터베이스 암호화란?
      • 외부로부터 공격 또는 내부자의 불법행위로부터 데이터베이스를 보호하기 위해 데이터베이스에 저장된 데이터를 해독이 불가능한 형태의 암호문으로 저장하는 기술
    • 데이터베이스 암호화 방식
      • 디스크 전체를 암호화하는 방식과 암호화 대상이 되는 컬럼 레벨로 암호화하는 방식이 있음
  • 접근 통제
    • 접근 통제의 개념
      • 사용자가 특정 데이터에 접근할 때 접근을 하려는 사용자를 식별하고 사용자의 요구 사항이 정상적인지 여부를 확인하고 보안 정책에 근거하여 접근을 승인하거나 거부하는 것
    • 접근 통제의 분류
      • 임의 접근 통제 (DAC, Discretionary Access Control)
        • 사용자의 신원에 근거를 두고 권한을 부여하고 취소하는 메커니즘을 기반
        • 객체를 생성한 사용자가 객체에 대한 모든 권한을 가지고 이 권한을 다른 사용자에게 허가할 수도 있음
      • 강제 접근 통제 (MAC, Mandatory Access Control)
        • 오직 관리자만이 객체와 자원들에 대한 접근 권한을 부여 할 수 있음
        • 각 데이터베이스 객체에는 보안 분류 등급이 부여되고 사용자마다 인가 등급을 부여하여 접근을 통제하는 것
    • 보안 모델
      • 기밀성 모델
        • 단순 보안 규칙: 주체는 자신보다 높은 등급의 객체를 읽을 수 없음
        • *(스타)-보안 규칙: 주체는 자신보다 낮은 등급의 객체에 정보를 쓸 수 없음
        • 강한 *(스타)-보안 규칙: 주체는 자신과 등급이 다른 객체에 대하여 읽거나 쓸 수 없음
      • 무결성 모델
        • 단순 보안 규칙: 주체는 자신보다 낮은 등급의 객체를 읽을 수 없음
        • *(스타)-보안 규칙: 주체는 자신보다 높은 등급의 객체에 정보를 쓸 수 없음
        • 강한 *(스타)-보안 규칙: 주체는 자신과 등급이 다른 객체에 대하여 읽거나 쓸 수 없음
    • 접근 통제 행렬 (Access control matrix)
      • 임의적 접근 통제를 관리하기 위한 보안 모델로, 행은 주체를, 열은 객체를 나타냄
  • 파티셔닝 (Partitioning)과 클러스터링(Clustering)
    • 파티셔닝
      • 대용량의 테이블을 파티션이라는 보다 작은 논리적인 단위로 나눈다는 의미
      • 파티셔닝 방식에 따라 범위 분할(Range Partitioning), 해시 분할(Hash Partitioning), 결합 분할(Composite Partitioning) 등으로 분류
    • 클러스터링
      • 특정 컬럼의 값이 같은 행들을 물리적으로 동일한 위치에 저장하는 기법
      • 액세스 효율 향상을 위한 물리적 저장 방법
  • 물리 데이터 모델 변환
    • 엔티티(Entity)-테이블(Table) 변환
      • 논리 데이터 모델에서 정의된 엔티티를 물리 데이터 모델의 테이블로 변환하는 것
      • 논리 데이터 모델링
        • 엔티티 (Entity)
        • 속성 (Attribute)
        • 주식별자 (Primary identifier)
        • 외래 식별자 (Foreign identifier)
        • 관계 (Relationship)
      • 물리 데이터 모델링
        • 테이블 (Table)
        • 컬럼 (Column)
        • 기본키 (Primary key)
        • 외래키 (Foreign key)
        • 관계 (Relationship)
    • 서브 타입 변환 (Transformation)
      • 논리 데이터 모델에서는 집합 (엔티티)의 구성을 서브 타입을 사용하여 구체적으로 표현하는데, 논리 모델리에서 표현된 서브 타입은 물리 데이터 모델에서 테이블의 형태로 설계되어야 함
      • 슈퍼 타입 기준 테이블 변환
        • 서브 타입을 슈퍼 타입에 통합하여 하나의 테이블을 만듦
        • 주로 서브 타입에 적은 양의 속성이나 관계를 가진 경우에 적용
      • 서브 타입 기준 테이블 변환
        • 슈퍼 타입 속성들을 각 서브 타입에 추가하여 각각의 서브 타입마다 하나의 테이블로 만듦
        • 주로 서브 타입에 많은 양의 속성이나 관계를 가진 경우에 적용
      • 개별 타입 기준 테이블 변환
        • 슈퍼 타입과 서브 타입을 각각 테이블로 변환한 경우
        • 슈퍼 타입과 서브 타입 테이블 간에는 1:1 관계가 생성
  • 데이터베이스 반정규화
    • 반정규화란?
      • 정규화된 데이터 모델을 시스템의 성능 향상, 개발 과정의 편의성, 운영의 단순화를 위해 통합, 분리, 중복 등을 상황에 맞게 수행하는 방법
      • 반정규화된 데이터 구조는 성능과 관리 효율을 증대시키지만 데이터의 일관성과 정합성이 저하될 수 있음
      • 과도한 반정규화는 비용이 발생하고 성능에도 악영향을 끼칠 수도 있음
      • 반정규화 방법에는 테이블 분할, 중복 테이블 생성, 중복 컬럼 생성 등이 있음
  • 물리데이터 모델 품질 기준
    • 물리 데이터 모델 품질 검토란?
      • 물리 데이터 모델 설계가 완료된 후 객체를 생성하고 개발 단계로 넘어가기 전에 모델러와 이해 관계자들이 모여 데이터 모델의 품질을 검토하는 단계
    • 물리 데이터 모델 품질 기준
      • 정확성, 안정성, 준거성, 최신성, 일관성, 활용성
  • CRUD 분서과 SQL 성능 튜닝
    • CRUD의 개념
      • CRUD란 생성(Create), 읽기(Read), 수정(Update), 삭제(Delete)를 의미
      • CRUD 분석은 CRUD 매트릭스를 작성하고 분석하여 데이터베이스 시스템을 검증하는 방법
    • SQL 성능 튜닝의 개념
      • 최소한의 CPU, I/O, 메모리를 사용하여 최대한 빠른 시간 내에 원하는 작업을 수행하도록 만드는 것
      • SQL 문을 최적화하여 빠른 시간 내에 원하는 결과값을 얻기 위한 작업