[DB]트랜잭션(Transaction)

신동혁·2022년 8월 12일
0

DB

목록 보기
5/6

1.트랜잭션이란?

트랜잭션(Transaction)은 데이터베이스의 상태를 변화시키기 위해 수행되는 작업의 단위를 의미한다. 즉, EntityTransaction은 엔티티를 활용해 데이터베이스 상태를 변화시키는 작업의 단위라고 생각할 수 있다. 여기서 작업의 단위를 하나의 sql 문장으로만 생각할 수도 있는데, 설계자가 insert문과 update문 2개를 하나의 작업의 단위로 설계하면 그 두 문장이 하나의 트랜잭션이 되는 것이고, 설계자가 100개의 insert문을 하나의 작업으로 설계한다면 100개의 문장이 하나의 트랜잭션이 되는 것이다. 즉, 트랜잭션이란 설계하는 사람이 정하는 기준이다.

2.트랜잭션 특성

  1. 원자성(Atomicity)
  • 원자의 쪼개지지 않는 성질을 의미한다. 즉, 하나의 공동체처럼 움직인다는 뜻이다. 트랜잭션이 데이터베이스에 반영될꺼면 모두 반영되고, 반영되지 않을거면 모두 반영되지 않아야 한다.
  1. 일관성(Consistency)
  • 트랜잭션이 데이터베이스의 변경에 상관없이 일관성있게 처음에 참조한 데이터베이스만을 사용하는 성질을 의미한다.
  1. 독립성(Isolation)
  • 트랜잭션끼리 서로의 작업 도중에는 작업에 영향을 미치지 못한다는 성질을 의미한다. 즉, 트랜잭션A가 아직 끝나지 않았으면 트랜잭션B는 트랜잭션A의 작업을 방해할 수 없다.
  1. 지속성(Durability)
  • 트랜잭션은 데이터베이스에 저장한다. 즉, 작업이 성공적으로 완료되면 데이터에 지속성(영구성)을 부여한다는 성질을 의미한다.
profile
개발취준생

0개의 댓글