정보처리기사(12)

서창민·2024년 1월 22일
0

자격증

목록 보기
48/70
post-thumbnail

정보처리기사

요구사항확인과 DATA입출력구현작업

반정규화(denormalization), 역정규화

- 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 개발(Development)과 운영(Maintenance)의 
  단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 의미
- 수행시 시스템의 성능향상과 관리 효율성은 증가하지만 데이터의 일관성이 저하될 수 있음
- 반정규화를 위해서는 사전에 데이터의 일관성과 무결성을 우선으로 할것인지 
  데이터베이스의 성능과 단순화를 우선으로 할 것인지를 결정
- 방법 
: 테이블 통합, 테이블 분할, 중복 테이블 추가, 중복 속성 추가 등 

테이블 통합

: 두 개 테이블이 조인되는 경우가 많아서 하나의 테이블로 합쳐서 
  사용하는 것이 성능 향상에 도움이 되는 경우 사용

테이블 통합 예시

테이블 분할

- 테이블을 수직 또는 수평으로 분할하는 작업
- 수직 분할(vertical partitioning) 
: 하나의 테이블에 속성이 너무 많을 경우 속성을 기준으로 테이블 분할
- 수평분할(horizontal partitioning) 
: 레코드를 기준으로 테이블을 분할

테이블 분할(수직분할) 예시

중복 테이블 추가

- 여러 테이블에서 데이터를 추출해서 사용해야 하거나 다른 서버에 저장된 테이블을 이용해야 하는 경우 
 중복 테이블을 추가하여 작업의 효율성을 향상
- 중복테이블 추가가 필요한 경우 
: 정규화로 인해 수행 속도가 느려지는 경우
: 많은 범위의 데이터를 자주 처리해야 하는 경우 
: 특정 범위의 데이터만 자주 처리해야 하는 경우
: 처리 범위를 줄이지 않고는 수행 속도를 개선할 수 없는 경우

중복 속성 추가

- 조인해서 데이터를 처리할 때 데이터를 조회하는 경로를 단축하기 위해 
  자주 사용하는 속성을 하나 더 추가하는 작업의미
- 중복 속성 추가가 필요한 경우 
: 조인이 자주 발생하는 속성
: 접근 경로가 복잡한 속성
: 엑세스의 조건으로 자주 사용되는 속성

트랜잭션(transaction)

- 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 일련의 연산 집합으로 작업의 논리적 단위
- 데이터베이스에서 병행 제어 및 회복 작업시 처리되는 작업의 논리적 단위로 사용
- 사용자가 시스템에 대한 서비스 요구시 시스템이 응답하기 위한 상태변환 과정의 작업단위로도 사용

특징

원자성(Atomicity) 
: 트랜잭션의 연산은 데이터베이스에 모두 반영되거나 아니면 전혀 반영되지 말아야 함
일관성(Consistency) 
: 트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환
독립성(Isolation) 
: 한 트랜잭션이 데이터를 갱신하는 동안 갱신작업이 완료되기 전에는 다른  트랜잭션이 접근하지 못하도록 함
영속성(Durability) 
: 트랜잭션의 실행이 성공적으로 실행 완료된 후에는 시스템에 오류가 발생하더라도 
  트랜잭션에 의해 변경된 내용은 계속 보존되어야 한다

CRUD 분석

- Create,Read,Update,Delete 의 앞 글자만 모아서 만든 용어
- 데이터베이스 테이블에 변화를 주는 트랜잭션을 분석하여 
  데이터베이스 물리적 설계시 구조를 최적화하는데 목적
- 테이블에 발생되는 트랜잭션의 주기별 발생 횟수를 파악하고 
  연관된 테이블들을 분석하면 테이블에 저장된 데이터양을 유추
- 많은 트랜잭션이 몰리는 테이블을 파악할 수 있어서 디스크 구성시 유용한 자료로 활용
- 외부 프로세스 트랜잭션의 부하가 집중되는 데이터베이스 채널을 파악하고
  분산시킴으로써 연결 지연이나 타임아웃오류를 방지

CRUD 매트릭스 예시

체크포인트

문제 1

정답 
: 정규화된 개체 속성 관계에대해 시스템의 성능향상을 위해 
  중복, 통합, 분리등을 수행하는 데이터 모델링 기법

문제 2

정답 
일관성 
: 트랜잭션 정상 완료되면 언제나 
  일관성있는 데이터베이스 상태로 변환
영속성 
: 트랜젝션 정상 완료 후에는 시스템 오류가 발생되도
  트랜잭션에 의해 변경된 내용은 계속 보존

문제 3

정답 
: 트랜잭션 정상 완료 시 데이터 베이스에 반영되었다는 명령어
profile
Back-end Developer Preparation Students

0개의 댓글