2019.07.30
// 데이터베이스 트랜잭션
- 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위, 데이터베이스의 상태를 변화시키디 위해 수행하는 작업의 단위
- 트랜잭션의 목적은 사용자가 데이터베이스 완정성 유지를 확신하게 한다
- 하나의 트랜잭션은 Commit 되거나 Rollback 된다
// ACID
- 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어
- 원자성(Atomicity) : 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장 즉, 모두 반영되거나 전혀 반영되지 않거나
- 일관성(Consistency) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미
- 고립성(Isolation) : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미, 수행중인 트랜잭션이 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조 할 수 없다
- 지속성(Durability) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미
// Commit
- 하나의 트랜잭션이 성공적으로 끝났고 데이터베이스가 일관성있는 상태에 있을 때 트랜잭션이 완료된 것을 관리자에게 알려주는 연산
// Rollback
- 하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 깨뜨렸을 때 이 트랜잭션이 행한 모든 연산을 취소하는 연산
출처 : https://ko.wikipedia.org/wiki/ACID
'교육 > DBMS' 카테고리의 다른 글
#87 DBMS MySQL 차집합 (0) | 2019.09.18 |
---|---|
#61 DBMS MySQL 샘플 DB 생성 (0) | 2019.08.07 |
#35 DBMS MySQL String to int, 오름차순과 내림차순 (0) | 2019.07.30 |
#32 DBMS MySQL 범위 조회 (0) | 2019.07.30 |
#31 DBMS MySQL Join (0) | 2019.07.29 |