Section 01. 물리 데이터 모델 설계 ★★
1. 개별 타입 기준 테이블 변환을 사용하는 경우
- 서브 타입 컬럼 수가 다수인 경우 사용
- 전체 데이터에 대한 처리가 자주 발생하는 경우 사용
- 서브 타입 처리가 대부분 독립적으로 발생하는 경우 사용
- 트랜잭션이 주로 슈퍼 타입에서 발생하는 경우 사용
2. 물리 데이터 모델 설계에서 속성(Attribute)을 컬럼(Column)으로 변환할 때
- 컬럼(열)의 명칭은 속성의 명칭과 반드시 일치할 필요는 없음
- SQL Reserved Word 사용은 피해야 함
- 샘플 데이터를 작성하여 컬럼의 정합성을 검증한다
- 복합 단어를 사용할 경우에는 미리 정의된 표준에 의해 명명
3. 물리 데이터 모델 설계에서 관계를 외래키로 변환할 때
- '참조하는' 릴레이션에는 외래키, '참조되는' 릴레이션에는 기본키로 선언
- 외래키가 기본키에 포함될 수 있음
- 순환 관계에 있는 테이블에서 자신의 기본키는 외래키로 정의됨
- 외래키명은 기본키 이름을 그대로 사용하나 다른 의미를 가질 경우 외래키명을 수정한다
4. 물리 데이터 저장소의 파티션 설계에서 파티션 유형
- 범위(Range) 분할 : 지정한 컬럼 값을 기준으로 분할
- 해시(Hash) 분할 : 해시 함수에 따라 데이터를 분할
- 조합(Composite) 분할 : 범위 분할 후 해시 분할로 다시 분할
# 유닛 분할은 X
Section 02. 저장 레코드 형식 설계 ★
1. 파티셔닝 테이블
- 파티셔닝 방식은 범위 분할, 해시 분할, 조합 분할이 있음
- 대용량의 테이블을 논리적인 단위의 테이블로 나누는 작업이다
- 분포도가 낮아 인덱스의 사용이 곤란한 경우 테이블 스캔이 이루어져야 함
- 파티셔닝은 파티셔닝 방식 결정, 파티션 키의 선정, 파티션 수의 결정 순으로 진행함
2. External 테이블
- 외부 파일을 연결하여 외부 파일을 SQL을 수행할 수 있는 DBMS 테이블이기 때문에 -> 데이터웨어하우스에 ETL 등의 자업에 유용하게 활용할 수 있는 테이블
3. 컬럼 데이터 타입에 따른 물리적 순서 조정
- 가변 길이 컬럼은 뒤쪽에 배치
- NOT NULL인 고정 길이 컬럼은 앞쪽에 배치
- NULL 값이 많은 컬럼은 뒤쪽으로 배치
- 저장 공간의 효율적인 사용을 위해 물리적 순서 조정이 필요함
Section 03. 반정규화 수행 ★★★
1. 반정규화의 개념
- 성능 향상
- 편의성
- 단순화
# 정규화 : 중복의 최소화, 일관성, 정확성, 무결성, 안전성 위주
2. 반정규화 유형 중 중복 테이블을 추가하는 방법
- 집계(통계) 테이블을 추가하는 방법, 진행 테이블의 추가하는 방법, 특정 부분만 포함하는 테이블을 추가하는 방법
3. 테이블을 수직 분할하여 반정규화하는 경우
- 삽입이 아닌 갱신 위주의 열(컬럼) 분할
- 조회 빈도가 높은 열(컬럼) 분할
- 크기가 매우 큰 열(컬럼) 분할
- 보안 적용 열(컬럼) 분할
4. 테이블을 수직 분할하여 반정규화하는 유형중에 잠금(Locking)을 처리하기 위한 분할 방식
- 갱신 위주의 열(컬럼) 분할
5. 열(컬럼)을 중복화하여 반정규화하는 유형
- 기본키의 형태가 적절하지 않은 경우에 활용
- 너무 많은 열로 구성된 경우에 활용
- 상위 레벨의 테이블에 집계된 열을 M:1 관계로 추가할 수 있음
- 데이터의 일관성을 위해서 복사된 컬럼의 도메인은 원본 컬럼과 동일하게 해야함
6. 반정규화
- 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
Section 04. 분산 데이터베이스 설계 ★★★
1. 트랜잭션 분석을 활용할 수 있는 대상
- 디스크 구성의 이용
- 용량 산정의 근거 자료
- 데이터베이스와 연결되는 채널의 분산
# 정규화는 트랜잭션의 이전 작업으로 트랜잭션 분석으로 활용되는 대상이 아님
2. 장애 투명성
- 분산 데이터베이스 목표 중 "데이터베이스의 분산된 물리적 환경에서 특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장된다"는 것과 관계있음
# 병행 투명성 : 다수 트랜잭션이 동시에 수행되는 경우에 일관성이 유지
# 위치 투명성 : 어떠한 데이터의 물리적인 위치도 알 필요가 있음
# 중복 투명성 : 중복된 데이터가 무엇인지 인지할 필요가 없음
3. 분산 데이터베이스의 투명성에 해당하는 것
- 분할 투명성(Fragmentation Transparency)
- 위치 투명성(Location Transparency)
- 중복 투명성(Replication Transparency)
- 장애 투명성(Failure Transparency)
- 병행 투명성(Concurrency Transparency)
4. 데이터웨어하우스의 기본적인 OLAP(On-line Ana-lytical Processing) 연산
- roll-up
- drill-down
- pivoting
- slicing
- dicing
5. 하둡(Hadoop)
- 오픈소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 일반 PC급 컴퓨터들로 가상회된 대형 스토리지를 형성
- 다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리
# 비컨 : 근거리에 있는 스마트 폰을 자동으로 인식하여 필요한 데이터를 전송할 수 있는 무선 통신 장치
# 포스퀘어(Foursquare) : 위치 기반 SNS 서비스
# 멤리스터(Memristors) : 메모리와 레지스터의 합성어
예상문제
1. 슈퍼 타입 변환은 서브 타입을 하나의 테이블로 만드는 것을 말한다. 단일 테이블로 통합할 때!
- 수행 속도가 좋아지는 경우가 많음
- 데이터의 액세스가 상대적으로 용이
- 복잡한 처리를 하나의 SQL로 통합하기가 쉬움
- 테이블의 컬럼 및 블록 수가 증가하여 인덱스의 크기가 증가
2. 클러스터 설계
- 수정이 자주 발생하지 않는 컬럼이 고려 대상
- 여러 개의 테이블이 빈번하게 조인이 필요할 때 활용
- 클러스터는 지정된 컬럼 값의 순서대로 데이터 행을 저장하는 방법
- 액세스 기법이 아니라 액세스 효율 향상을 위한 물리적 저장 방법
3. 파티션의 장점
- 데이터 접근 범위를 줄여 성능을 향상시킬 수 있음
- 각 분할 영역을 독립적으로 한 번에 백업하고 복구할 수 있음
- 디스크 Striping으로 입출력 성능을 향상시킬 수 있음
- 전체 데이터 훼손 가능성이 감소되고 데이터의 가용성이 증가
4. 물리 데이터 모델에서 컬럼 타입에 대한 설명(Column Type)
- 고정 길이 데이터 타입은 최소의 길이를 지정
- 가변 길이 데이터 타입은 예상되는 최대 길이로 정의
- 비교 연산에서 두 컬럼 사이에 데이터 타입과 길이가 다른 경우 DBMS는 내부적으로 데이터 타입을 변형한 후 비교 연산을 수행해야 함
- 문자, 숫자 등은 내장 데이터 형식이고, 컬렉션, 사용자 정의 등은 확장 데이터 형식이다
5. 테이블 스페이스(Table space)
- 물리적인 데이터 파일을 지정하여 저장
- 테이블, 테이블 스페이스, 데이터 파일로 분리하여 관리
- 테이블을 마스터 테이블과 트랜잭션 테이블로 분류
- 예상 데이터 건수에 따라 2~4개로 분류한다
- 테이블 스페이스의 Extents Size를 테이블에서 동일하게 적용하거나 정수배로 결정
6. 반정규화
- 정규화된 데이터 모델링 규칙에 구애받지 않고 수행함
- 반정규화는 물리적으로 구현되었을 때 성능 향상을 목적으로 한다(논리적으로 구현되었을 때 X)
- 시스템의 성능 향상, 개발 과정의 편의성, 운영의 단순화를 목적으로 함
- 처리 범위를 줄이지 않고는 처리 속도를 개선할 수 없는 경우에 사용
7. 데이터의 투명성
- 복수의 분할된 물리적 데이터베이스를 논리적으로 단일화된 데이터베이스처럼 인식하려면 사용자들이 데이터의 물리적 배치와 특정 지역 사이트의 데이터에 대한 액세스 방법을 별도로 알 필요가 없어야 함
- 투명성은 여러 개의 컴퓨터나 데이터베이스를 연결하여 사용할 때, 사용자는 여러 개가 아닌 하나의 인식할 수 있는 가의 성질
8. 위치 투명성
- 분산 데이터베이스 목표 중 "사용자나 애플리케이션에서 어떤 작업을 수행하기 위해 분산 데이터베이스상에 존재하는 어떠한 데이터의 물리적인 위치도 알 필요가 없어야 한다는 것이다"는 것과 관계있는 것
# 장애 투명성 : 네트워크에 장애가 발생해도 데이터 무결성이 보장
# 병행 투명성 : 다수 트랜잭션이 동시에 수행되는 경우에도 일관성이 유지
# 중복 투명성 : 중복된 데이터가 무엇인지 인지할 필요가 없음
9. 빅데이터
- 빅데이터의 특성을 나타내는 3V는 규모(Volume), 속도(Velocity), 형태의 다양성(Variety)를 의미
- 빅데이터는 그림, 영상 등의 비정형 데이터를 포함
- 자연어 처리는 빅데이터 분석 기술 중의 하나
- 시각화는 데이터 분석 결과를 쉽게 이해할 수 있도록 표현하는 기술
10. 빅데이터 처리 과정
생성 -> 수집 -> 저장 -> 처리 -> 분석 -> 표현
'자격증 > 정보처리산업기사' 카테고리의 다른 글
Part 03. 데이터베이스 활용 | Chapter 03. SQL (0) | 2022.02.09 |
---|---|
Part 03. 데이터베이스 활용 | Chapter 02. 논리 데이터베이스 설계 (0) | 2022.02.09 |
Part 03. 데이터베이스 활용 | Chapter 01. 데이터베이스의 개요 (0) | 2022.02.08 |
Part 02. 프로그래밍 언어 활용 | Chapter 05. 보안 공격 및 예방 (0) | 2022.02.08 |
Part 02. 프로그래밍 언어 활용 | Chapter 04. 시스템 보안 구축 (0) | 2022.02.07 |