본문 바로가기

CS

[DB] 트랜잭션(Transaction)이란?

데이터베이스 트랜잭션?

데이터베이스에서 상호작용의 단위이다.

  • 각 트랜잭션은 ACID 1.원자성(Atomicity), 2.일관성(Consistency), 3.독립성(Isolation), 4.영구성(Durability)를 보장한다.
    (하지만, 실제로는 성능향상을 위해 ACID의 각 특성들이 완화되곤 한다.)

트랜잭션의 실행 단계

  1. 시작 단계(Begin) 
    • 트랜잭션의 시작을 선언
  2. 작업 수행 단계 (Perform Actions / Execute several Queries) 
    • 데이터베이스에서 읽기/쓰기 할 쿼리들을 실행
    • 이 단계에서는 아직 DB에 반영되지 않음!
  3. 완료 단계 (Commit)
    • 작업 수행 단계에서 모든 작업이 성공적으로 수행되, 트랜잭션을 완료하고 변경된 데이터들을 DB에 영구적으로 반영 
  4. 롤백 단계 (Rollback)
    • 만약, 작업 수행 단계에서 오류가 발생하거나, 직접 롤백을 요구할 경우, 이전 상태로 되돌리고, 변경 내용(작업 수행 단계에서 실행된 쿼리들)을 취소

참고 출처

https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98

'CS' 카테고리의 다른 글

운영체제 - 기초  (0) 2024.03.07
[JAVA] - 동시성  (0) 2024.02.24
[DB] OUTER JOIN 정리  (0) 2023.03.24
[DB] INNER JOIN 정리  (0) 2023.03.24
[JAVA] Primitive(원시형) Type ↔️ Reference(참조형) Type  (0) 2023.03.14