01 데이터베이스 기본
▶ 트랜잭션
하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
▶ 트랜잭션의 특성
⦁ 원자성(Atomicity) : 분해가 불가능한 작업의 최소단위, 연산 전체가 성공 또는 실패
⦁ 일관성(Consistency) : 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존
⦁ 격리성(Isolation) : 트랜잭션 실행 중 연산의 중간 결과를 다른 트랜잭션이 접근 불가
⦁ 영속성(Durability) : 성공 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장
▶ 트랜잭션 제어언어 TCL
⦁ 커밋(COMMIT) : 트랜잭션을 메모리에 영구적으로 저장
⦁ 롤백(ROLLBACK) : 오류가 발생했을 때, 오류 이전의 특정 시점 상태로 되돌려주는 제어어
⦁ 체크포인트(CHECKPOINT) : 롤백을 위한 시점을 지정
▶ 병행제어(Concurrency Control) - 일관성 주요 기법
다수 사용자 환경에서 여러 트랜잭션을 수행할 때, 데이터베이스의 일관성 유지를 위해 상호작용을 제어하는 기법
▶ 병행제어 기법 종류
⦁ 로킹(Locking) : 일관성과 무결성을 유지하기 위한 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
⦁ 낙관적 검증 : 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행
⦁ 타임 스탬프 순서 : 타임 스탬프를 부여해 부여된 시간에 따라 트랜잭션 수행
⦁ 다중버전 동시성 제어(MVCC) : 타임스탬프를 비교해 직렬가능성이 보장되는 적절한 버전을 선택해 접근하도록 함
▶ 고립화 수준 – 격리성 주요 기법
다른 트랜잭션이 현재의 데이터에 대한 무결성을 해치치 않기 위해 잠금을 설정하는 정도
▶ 고립화 수준 종류
⦁ Read Uncommitted : 한 트랜잭션에서 연산 중인 데이터를 다른 트랜잭션이 읽는 것 허용
⦁ Read Committed : 한 트랜잭션의 연산이 완료된 후 읽기 가능
⦁ Repeatable Read : 트랜잭션 종료 시까지 해당 데이터에 대한 갱신, 삭제 제한
⦁ Serializable Read : 특정 데이터 영역을 순차적으로 읽을 때, 해당 데이터 영역 전체에 대한 접근 제한
▶ 회복(Recovery) 기법 – 영속성 주요 기법
트랜잭션 수행 도중 장애로 인해 손상된 데이터베이스를 손상 이전의 정상적인 상태로
복구시키는 작업
▶ 회복 기법의 종류
⦁ 로그 기반 회복 기법
- 지연 갱신 회복 기법(Deferred) : 트랜잭션이 완료된 후에 데이터베이스에 기록
- 즉각 갱신 회복 기법(Immediate) : 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영
⦁ 체크 포인트 회복 기법 : 장애 발생 이전의 상태로 복원
⦁ 그림자 페이징 회복 기법 : DB 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법
▶ DDL의 대상
⦁ 도메인 : 하나의 속성이 가질 수 있는 원자 값들의 집합
⦁ 스키마 : 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
- 외부, 개념, 내부 스키마
⦁ 테이블 : 데이터 저장 공간
⦁ 뷰 : 가상의 테이블
⦁ 인덱스 : 검색을 빠르게 하기 위한 데이터 구조
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 개발환경 구축과 형상 관리 | 민민의 하드디스크 - 티스토리 (0) | 2023.04.17 |
---|---|
[정보처리기사] 응용 SQL과 절차형 SQL | 민민의 하드디스크 - 티스토리 (0) | 2023.04.17 |
[정보처리기사] 인터페이스 기능 구현 | 민민의 하드디스크 - 티스토리 (0) | 2023.04.17 |
[정보처리기사] 연계 메커니즘 구성 | 민민의 하드디스크 - 티스토리 (0) | 2023.04.17 |
[정보처리기사] 물리 데이터 저장소 설계와 데이터베이스 기초 활용하기 | 민민의 하드디스크 - 티스토리 (0) | 2023.04.17 |