트랜잭션 특성 - Atomicity(원자성)

2024. 3. 24. 13:55·Database & Data/기초지식
728x90
SMALL

설명

트랜잭션의 모든 쿼리들은 성공해야만 한다.

하나의 쿼리가 실패한다면, 트랜잭션의 이전 성공한 쿼리들은 즉시 롤백

트랜잭션의 커밋 이전에 데이터베이스가 다운된다면, 트랜잭션의 이전 성공한 쿼리들은 즉시 롤백

 

내용

원자성을 구현하는 방법에는 여러 가지가 있다. 가장 일반적인 방법은 로깅과 체크포인트를 사용하는 것이다.

구분 설명
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
데이터 조직에 대해  (0) 2023.05.22
'Database & Data/기초지식' 카테고리의 다른 글
  • 트랜잭션 특성 - Consistency(일관성)
  • 트랜잭션 특성 - Isolation(고립성)
  • 트랜잭션(Transaction) 소개
  • 개념적, 논리적, 물리적 모델(이해 위주)
동석해요
동석해요
공부하고 싶은게 많은, 사소한 IT 지식들 공유
    250x250
  • 동석해요
    개발로 자기계발
    동석해요
  • 전체
    오늘
    어제
    • 분류 전체보기 (226)
      • Develop (126)
        • 기초지식 (12)
        • FastAPI (102)
        • Django (11)
      • Database & Data (62)
        • 기초지식 (16)
        • MySQL (29)
        • PostgreSQL (8)
        • 데이터 분석 (9)
      • 인공지능 (11)
        • PyTorch (9)
      • Cloud (8)
        • AWS (4)
        • GCP (2)
      • 버그처리 (14)
      • 회고 & 일상 (5)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
동석해요
트랜잭션 특성 - Atomicity(원자성)
상단으로

티스토리툴바