transaction2 [Spring] 물리 트랜잭션, 논리 트랜잭션 물리 트랜잭션과 논리 트랜잭션은 데이터베이스 트랜잭션과 애플리케이션 레이어에서의 트랜잭션 동작을 구분하는 개념으로, 특히 스프링에서의 트랜잭션 관리와 관련하여 자주 언급됩니다. 1. 물리 트랜잭션 (Physical Transaction) 정의 • 데이터베이스(DB)와 직접적으로 연결된 트랜잭션입니다. • DB 레벨에서 커밋(Commit)과 롤백(Rollback)을 관리합니다. • 하나의 Connection을 사용하여 트랜잭션 경계를 설정합니다. 특징 • 실제로 DB에서 트랜잭션이 시작되고, 상태가 변경되거나 데이터를 조회합니다. • 트랜잭션이 끝날 때 DB에 커밋되거나 롤백됩니다. 예시START TRANSACTION;-- 데이터 수정UPDATE accounts SET balance = balance .. 2024. 11. 28. [DB] 트랜잭션(Transaction) 트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적 작업 단위로 처리되는 일련의 데이터베이스 연산을 뜻합니다. 트랜잭션은 여러 연산을 하나로 묶어서 실행하는 개념으로, 연산이 모두 성공할 때만 데이터베이스에 적용되며, 하나라도 실패할 경우 전체 연산이 취소됩니다. 이처럼 트랜잭션을 통해 데이터의 일관성과 무결성을 보장할 수 있습니다. 트랜잭션의 4가지 주요 속성 (ACID 원칙) 1. Atomicity (원자성): 트랜잭션에 포함된 작업들은 모두 성공하거나 모두 실패해야 합니다. 하나의 연산이라도 실패할 경우, 이미 실행된 다른 연산들도 취소(롤백)되어야 합니다. 2. Consistency (일관성): 트랜잭션이 실행되기 전과 후에 데이터베이스가 항상 일관된 상태를 유지해야 합니다. 이를 .. 2024. 11. 12. 이전 1 다음