본문 바로가기
IT License/정처기필기-3과목

2024 #정보처리기사 필기요약 #3-4. 물리 데이터베이스 설계

by 시뮝 2024. 7. 5.
728x90

참고1. 노랑마킹은 시험에 나온 중요한 부분입니다.

참고2. 주황강조는 약어 혹은 중요한 내용입니다.

참고3. 회색마킹은 예시입니다. 


제 3과목 데이터베이스 구축 > 물리 데이터베이스 설계


스토리지(Storage)

정보를 보존하는 저장장치

스토리지 구성 (다나스)

접속 방식 설명 장점 단점
DAS
(Direct Attached Storage)
데이터 서버와 외장형 저장장치를 전용 케이블로 직접 접속하는 방식 전용라인의 사용으로 주어진 성능이 보장되며 안정성도 뛰어남 저장장치에 따른 접속방법이 서로 상이하여 저장장치 공유에 문제가 있음
NAS
(Network Attached Storage)
LAN을 통해 스토리지와 서버를 접속하는 방식, 파일서버를 통한 파일 시스템 공유 데이터 저장 장치와 서버 간의 독립성을 유지 데이터 접근 요청에 의한 파일 서버의 병목현상 발생 가능, 셧다운 시 스토리지 접근이 불가능
SAN
(Storage Area Network)
서버가 광섬유 채널(Fiber Channel)을 통하여 스토리지를 연결하는 기법 DAS의 접속 한계성을 극복하여, n개의 서버가 m개의 저장장치 접속 가능 이기종 서버 환경을지원하지 않음, 공유 가능한 파일 시스템과 데이터형식이 제한

 

 

분산 데이터베이스(Distributed Database)

분산 데이터베이스는 네트워크상에서 여러 컴퓨터에 물리적으로 분산되어 있지만, 하나의 데이터베이스처럼 인식하도록 논리적으로 통합된 데이터베이스이다.

분산 데이터베이스 장점

  • 분산 제어가 용이
  • 지역 자치성이 높음
  • 효용성과 융통성이 높음
  • 데이터베이스 복제 및 분산을 통해 사용자 측면에서는 향상된 성능을 제공
  • 장애로 인한 데이터 유실 복구에 효과적
  • 시스템 확장이 용이

분산 데이터베이스 단점

  • 복잡성이 증가
  • 성능 저하
  • 개발 비용의 증가

분산 데이터베이스 구성 (전분할지)

역 스키마 / 할 스키마 / 당 스키마 / 역 스키마

분산 데이터베이스의 투명성 (위 복병 분장) [2020년 4회]

구분 설명
치 투명성
(Location Transparency)
사용자나 응용 프로그램이 접근할 데이터의 물리적 위치를 알아야 할 필요가 없는 성질
제 투명성
(Replication Transparency)
사용자나 응용 프로그램이 접근할 데이터가 물리적으로 여러 곳에 복제되어 있는지의 여부를 알 필요가 없는 성질
행 투명성
(Concurrency Transparency)
여러 사용자나 응용 프로그램이 동시에 분산 데이터베이스에 대한 트랜잭션을 수행하는 경우에도 결과에 이상이 발생하지 않는 성질

로킹(Locking), 타임 스탬프(Time Stamp) 순서 기법 이용
할 투명성
(Fragmentation Transparency)
사용자가 하나의 논리적인 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 장소에 저장되어 있음을 알 필요가 없는 성질
애 투명성
(Failure Transparency)
데이터베이스가 분산되어 있는 각 지역의 시스템이나 통신망에 이상이 생기더라도, 데이터의 무결성을 보존할 수 있는 성질

2PC(Phase Commit) 활용

 

데이터베이스 이중화(Database Replication)

데이터베이스 이중화는 물리적으로 떨어져 있는 여러 개의 데이터베이스에 대하여 데이터베이스의 변경된 내용을 원격데이터베이스에 복제하고 관리하는 기술이다.

 

데이터베이스 암호화(Database Encryption)

데이터베이스 암호화 유형 (응서 자기운)

유형 설명
용 프로그램 자체 암호화 암·복호화 모듈이 DB 서버에 설치되고 DB 서버에서 암·복호화 모듈을 호출하는 방식
DB 버 암호화 DB 서버의 DBMS 커널이 자체적으로 암·복호화 기능을 수행하는 방식
DBMS 체 암호화 응용 프로그램에서 DB 서버의 DBMS 커널이 제공하는 암·복호화 API를 호출하는 방식
DBMS 암호화 능 호출 OS에서 발생하는 물리적인 입출력을 이용한 암·복호화 방식으로 DBMS의 데이터 파일을 암호화하는 방식
영체제 암호화  

 

데이터베이스 암호화 적용 방식

컬럼 암호화 (애플하)

API / Plug-in / Hybrid

블록 암호화 (티파)

TDE 방식 / 일 암호화 방식

 

 

접근제어(Access Control)

접근제어 구성요소 (정메보)

책 / 커니즘 / 안 모델


파티셔닝(Partitioning)

파티셔닝은 대용량의 테이블을 파티션이라는 보다 작은 논리적인 단위로 나눔으로써 성능 저하 방지 및 관리르 상대적으로 보다 용이하게 하고자 하는 기법이다.

파티셔닝 특징

  • 물리적 파티셔닝으로 인해 전체 데이터 훼손 가능성이 줄어들고 데이터 가용성이 향상된다.
  • 데이터베이스를 작은 단위로 관리하여 편리하다.
  • 부하를 각각 파티션들로 분산시켜 성능을 향상시킨다.

파티셔닝 장점

장점 (성가백합)능 향상 / 용성 향상 / 업 가능 / 경 감소

 

파티셔닝 유형 (레해리컴) [2020년 3회]

  • 이지 파티셔닝(=범위분할, Range Partitioning)
  • 시 파티셔닝(=해시분할, Hash Partitioning)
  • 스트 파티셔닝(List Partitioning)
  • 포지트 파티셔닝(=조합분할, Composite Partitioning)

 

클러스터링(Clustering)

클러스터링은 지정된 컬럼 값의 순서대로 데이터 행을 저장하는 방법이다.

클러스터링 유형

단일 클러스터링 / 다중 클러스터링

클러스터링 설계 시 고려사항

  • 대량의 범위를 자주 액세스하는 경우
  • 인덱스를 사용한 처리 부담이 되는 넓은 분포도
  • 여러 개의 테이블이 자주 조인을 일으킬 때
  • 반복 컬럼이 정규화에 의해 어쩔 수 없이 분할된 경우
  • UNION, DISTINCT, ORDER BY, GROUP BY가 빈번한 컬럼이면 고려
  • 수정이 자주 발생하지 않는 컬럼

 

데이터베이스 백업(Database Backup)

데이터베이스 백업 종류 (전차증트)

구분 설명
체 백업 (Full Backup) 백업하고자 하는 데이터 전체에 대해 백업하는 방식
등 백업 (Differential Backup) 마지막 전체 백업 이후 변경된 모든 데이터를 백업하는 방식
분 백업 (Incremental Backup) 정해진 시간을 기준으로 그 이후에 변경된 파일만을 백업하는 방식
랜잭션 로그 백업 (Transaction Log Backup) 실제 데이터 파일의 내용을 백업하는 것이 아니라 로그 파일에 기록된 로그를 백업하는 방식

 

테이블 저장 사이징(Sizing)

정확한 데이터 용량을 예측하여 저장 공간을 효과적으로 사용하고 확장성을 보장하여 가용성을 높이기 위해 사용한다.

 

데이터 지역화(Data Locality)

  • 데이터 지역화는 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법이다.
  • 필요한 위치에 가까이 데이터를 배치하는 것을 의미한다.

데이터 지역화의 종류 (시공순)

시간적(Temporal) / 공간적(Spacial) / 순차적(Sequential) 지역화

데이터 지역화를 이용한 관리 기법

기억장치 계층구조(Hierarchy) / 캐시 접근시간(Cache Access Time) 단축 / 작업세트(Working Set)

 

 


데이터베이스 무결성(Database Integrity)

데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호하는 특성이다.

데이터 무결성 종류 (개참속사키)

종류 설명
체 무결성 한 엔터티에서 동일한 기본 키(PK)를 가질 수 없거나, 기본 키(PK)의 속성이 NULL을 허용할 수 없음
조 무결성 외래 키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키 값이나 NULL이어야 함
성 무결성 속성의 값은 기본값, NULL 여부, 도메인(데이터 타입, 길이)이 지정된 규칙을 준수해야 함
용자 무결성 사용자의 의미적 요구사항을 준수해야 함
 무결성  한 릴레이션에 같은 키 값을 가진 튜플들을 허용할 수 없음

 

키(Key)

  • 키는 다른 튜플들과 구별할 수 있는 기준이 되는 속성이다.
  • 키 특성으로는 유일성, 최소성이 있다.

키 종류

종류 설명
기본키
(Primary Key)
테이블의 각 튜플들을 고유하게 식별하는 컬럼
대체키
(Alternate Key)
후보 키 중에서 기본 키로 선택되지 않은 키
후보키
(Candidate Key)
테이블에서 각 튜플들을 구별하는데 기준이 되는 컬럼
기본 키와 대체 키를 합친 키
슈퍼키
(Super Key)
릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못하는 키
[2020년 4회] [2023년 3회]
외래키
(Foreign Key)
테이블 간의 참조 데이터 무결성을 위한 제약 조건
한 릴레이션의 컬럼이 다른 릴레이션의 기본 키로 이용되는 키

 


반 정규화(De-Normalization)

  • 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법이다. [2023년 3회]
  • 비정규화, 역정규화라고도 불린다.

반정규화 장단점

장점 단점
성능 향상과 관리의 효율성이 증가 데이터의 일관성 및 정합성 저하
유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있음

반 정규화 기법 (태병분중 컬중 관중)

(이블)합 / 할 / 복, (럼)복, (계)

 

CRUD 분석

  • CRUD 분석은 데이터베이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 기법이다. [2020년 4회]
  • 프로세스와 데이터 사이에 관계 의존성을 CREATE, READ, UPDATE, DELETE 연산으로 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석한다.

CRUD 매트릭스(CRUD Matrix)

프로세스와 데이터 사이에 관계 의존성을 CRUD(Create, Read, Update, Delete)로 표현한 매트릭스이다.

CRUD 매트릭스 구성요소 (엔단씨)

터티 타입 / 위 프로세스 / CRUD

CRUD 매트릭스 필요성

  • 모델링 작업 검증
  • 중요 산출물
  • 테스트 시 사용 산출물
  • 인터페이스 현황 파악

 

SQL 성능 튜닝

SQL 성능 튜닝은 최소의 자원을 이용하여 데이터베이스로부터 최적의 성능을 제공하도록 하는 개선활동이다.

SQL 성능 튜닝 기법 (옵힌 부인)

티마이저 조정 / 트 사용 / 분 범위 처리 사용 / 덱스 사용

 


728x90

댓글