트랜잭션 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
[[분류:정보처리기사]] | [[분류:정보처리기사]][[분류:데이터베이스]] | ||
[[분류:데이터베이스]] | |||
;Transaction | ;Transaction | ||
=정의= | = 정의 = | ||
* 데이터베이스 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 | |||
*데이터베이스 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 | * 데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위 | ||
*데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위 | * 한꺼번에 수행되어야 할 일련의 연산 | ||
*한꺼번에 수행되어야 할 일련의 연산 | |||
[[파일:트랜잭션 상태전이도.png]] | [[파일:트랜잭션 상태전이도.png]] | ||
=[[트랜잭션 특성]]= | = [[트랜잭션 특성]] = | ||
;줄여서 ACID라고 한다. | ;줄여서 ACID라고 한다. | ||
* 원자성(Atomicity) | |||
* 일관성(Consistency) | |||
* 독립성(Isolation) | |||
* 영속성(Durability) | |||
= [[트랜잭션 병행제어]] = | |||
* '''병행제어의 목적''' | |||
** 데이터베이스 일관성 유지 | |||
* '''트랜잭션 동시접근 시 발생 가능한 현상''' | |||
** Dirty Write | |||
=[[트랜잭션 병행제어]]= | ** Dirty Read | ||
** Non-Repeatable Read | |||
*'''병행제어의 목적''' | ** Phantom Read | ||
* '''트랜잭션 고립화 수준(SQL92)''' | |||
** 레벨0~레벨3 | |||
**데이터베이스 일관성 유지 | * '''병행제어 실패 시 발생 가능한 현상''' | ||
*'''트랜잭션 동시접근 시 발생 가능한 현상''' | ** 갱신분실 | ||
**Dirty Write | ** 현황파악오류 | ||
**Dirty Read | ** 모순성 | ||
**Non-Repeatable Read | ** 연쇄복귀 | ||
**Phantom Read | * '''병행제어 기법 ''' | ||
*'''트랜잭션 고립화 수준(SQL92)''' | ** 로킹(Locking) | ||
**레벨0~레벨3 | ** 타임스탬프(Time Stamp) | ||
*'''병행제어 실패 시 발생 가능한 현상''' | ** 낙관적 검증 | ||
**갱신분실 | * 상세 내용은 [[트랜잭션 병행제어]] 문서 참조 | ||
**현황파악오류 | |||
**모순성 | |||
**연쇄복귀 | |||
*'''병행제어 기법 ''' | |||
**로킹(Locking) | |||
**타임스탬프(Time Stamp) | |||
**낙관적 검증 | |||
*상세 내용은 [[트랜잭션 병행제어]] 문서 참조 | |||
= [[데이터베이스 회복|회복(Recovery)]] = | |||
;트랜잭션들을 수행하는 도중 장애로 인해 손상 된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업 | ;트랜잭션들을 수행하는 도중 장애로 인해 손상 된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업 | ||
*'''장애 유형''' | * '''장애 유형''' | ||
**트랜잭션 장애: 트랜잭션의 실행 시 논리적인 오류로 발생할 수 있는 에러 상황 | ** 트랜잭션 장애: 트랜잭션의 실행 시 논리적인 오류로 발생할 수 있는 에러 상황 | ||
**시스템 장애: H/W 시스템 자체에서 발생할 수 있는 에러 상황 | ** 시스템 장애: H/W 시스템 자체에서 발생할 수 있는 에러 상황 | ||
**미디어 장애: 디스크 자체의 손상으로 발생할 수 있는 에러 상황 | ** 미디어 장애: 디스크 자체의 손상으로 발생할 수 있는 에러 상황 | ||
*'''회복 기법''' | * '''회복 기법''' | ||
**로그 기반 | ** 로그 기반 | ||
***'''지연갱신 회복 기법''' | *** '''지연갱신 회복 기법''' | ||
***'''즉시갱신 회복 기법''' | *** '''즉시갱신 회복 기법''' | ||
**체크포인트(Checkpoint) 회복 기법 | ** 체크포인트(Checkpoint) 회복 기법 | ||
**그림자 페이징(Shadow Paging) 회복 기법 | ** 그림자 페이징(Shadow Paging) 회복 기법 | ||
**미디어(Media) 회복 기법 | ** 미디어(Media) 회복 기법 |