728x90
설명
트랜잭션의 모든 쿼리들은 성공해야만 한다.
하나의 쿼리가 실패한다면, 트랜잭션의 이전 성공한 쿼리들은 즉시 롤백
트랜잭션의 커밋 이전에 데이터베이스가 다운된다면, 트랜잭션의 이전 성공한 쿼리들은 즉시 롤백
내용
원자성을 구현하는 방법에는 여러 가지가 있다. 가장 일반적인 방법은 로깅과 체크포인트를 사용하는 것이다.
구분 | 설명 |
Logging | 트랜잭션과 관련된 모든 변경 사항을 로그에 기록한다. 트랜잭션이 실패할 경우, 로그를 사용하여 변경 사항을 롤백하고 데이터베이스를 이전 상태로 복원할 수 있다. |
Checkpoints | 주기적으로 또는 특정 조건에서 데이터베이스의 현재 상태를 안전한 저장 위치에 기록한다. 시스템 장애 발생 시, 최근 체크포인트부터 복구 과정을 시작하여 시간과 자원을 절약할 수 있다. |
정리
하나의 트랜잭션이 여러 작업을 포함할 때, 그 작업들이 모두 완전히 수행되거나 아예 수행되지 않도록 보장하는 특성을 의미 하며,
"All or Nothing" 원칙에 기반하여, 트랜잭션이 중간에 실패하더라도 데이터베이스의 일관성을 유지한다.
트랜잭션 내의 모든 연산이 성공적으로 완료되어야만 최종적으로 데이터베이스에 반영하고, 어떤 이유(예: 시스템 오류, 전력 중단, 데이터 검증 실패 등)로든 트랜잭션이 실패하면 모든 작업이 취소되고 데이터베이스는 트랜잭션 실행 이전 상태로 복구한다.
이러한 처리는 데이터베이스의 무결성을 보장하는 데 필수적이다.
728x90
SMALL
'Database & Data > 기초지식' 카테고리의 다른 글
트랜잭션 특성 - Consistency(일관성) (0) | 2024.03.24 |
---|---|
트랜잭션 특성 - Isolation(고립성) (0) | 2024.03.24 |
트랜잭션(Transaction) 소개 (0) | 2024.03.24 |
개념적, 논리적, 물리적 모델(이해 위주) (0) | 2023.05.26 |
고급 SQL 다루기 (0) | 2023.05.12 |