2. 물리 데이터 - 논리 모델을 적용하고자 하는 기술에 맞게 정확하고 완전하게 표현한 모델
데이터 베이스 생성을 위한 물리 구조로 변환, 설계와 성능을 고려해 조정, DBMS에 적합한 성능 조정, 특정 DBMS를 전제로 진행
논리 모델링 -> 물리 모델링
- 엔티티 -> 테이블
- 속성 -> 컬럼 (데이터 타입 지정 | char, vachar2..)
- 주식별자 -> 기본키 (PK)
- 외래식별자 -> 외래키 (FK)
- 관계 -> 관계 (그대로 유지, 카디널리티, 선택/필수도 유지)
반정규화 - 정규화를 하면 속도가 느려지는 경우가 있어 성능향상을 위해 수행
정규화를 수행했을 때 속도에 문제가 생긴 경우, 다량의 정보를 자주 처리할 경우, 특정 데이터만 자주 처리하는 경우, 처리 범위를 줄이지 않고는 속도를 높일 수 없을 경우, 요약 자료만 요구되는 경우..
- 중복 테이블 추가 : 특정 부분을 포함하는 테이블 추가
- 테이블 조합 : 1: 1, 1:N 관계 테이블 조합
- 테이블 분할 : 수직 분할, 수평 분할
- 테이블 제거 : 테이블 재정의, 사용하지 않는 테이블 제거
- 컬럼 중복화 : 조인 시 성능 향상을 위해 중복 허용
물리 데이터 저장소 구성 - 제약조건 설계, 인덱스 설계, 뷰 설계, 클러스터 설계, 파티션 설계, 디스크 설계
제약조건 설계 - 참조 무결성 (릴레이션 간 사이의 참조 일관성을 보장하기 위한 조건)
- 제한 : 참조 무결성이 위배되는 연산 거절
- 연쇄 : 튜플을 삭제 시 이걸 참조하는 튜플도 같이 삭제
- 널 값 : 튜플을 삭제 시 이걸 참조하는 튜플의 외래키에 널 값을 삽입
인덱스 설계 - 테이블 검색 속도를 향상시킬 수 있는 수단 (순차적 접근, 이진 검색, 인덱스 검색)
- 인덱스 수가 많을 경우 재정렬로 인한 DBMS 성능 저하
- 꼭 필요한 컬럼만 지정
- 모든 경우, 인덱스가 좋지는 않음 (튜플 수 적을 경우, 검색 결과가 전체 튜플의 10~15% 미만일 때 효과 있음)
뷰 설계 - 테이블을 베이스로 한 가상 테이블
- REPLACE : 뷰가 이미 존재하는 경우 재생성
- FORCE : 기본 테이블의 존재 여부와 상관없이 뷰 생성
- NOFORCE : 기본 테이블이 있을 경우만 뷰 생성
- WITH CHECK OPTION : 서브 쿼리 내 조건을 만족하는 행만 변경
- WITH READ ONLY : DML 작업 불가
클러스터 설계 - 지정된 컬럼 값의 순서대로 데이터 행을 저장하는 방법, 하나 이상의 테이블을 같은 클러스터 내에 저장 가능
- 분포도가 넓을 수록 유리(인덱스 단점 해결 가능), 액세스 효율 향상을 위한 물리적 저장 방법, 저장 공간 절약 가능, 많은 범위를 자주 액세스하는 경우, 여러 개의 테이블이 빈번한 조인을 일으킬 경우
- 검색 효율은 높아지지만 입력, 수정, 삭제 시 부하 증가, Union, Distinct, Order by, Group by가 빈번한 컬럼일 경우 고려, 수정이 자주 발생하지 않는 칼럼일 경우 고려, 처리 범위 넓은건 단일 테이블 클러스팅 고려, 조인 많은건 다중 테이블 클러스팅 고려
파티션 설계 - 몇 개의 중요 테이블에서 데이터가 증가해 보다 작은 단위로 나눠 성능 저하 방지, 관리 용이성 높임
- 범위분할 : 지정한 열의 값 (숫자나 날짜)을 기준으로 분할
- 해시분할 : 해시 함수에 따른 데이터 분할
- 조합분할 : 범위분할 이후 해시함수 적용해 다시 분할
- 리스트분할 : 저장될 데이터에 대한 명시적 제어가 가능한 분할
- 데이터 액세스 범위가 줄어 성능 향상, 데이터 훼손 가능성 감소, 가용성 향상, 영역마다 독립적으로 백업, 복구 가능
디스크 설계
- 정확한 용량 산정해 사용 효율 높이기, 많이 사용하는 디스크 분리해 설계, 입출력 경합 최소화..
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 - 데이터 입출력 구현 (4) (0) | 2022.01.15 |
---|---|
정보처리기사 실기 - 데이터 입출력 구현 (3) (0) | 2022.01.14 |
정보처리기사 실기 - 데이터 입출력 구현 (1) (1) | 2022.01.12 |
정보처리기사 실기 - 요구사항 확인 (3) (1) | 2022.01.11 |
정보처리기사 실기 - 요구사항 확인 (2) (0) | 2022.01.10 |