Home Transaction
Post
Cancel

Transaction

Transaction(트랜잭션)

트랜잭션이란

트랜잭션이란 질의(query)를 하나의 묶음 처리해서 만약 중간에 실행이 중단됐을 경우, 처음부터 다시 실행하는 Rollback을 수행하고, 오류없이 실행을 마치면 commit을 하는 실행 단위를 의미한다.

즉, 한 번 질의가 실행되면 질의가 모두 수행되거나 모두 수행되지 않는 작업수행의 논리적 단위이다.

트랜잭션을 작업수행의 논리적 단위라고 이야기를 했는데, 이로인해 DBMS의 성능은 초당 트랜잭션의 실행 수(TPS : Transaction per second)로 측정한다.

사용 이유

트랜잭션은 DB 서버에 여러 개의 클라이언트가 동시에 액세스 하거나 응용프로그램이 갱신을 처리하는 과정에서 중단 될 수 있는 경우 등 데이터 부정합을 방지하고자 할 때 사용합니다.

부정합이 발생하지 않으려면 프로세스를 병렬로 처리하지 않도록 하여 한 번에 하나의 프로세스만 처리하도록 하면 되는데, 이는 효율이 너무 떨어진다. 즉, 병렬로 처리할 수 밖에 없는 현실적인 상황으로 인해 ㅜ정합을 방지하고자 트랜잭션을 사용하는 것이다.

트랜잭션에서는 스케쥴관리가 중요하다. 스케쥴을 잘못 짜게되면, 데드락에 빠지게 된다(2PL).

This post is licensed under CC BY 4.0 by the author.