물리 데이터베이스 설계
슈퍼 타입 변환 : 서브 타입을 하나의 테이블로 만드는 것
단일 테이블로 통합할 때
수행 속도
데이터 액세스 상대적으로 용이
복잡한 처리를 하나의 SQL로 통합
인덱스 크기 증가
물리데이터 모델 설계
하나의 테이블을 복수의 테이블로 분할
단위 테이블 크기 감소
부분 범위에 대한 처리 곤란
전체 테이블 스캔 유리
복잡한 처리를 하나의 SQL로 통합하기가 어렵다.
클러스터 설계
수정 자주 발생하면 안된다.
여러 개의 테이블 빈번하게 조인
클러스터는 순서대로 데이터 행을 저장
액세스 효율 향상을 위한 물리적 저장 방법
개별 타입 기준 테이블 변환
서브 타입 컬럼 수가 다수
서브 타입 처리가 대부분 독립적
전체 데이터에 대한 처리가 자주
트랜잭션이 주로 슈퍼타입에서 발생
속성 컬럼으로 변환
예약어 피하기
컬럼 명칭과 속성 명칭 일치 권장
샘플 데이터 작성, 컬럼의 정합성 검증
복합 단어 - 미리 정의된 표준에 의해 명명
외래키로 변환
“참조하는” 릴레이션에는 기본키, “참조되는” 릴레이션에는 외래키
.
컬럼 타입
고정 길이 : 최소 길이
가변 길이 : 최대 길이
비교 연산시 내부적으로 데이터 타입 변형
문자, 숫자 등은 내장 데이터 형식
컬렉션, 사용자 정의 등은 확장 데이터 형식
데이터 타입 비교 방법
NUMBER 가 CHAR 보다 우선순위 높다.
NUMBER로 변환되어 비교
LIKE 비교의 경우 모두 문자열로 변환하여 비교
문자열 컬럼에 알파벳이 혼용되어 변환이 어려운 경우, SQL 오류가 발생
테이블 스페이스
테이블 생성 시 테이블들이 저장되는 물리적인 위치와 공간을 사용자가 직접 지정하여 투명성 있게 사용하는 방법
물리적인 데이터 파일 지정 저장
테이블, 테이블 스페이스, 데이터 파일로 분리하여 관리
테이블 → 마스터 테이블, 트랜잭션 테이블
파티셔닝 테이블
대용량 테이블을 작은 논리적 단위 테이블로 나누는 작업
분포도 낮아 인덱스 사용 곤란한 경우 - 테이블 스캔
파티셔닝 방식 결정 → 파티션의 키 설정 → 파티션 수의 결정 순으로 진행
파티션 유형
범위 분할
해시 분할
조합 분할 : 범위 + 해시
파티션 장점
각 분할 영역 독립적으로 백업하고 복구
데이터 접근 범위 줄여 성능 향상
디스크 Striping으로 입출력 성능 향상
전체 데이터 훼손 가능성 감소, 데이터 가용성 증가
파티셔닝 키 결정할 떄
이력에 대한 정보로 파티셔닝
파티션 생성’소멸 주기 일치 → 관리 쉬워진다.
수명 종료되면 별도의 저장 장치에 저장
접근 유형
분포도가 낮아 인덱스의 사용이 곤란한 경우 테이블 스캔 이루어져야한다.
반정규화
정규화된 엔티티, 속성 관계를 성능 향상 - 모델링 기법
물리적으로 구현되었을 떄 성능 향상, 편의성, 단순화
정규화된 데이터 모델링 규칙에 구애 받지 않고 수행
처리 범위를 줄이지 않고는 처리 속도를 개선할 수 없는 경우에 사용
중복 테이블
다량 범위 자주 처리
필요한 데이터 추출
중복 테이블 추가 방법
집계 테이블 추가
진행 테이블 추가
특정 부분만 포함
통계 테이블
원본 테이블에 트리거 등록
열을 중복화하여 반정규화하는 유형
기본키 형태가 적절하지 않은 경우
너무 많은 열로 구성
M:1 관계로 추가
일관성 위해 원본 컬럼과 동일하게
테이블 분할
열별로 사용 횟수 차이 많은 경우
특정한 부분
수평 테이블 분할은 DBMS 차원
수직 또는 수평 분할하는 것은 파티셔닝
수직 분할
갱신 위주의 열 분할
잠금(Locking)을 처리하기 위한 분할 방식
조회 빈도가 높은 열 분할
크기가 매우 큰 열 분할
보안 적용 열 분할
테이블 조합
입력, 수정, 삭제, 규칙이 복잡
두 개 이상 테이블 매번 같이 사용하는 경우
NOT NULL, Default, Check 등의 제약 조건을 완벽하게 설계하기 어렵다.
테이블 제거
유지보수 단계
관리 소홀, 누락
테이블 재정의나 열의 중복화
급하게 테이블 추가나 변경
트랜잭션 분석 대상
디스크 구성
용량 산정 근거
채널의 분산.
투명성
논리적으로 단일화된 데이터베이스처럼 인식
Fragmentation 투명성
Location 투명성
물리적인 위치도 알 필요가 없어야 한다.
Replication 중복 투명성
중복된 데이터가 무엇인지와, 저장 위치등 사용자가 인지할 필요가 없어야 한다.
Failure 장애 투명성
장애가 발생해도 데이터 무결성은 보장
Concurrency 병행 투명성
다수의 트랜잭션이 동시에 수행해도 일관성 유지
잠금, 타임스탬프 활용
데이터웨어 하우스
데이터웨어 하우스 기본적인 OLAP 연산
roll-up, drill-down, ~ing : dicing, pivoting, slicing
데이터웨어하우스에서 ETL 작업
ETL : 센서, 행위 등
External 테이블
빅데이터
Volume, Velocity Variety
처리과정
생성 - 수집 - 저장 \ 처리 - 분석 - 표현
하둡 : 분산 컴퓨팅 플랫폼
맵리듀스, 하둡 분산 파일 시스템
맵리듀스
대용량 데이터 분산 처리 위한 목적
맵 + 리듀스
맴리스터
메모리와 레지스터
데이터 전환
표준화 내용
데이터 수집, 저장 ,입력
수행 단계
계획 - 설계 - 개발 - 테스트 검증
ETL 방법론
Logical Mapping - Code Mapping - 검증 규칙 - 전환 계획 수립
엔진 모듈 작업
추출, 변환, 적재
데이터 검증 단계
추출 검증, 통합 검증, 업무 검증
검증 3가지 조건
완전성, 관계의 일관성, 데이터 값의 일관성
데이터 품질 방법론
데이터베이스 관리
데이터 활용 관리
요구사항 관리
DBA 관점 : 물리적 관점
오류 상태
Open, Assigned, Fixed, Closed, Deferred, Classified
데이터 정제 유형
완전성, 일치성, 유효성, 유일성
'소프트웨어공학 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 프로그래밍 언어 활용 - 객체지향 기술 (0) | 2022.03.26 |
---|---|
[정보처리기사 필기] 프로그래밍 언어 활용 - 프로그래밍 언어 기초와 활용 (0) | 2022.03.26 |
[정보처리기사 필기] 데이터베이스 구축 - SQL (0) | 2022.03.25 |
[정보처리기사 필기] 데이터베이스 구축 - 논리 데이터베이스 설계 (0) | 2022.03.25 |
[정보처리기사 필기] 데이터베이스 구축 - 데이터베이스의 개요 (0) | 2022.03.25 |
댓글