정보처리기사 필기

3과목 : 데이터베이스 구축(2장. 물리 데이터 베이스 설계 : 주요 키워드 정리)

2022. 8. 2. 14:17
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
'정보처리기사 필기' 카테고리의 다른 글
  • 3과목 : 데이터베이스 구축(4장. SQL활용&데이터 전환 : 주요 키워드 정리)
  • 3과목 : 데이터베이스 구축(3장. SQL 응용 : 주요 키워드 정리)
  • 3과목 : 데이터베이스 구축 (1장. 논리 데이터 베이스 설계 : 주요 키워드 정리)
  • 2과목 : 소프트웨어 개발 (4장. 인터페이스 구현 : 주요 키워드 정리)
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
Developer Story HouseIT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • 알고리즘
  • 프론트엔드
  • it
  • java
  • css
  • html
  • 정보보안전문가
  • IT자격증
  • 웹페이지
  • 자바
  • React
  • DB
  • 정보처리기사
  • IT개발자
  • 앱개발자
  • JavaScript
  • 백준
  • IT자격증공부
  • 코딩테스트
  • jquery
  • 개발자
  • 웹개발
  • jsp
  • 백엔드
  • ajax
  • DBA
  • 개발블로그
  • 데이터베이스
  • 정보처리기사필기
  • 웹개발자

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
3과목 : 데이터베이스 구축(2장. 물리 데이터 베이스 설계 : 주요 키워드 정리)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.