[정보처리기사] 실기 정리 - 2과목 (2)

peach·2020년 10월 13일
4

정보처리기사

목록 보기
5/34
post-thumbnail

🧀 물리 데이터 모델링


1. 개념

논리 모델을 적용하고자 하는 기술에 맞도록 상세화하는 과정


2. 변환 절차

  • 개체를 테이블로 변환
    일반적으로 테이블과 개체 명칭을 동일하게 하는 것을 권고

  • 속성을 컬럼으로 변환
    개발자와 사용자 간 의사소통을 위해 표준화된 약어를 사용하도록 권고

  • UID를 기본키로 변환
    개체의 UID에 해당하는 모든 속성에 대해 기본키로 선언

  • 관계를 외래키로 변환
    외래키명은 기본키 이름을 그대로 사용하지만 다른 의미를 가질 경우 변경 가능

  • 컬럼 유형과 길이 정의
    적절한 유형을 정의하고 데이터의 최대 길이를 파악하여 길이를 설정

  • 반 정규화 수행
    시스템 성능 향상과 개발 및 운영의 단순화를 위해 데이터 모델을 통합
    • 중복 테이블 추가
    • 테이블 조합/분할/제거
    • 칼럼 중복화



🧀 물리 데이터 저장소 구성


1. 테이블 제약 조건 설계

(1) 참조 무결성 제약 조건

관계와 관계 사이에 대해 참조의 일관성을 보장하기 위한 조건
참조하는 릴레이션의 외래키는 항상 참조되는 릴레이션의 기본키로 존재해야 함

  • 제한(Restricted)
    참조 무결성 원칙을 위배하는 연산을 거절하는 옵션

  • 연쇄(Cascade)
    참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 릴레이션에서 이 튜플을 참조하는 튜플들도 함께 삭제하는 옵션

  • 널 값(NUllify)
    참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 릴레이션에서 해당 튜플을 참조하는 튜플들의 외래키에 NULL 값을 넣는 옵션
    NOT NULL이 명시된 속성이라면 연산을 거절


2. 인덱스 설계

(1) 인덱스의 개념

검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터구조

(2) 적용 기준

인덱스 분포도가 10~15% 이내인 경우에 적용
인덱스 분포도가 범위 이상이더라도 부분 처리 목적으로 적용 가능

분포도	= 1 / (컬럼 값의 종류) X 100
	= (컬럼 값의 평균 row 수) / (테이블의 총 row 수) X 100

(3) 컬럼 선정

  • 분포도가 좋은 컬럼은 단독 인덱스로 생성
  • 자주 조합되어 사용되는 컬럼은 결합 인덱스로 생성
  • 가능한 수정이 적은 컬럼을 선정

(4) 고려 사항

  • 지나치게 많은 인덱스는 오버헤드로 작용
  • 넓은 범위를 인덱스 처리하면 전체 처리보다 많은 오버헤드 발생 가능
  • 인덱스와 테이블의 저장 공간을 적절히 분리

3. 뷰 설계

(1) 뷰 속성

  • REPLACE : 이미 존재하는 경우 재생성
  • FORCE : 기본 테이블의 존재 여부에 관계없이 뷰 생성
  • NOFORCE : 기본 테이블이 존재할 때 뷰 생성
  • WITH CHECK OPTION : 서브 쿼리 내 조건을 만족하는 행만 변경
  • WITH READ ONLY : 데이터 조작어 작업 불가

(2) 고려 사항

  • 뷰 사용에 따라 수행 속도에 문제 발생 가능
  • 뷰 조건은 최적의 액세스 경로를 사용하도록 함

4. 클러스터 설계

(1) 적용 기준

  • 대량의 범위에 자주 접근하는 경우 사용
  • 여러 개의 테이블이 빈번하게 조인을 일으킬 때 사용
  • 분포도가 넓을수록 유리함
  • 액세스 효율 향상을 위한 물리적 저장 방법

(2) 컬럼 선정

  • 처리 범위가 넓은 경우 단일 테이블 클러스터링 적용
  • 조인이 많은 경우 다중 테이블 클러스터링 적용
  • 수정이 적은 컬럼에 적용

(3) 고려 사항

  • 데이터 조작어 사용 시에는 부하가 증가함

5. 파티션 설계

(1) 종류

  • 레인지 파티셔닝(Range Partitioning)
    연속적인 숫자나 날짜를 기준으로 하는 기법

  • 해시 파티셔닝(Hash Partitioning)
    파티션 키의 해시 함숫값에 의한 기법

  • 리스트 파티셔닝(List Partitioning)
    데이터에 대한 명시적 제어가 가능한 기법

  • 컴포지트 파티셔닝(Composite Partitioning)
    레인지 파티셔닝 이후 해시 파티셔닝을 적용하는 기법

(2) 장점

  • 성능 향상
  • 가용성 향상
  • 백업 가능
  • 경합 감소

6. 디스크 설계

  • 정확한 용량을 산정하여 디스크 사용 효율을 높임
  • 업무량이 집중되어 있는 디스크를 분리하여 설계함
  • 파티션 수행 테이블은 별도로 분류함




🐭 참고문헌

  • NCS 정보처리기술사 연구회. (2020). 수제비 정보처리기사 실기 (2판). 건기원.

0개의 댓글