정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 트랜잭션 — ACID 특성·COMMIT·로킹

트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 작업 단위다. 정보처리기사에서는 ACID 특성(원자성·일관성·격리성·지속성)의 정의와 COMMIT·ROLLBACK, 로킹이 단골로 출제된다.

2026-10-15 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「트랜잭션」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
특성 불일치 판정1ACID 특성에 속하지 않는 항목 선택
특성 명칭 선택1주어진 설명에 맞는 ACID 특성 이름 고르기
동시 접근 차단 용어 선택1트랜잭션 동시 접근 차단 방법의 명칭 선택

뜻

트랜잭션(Transaction)은 일련의 연산 집합이라는 의미로 쓰이며, 데이터베이스의 상태를 변화시키기 위해 논리적 기능을 수행하는 하나의 작업 단위다. 트랜잭션이 가져야 할 특성은 네 가지로 정리된다. 원자성(Atomicity)은 트랜잭션의 연산이 전부 실행되거나 전무(nothing) 실행되어야 한다는 것으로, 일부만 반영되는 부분 실행은 허용되지 않는다. 일관성(Consistency)은 트랜잭션이 수행된 후에도 데이터베이스가 일관된 상태를 유지하는 것이다. 격리성(독립성, Isolation)은 트랜잭션 수행 중 다른 트랜잭션의 연산이 끼어들 수 없는 것으로, 실행 중인 트랜잭션의 중간 결과가 다른 트랜잭션에 보이지 않아야 한다. 지속성(영속성, Durability)은 성공적으로 완료된 갱신이 영구적으로 저장되는 것이다. 이 네 가지에 속하지 않는 '투명성' 같은 보기가 '특성이 아닌 것'으로 나오면 그것이 정답이다.

트랜잭션의 종료 연산도 구분된다. COMMIT은 한 작업의 논리적 단위가 성공적으로 끝났고 데이터베이스가 다시 일관된 상태에 있으며 갱신 연산이 완료되었음을 트랜잭션 관리자에게 알려 영구 저장하는 연산이고, ROLLBACK은 트랜잭션을 취소하는 연산이다. 구조점(savepoint)은 트랜잭션 안에 여러 개를 자유롭게 설정할 수 있는 중간 저장점이어서, '한 번만 지정할 수 있다'는 설명은 틀리다.

동시성 측면에서는 병행 제어가 나온다. 하나의 트랜잭션이 데이터에 접근하는 동안 다른 트랜잭션이 그 데이터 항목에 접근하지 못하게 막는 방법이 로킹(Locking)이며, 병행 제어의 핵심 목적은 일관성 유지다. '일관성을 최소화한다'는 보기는 병행 제어의 목적과 정반대이므로 오답이다.

예제

'트랜잭션이 가져야 할 특성이 아닌 것은?' 문제에서는 투명성 같은 ACID 외 항목을 골라낸다. 격리성 문제는 '다른 트랜잭션의 연산에 끼어들 수 없음'이라는 키워드로 출제되며, '영향을 받는다', '중간 결과가 보인다'는 서술은 무조건 틀린 설명이다. COMMIT 문제는 '성공 종료를 알리고 영구 저장하는 연산'이라는 정의로, 로킹 문제는 '다른 트랜잭션의 접근을 차단하는 기법'이라는 정의로 나온다.

대표 기출 3문항

데이터의 무결성(integrity)을 보장하기 위하여 DBMS의 트랜잭션이 가져야 할 특성에 해당하지 않는 것은?

  1. 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
  2. 트랜잭션의 실행은 데이터베이스의 일관성을 유지해야 한다.
  3. 트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 영속적이어야 한다.
  4. 하나의 트랜잭션이 실행 중에 있는 연산의 중간 결과는 다른 트랜잭션이 접근할 수 있어야 한다.
정답과 해설 보기

정답 ④ · 트랜잭션이 갖추어야 할 ACID 특성에 해당하지 않는 것을 묻는 문제이다. 트랜잭션의 특성은 원자성, 일관성, 격리성, 지속성인데, 1번은 원자성, 2번은 일관성, 3번은 지속성에 각각 해당하는 올바른 설명이다.

트랜잭션의 중간 결과가 다른 트랜잭션에 보이지 않도록 격리(Concurrency Control)해야 무결성이 보장된다.

트랜잭션은 자기의 연산에 대하여 전부(all) 또는 전무(nothing) 실행만이 존재하며, 일부 실행으로는 트랜잭션의 기능을 가질 수 없다는 트랜잭션의 특성은?

  1. consistency
  2. atomicity
  3. isolation
  4. durability
정답과 해설 보기

정답 ② · 트랜잭션의 ACID 특성 중 전부 실행 또는 전무 실행만 허용되는 특성을 묻는 문제이다. 원자성(atomicity)은 트랜잭션을 구성하는 연산들이 모두 실행되거나 하나도 실행되지 않아야 하며, 일부만 실행된 상태를 허용하지 않는 특성으로 마치 쪼갤 수 없는 원자에 비유된다.

트랜잭션이 전부 실행되거나 전무해야 하는 원리는 원자성(Atomicity)으로, 부분 실행을 허용하지 않는다.

트랜잭션(Transaction)이 가져야 할 특성에 해당하지 않는 것은?

  1. 원자성(Atomicity)
  2. 투명성(Transparency)
  3. 일관성(Consistency)
  4. 격리성(Isolation)
정답과 해설 보기

정답 ② · 트랜잭션이 갖추어야 할 ACID 특성에 해당하지 않는 것을 고르는 문제이다. 트랜잭션의 4대 특성은 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability)이다.

트랜잭션의 ACID 특성은 원자성, 일관성, 격리성, 지속성이며, 투명성은 트랜잭션 특성이 아니다.

자주 묻는 물음

트랜잭션의 ACID 특성은 무엇인가요?
원자성(전부 실행되거나 전무), 일관성(일관된 상태 유지), 격리성(다른 트랜잭션의 끼어듦 없음), 지속성(완료된 갱신의 영구 저장) 네 가지입니다. 투명성은 여기에 속하지 않습니다.
COMMIT과 ROLLBACK, 구조점의 역할은 무엇인가요?
COMMIT은 트랜잭션의 성공 종료를 알리고 갱신을 영구 저장하는 연산이고, ROLLBACK은 트랜잭션을 취소합니다. 구조점(savepoint)은 트랜잭션 내에 여러 개를 설정할 수 있는 중간 저장점입니다.
로킹(Locking)이란 무엇인가요?
하나의 트랜잭션이 데이터에 접근하는 동안 다른 트랜잭션이 그 데이터 항목에 접근하지 못하게 하는 기법입니다. 병행 제어의 목적은 데이터의 일관성 유지입니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.