[데이터베이스/ORM] 트랜잭션

Hyo Kyun Lee·2021년 7월 29일
0

데이터베이스/ORM

목록 보기
3/12

1. 개념

Query를 통한 DB작업의 단위

DB작업은 C, R, U, D로 크게 4가지로 나뉜다.

  • C : Create(SELECT)
  • R : Read
  • U : Update(INSERT, UPDATE)
  • D : DELETE

트랜잭션은 이러한 작업들의 일련의 과정을 말하며, 단순히 작업 하나를 의미하는 것이 아닌 DB작업의 과정 자체를 의미한다.

2. 트랜잭션의 유의점

원자성

트랜잭션은 작업의 단위이다.

설계된 작업의 단위를 통해 처리가 이루어지지 않는다면 데이터 처리에 대한 유지보수가 힘들어지고, 문제가 생겼을 시 추적이 힘들어진다.

이러한 작업의 단위를 보장하고 유지하는 것이 원자성이고, 이러한 작업은 데이터베이스에 모두 반영이 되던지 아니면 안되던지 해야한다(처리의 일관성).

일관성

트랜잭션이 동시에 진행될 때 변화한 데이터베이스에 처리결과를 반영하는 것이 아니라, 처음 상태의 데이터베이스에 처리결과를 반영한다.

각 관리자들은 일관성있는 데이터를 볼 수 있고, 이는 git과 같은 버전관리에도 그대로 적용되는 사항이다.

모든 변경점은 branch를 merge하는 과정에서 일괄로 반영한다.

독립성

한 시점에서 여러 트랜잭션이 동시에 진행되더라도, 다른 트랜잭션의 연산결과에 영향을 주거나 접근할 수 없다.

지속성

트랜잭션의 결과는 영구적으로 반영이 되어야 한다.

3. 참조사항

트랜잭션은 이처럼 DB작업이나 작업단위를 설계할 때 사용하는 용어이다.

하지만 데이터베이스 관점이 아닌, 트래픽처리나 서버작업 등 하나의 background나 객체에 대한 작업을 지칭할 때도 사용하는 용어임을 기억하자.

4. 참조링크

https://mommoo.tistory.com/62

0개의 댓글