본문 바로가기
Study/정보처리기사(정처기)

트랜잭션이란? 트랜잭션의 병행 제어 기법

by 얏옹이 2023. 10. 1.
반응형

트랜잭션이란 데이터베이스 시스템에서 데이터의 일관성을 유지하기 위해 수행되는 일련의 연산들을 의미한다. 이러한 트랜잭션들이 동시에 실행될 경우 여러 가지 문제가 발생하게 되는데, 이를 해결하기 위한 방법 중 하나로 병행 제어 기법이 있다. 본 장에서는 다양한 병행 제어 기법과 각 기법의 특징에 대해 알아본다.

병행 제어 기법(Concurrency Control)이란 무엇인가요?
데이터베이스 내의 모든 작업 또는 명령어 등이 동시에 수행되지 않도록 하는 기술이다. 즉, 어떤 일을 처리함에 있어서 다른 사람에게 피해를 주지 않기 위해서 한 번에 하나씩 순차적으로 진행하도록 한다. 예를 들어 은행 창구에서 대기표를 뽑고 순서를 기다리는 것처럼 특정 업무나 서비스를 이용하고자 할 때 한꺼번에 많은 사람이 몰리면 제대로 된 서비스를 받을 수 없다. 이처럼 다수의 트랜잭션이 동일한 자원을 공유하면 서로 충돌하거나 지연되어 원하는 결과를 얻지 못하는 상황이 발생하는데, 이때 적용하는 것이 병행 제어 기법이다.

 

반응형



병행 제어 기법의 종류에는 어떤 것들이 있나요?
대표적인 병행 제어 기법으로는 ACID 원칙 준수 여부에 따라 다음과 같이 분류할 수 있다.
A-원자성(Atomicity): 트랜잭션이 모두 완료되어야지만 정상적인 상태로 복귀할 수 있음
C-독립성(Isolation): 각각의 트랜잭션은 자신만의 고유한 실체를 가짐
D-지속성(Durability): 현재 수행중인 트랜잭션이 완전히 종료되기 전까지는 새로운 트랜잭션이 끼어들지 못함
I-무결성(Integrity): 트랜잭션이 의도한 대로 정확하게 수행되었는지 검증해야 함

ACID란 무엇인가요?
산술식 A + B = C 형태의 결합 관계를 나타내는 수학 용어다. 원자성이라는 말은 위 산술식에서 A+B=C라는 부분을 뜻한다. 만약 두 개의 트랜잭션이 같은 값을 계산한다면 둘 다 오류가 발생하므로 반드시 일치해야 한다. 따라서 항상 참이어야 하는 조건문에서도 '참' 대신 '0'을 입력해도 된다. 또한 논리연산자 AND 역시 0이어도 상관없다.

본 장에서는 트랜잭션의 병행 제어 기법에 대해 알아보았다. 지금까지 배운 내용을 토대로 앞으로 공부할 SQL 문장에서의 병행 제어 기법을 이해하자.

반응형