@Transactional

류한선·2024년 4월 29일

4차 프로젝트

목록 보기
7/53

트랜잭션은 데이터베이스에서 일련의 작업을 묶어서 원자성, 일관성, 독립성, 지속성(ACID)을 보장하는 논리적 작업 단위입니다. 이러한 특성들은 데이터베이스 시스템이 안정적으로 동작하고 데이터의 정확성을 보존하기 위해 필요합니다. 각각의 특성을 살펴보겠습니다:

원자성(Atomicity): 트랜잭션은 "모두 성공" 또는 "모두 실패"의 두 상태 중 하나로만 완료됩니다. 즉, 트랜잭션 내의 모든 작업은 원자적으로 처리되어야 하며, 중간에 실패할 경우 이전 상태로 롤백되어야 합니다.
일관성(Consistency): 트랜잭션 실행 전과 후에 데이터베이스의 일관성이 유지되어야 합니다. 즉, 트랜잭션이 실행되기 전과 후에 데이터베이스의 제약 조건, 규칙 등이 준수되어야 합니다.
독립성(Isolation): 하나의 트랜잭션 실행이 다른 트랜잭션에 영향을 미치지 않아야 합니다. 다시 말해, 동시에 여러 트랜잭션이 실행될 때 각각의 트랜잭션이 서로에게 영향을 주지 않고 독립적으로 실행되어야 합니다.
지속성(Durability): 트랜잭션이 성공적으로 완료되면 해당 결과는 영구적으로 유지되어야 합니다. 즉, 시스템에 문제가 발생하더라도 데이터베이스의 상태는 지속되어야 합니다.
트랜잭션은 이러한 ACID 속성을 보장하여 데이터의 무결성과 일관성을 유지하고, 여러 사용자가 동시에 데이터베이스에 접근할 때 데이터의 정확성을 보장합니다. 일반적으로 데이터베이스 관리 시스템(DBMS)이 트랜잭션을 관리하고 제어합니다. 데이터베이스 작업은 트랜잭션 단위로 그룹화되어야 하며, 모든 데이터베이스 작업은 트랜잭션 내에서 수행되어야 합니다.

쉽게 풀이하자면 하나의 묶음 같은거
정확히 말하면 트랜잭션은 데이터베이스에서 수행되는 작업들을 하나의 논리적인 묶음으로 다루는 개념입니다. 이 묶음은 원자성, 일관성, 독립성, 지속성이라는 ACID 원칙을 따른다. 즉, 트랜잭션은 "모두 성공" 또는 "모두 실패"의 두 상태 중 하나로만 완료됩다. 한 번에 여러 작업이 모두 실행되거나 모두 실행되지 않는 것. 이는 데이터베이스의 일관성과 무결성을 유지하기 위한 중요한 개념

0개의 댓글