728x90
2장. 물리 데이터 베이스 설계
2-0. 물리 데이터베이스 설계
- 논리적 DB를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환
- 도메인 : 객체에 포함된 속성들의 데이터 타입, 크기 등을 표준화 규칙에 따라 일관성 있게 정의한 것
- 데이터 사전 : 프로젝트 과정에서 일관성을 제공하기 위해 데이터 속성의 논리명,물리명,용어 정의를 기술
- 테이블 : 데이터베이스의 가장 기본적인 객체로 로우와 컬럼으로 구성
- 일반 테이블 : 데이터의 로우 위치는 속성 값에 상관없이 데이터가 저장되는 순서에 따라 결정
- 클러스터드 테이블 : 기본키나 인덱스 키의 순서에 따라 데이터가 저장되는 테이블
- 파티셔닝 테이블 : 대용량 테이블을 작은 논리적 단위인 파티션으로 나눈 테이블
- 외부 테이블 : DB에서 일반 테이블 처럼 이용할 수 있는 외부 파일
- 임시 테이블 : 트랜잭션이나 세션별로 데이터를 저장하고 처리할 수 있는 테이블
- 컬럼 : 테이블 열을 구성하는 요소로 데이터 타입, 길이 등으로 정의
- 테이블 스페이스 : 테이블이 저장되는 논리적인 영역, 하나의 테이블 스페이스에 하나 또는 그 이상의 테이블 저장가능
2-1. 트랜잭션/CRUD 분석
- 트랜잭션 : 데이터베이스의 상태를 변환 시키는 하나의 논리적인 기능을 수행하기 위한 작업단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들
- 트랜잭션의 특성
- 원자성(Atomicity) : 트랜잭션의 연산은 모두 DB에 반영되도록 완료(COMMIT)되던지, 아니면 전혀 반영되지 않도록 복구(ROLLBACK)되어야 함.
- 일관성(Consistency) : 실행을 성공하면 언제나 일관성 있는 DB 상태로 변환
- 독립성(Isolation) : 둘 이상의 트랜잭션 동시 실행되는 경우 다른 트랜잭션 연산이 끼어들 수 없음
- 지속성(Durability) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함.
- CRUD분석 : CREATE, READ, UPDATE, DELETE를 모아 만든 용어
2-2. 인덱스 설계
- 인덱스 : 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조
- 클러스터드 인덱스 : 인덱스 키의 순서에 따라 데이터가 정렬되어 저장
- 넌 클러스터드 인덱스 : 키 값만 정렬되어 있을 뿐, 실제 데이터는 정렬 X
- 트리기반 인덱스 : 인덱스를 저장하는 블록들이 트리구조를 이루고 있는 것
- 비트맵 인덱스 : 인덱스 컬럼의 데이터를 0 or 1로 변환하여 인덱스 키로 사용
- 함수 기반 인덱스 : 컬렘에 특정함수나 수식을 적용하여 산출된 값을 사용
- 비트맵 조인 인덱스 : 다수의 조인된 객체로 구성된 인덱스
- 도메인 인덱스 : 개발자가 필요한 인덱스를 직접 만들어서 사용하는 인덱스
2-4. 뷰
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로 유도된, 이름을 가지는 가상 테이블
- 특징
- 뷰는 유도된 테이블이기 때문에 기본 테이블과 유사함.
- 장점 : 독립성, 상이한 응용도구 지원, 관리 용이, 자동보안 제공
- 단점 : 독립적인 인덱스 X, 뷰 정의 변경 X, 연산 제약이 따름
2-5. 클러스터/파티션/분산데이터베이스 설계
- 클러스터 : Data 저장시 데이터 액세스 효율을 향상 시키기 위해 동일한 데이터 블록에 저장하는 물리적 저장방법
- 파티션 : 대용량 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것
- 범위분할 : 지정한 열의 값을 기준으로 범위를 지정하여 분할
- 해시분할 : 해시함수를 적용한 결과 값에 따라 데이터를 분할
- 조합분할 : 범위 분할로 분할 후 해시 함수를 적용하여 다시 분할
- 목록분할 : 지정한 열 값에 대한 목록을 만들어 이를 기준으로 분할
- 라운드로빈분할 :레코드를 균일하게 분배하는 방식
- 분산 데이터베이스 : 논리적으로 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트에 분산되어 있는 데이터 베이스
- 분산 DB의 목표 : 위치투명성, 중복투명성, 장애투명성, 병행투명성
2-6. 데이터베이스 이중화
- 시스템 오류로 인한 DB 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 DB를 복제하여 관리
- 이중화의 분류
- Eager 기법 : 트랜잭션 수행 중 데이터 변경 발생하면 즉시 전달&적용 하는 기법
- Lazy 기법 : 트랜잭션 수행 종료시, 변경 사실을 트랜잭션 작성 후 전달 하는 기법
- 클러스터링 : 두 대 이상의 서버를 하나의 서버처럼 운영
2-7. 데이터베이스 보안/ 암호화/ 백업/ 스토리지
- 데이터베이스 보안 : 데이터베이스의 일부분 또는 전체에 대해서 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용
- 암호화 : 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환
- 방식으로는 개인키 암호화 방식, 공개키 암호화 방식 이 있다.
- 접근통제 : 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제안한다.
- 임의 접근 통제 (DAC) : 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여함.
- 강제 접근 통제 (MAC) : 주체와 객체의 등급을 비교하여 접근 권한을 부여함.
- 역할 기반 접근 통제 (RBAC) : 사용자의 역할에 따라 접근 권한을 부여함
- 데이터베이스 백업 : 전산 장비의 장애에 대비하여 DB에 저장된 데이터를 보호하고 복구하기 위한 작업.
- 복구 알고리즘
- NO-UNDO/REDO : DB 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘
- UNDO/NO-REDO : DB 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘
- UNDO/REDO : DB 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘
- NO-UNDO/NO-REDO : DB 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘
- 복구 알고리즘
- 스토리지 : 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술
- DAS : 서버와 저장장치를 전용 케이블로 직접 연결
- NAS : 서버와 저장장치를 네트워크를 통해 연결
- SAN : DAS와 NAS의 장점을 혼합하여, 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성
728x90
'정보처리기사 필기' 카테고리의 다른 글
3과목 : 데이터베이스 구축(4장. SQL활용&데이터 전환 : 주요 키워드 정리) (0) | 2022.08.03 |
---|---|
3과목 : 데이터베이스 구축(3장. SQL 응용 : 주요 키워드 정리) (0) | 2022.08.02 |
3과목 : 데이터베이스 구축 (1장. 논리 데이터 베이스 설계 : 주요 키워드 정리) (0) | 2022.08.02 |
2과목 : 소프트웨어 개발 (4장. 인터페이스 구현 : 주요 키워드 정리) (0) | 2022.08.01 |
2과목 : 소프트웨어 개발 (3장. 애플리케이션 테스트: 주요 키워드 정리) (0) | 2022.08.01 |