기출문제/정보처리기사

2021년 1회 정보처리기사 기출문제 45번

엉클지니 2025. 3. 25. 13:59

45. 다음과 같은 트랜잭션의 특성은?

원자성(atomicity)     일관성(consistency)

격리성(isolation)     영속성(durability)

 

이 문제는 트랜잭션의 특성에 대해 묻고 있습니다. 트랜잭션이란 데이터베이스에서 하나의 작업 단위로, 여러 개의 작업을 하나의 트랜잭션으로 묶어 처리하는 과정입니다. 데이터베이스의 트랜잭션은 ACID 특성(원자성, 일관성, 격리성, 영속성)을 따라야 합니다.

문제 분석:

질문:
"시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다."는 설명에 해당하는 트랜잭션의 특성은 무엇인가요?

트랜잭션의 특성 (ACID):

  1. 원자성(Atomicity)
    • 정의: 트랜잭션은 전체가 수행되거나 전혀 수행되지 않아야 한다는 특성입니다. 즉, 트랜잭션 내의 작업들이 모두 완료되거나, 하나라도 실패하면 전체가 롤백(취소)되어야 합니다.
    • 예시: 은행에서 송금할 때, 송금액이 빠져나가고 수신자에게 입금되는 두 작업이 동시에 완료되거나 전혀 이루어지지 않아야 합니다.
  2. 일관성(Consistency)
    • 정의: 트랜잭션 수행 전후의 데이터베이스 상태는 일관성이 있어야 하며, 트랜잭션이 완료된 후 데이터베이스는 정합성 있는 상태로 변해야 한다는 특성입니다. 즉, 트랜잭션 수행 전에 데이터베이스의 규칙과 제약이 만족되었다면, 트랜잭션 수행 후에도 규칙과 제약을 만족해야 합니다.
    • 예시: 은행 계좌에서 돈을 출금하거나 입금할 때, 트랜잭션이 끝난 후에도 계좌 잔액이 올바른 상태여야 합니다.
  3. 격리성(Isolation)
    • 정의: 여러 트랜잭션이 동시에 실행될 때, 각 트랜잭션은 다른 트랜잭션의 영향을 받지 않아야 한다는 특성입니다. 즉, 트랜잭션 간에 서로 독립적으로 수행되어야 하며, 중간 상태는 다른 트랜잭션에 보여지지 않아야 합니다.
    • 예시: 동시에 진행되는 두 트랜잭션이 서로의 중간 결과를 보지 않도록 해야 합니다.
  4. 영속성(Durability)
    • 정의: 트랜잭션이 완료되면, 그 결과는 영구적으로 저장되어야 한다는 특성입니다. 시스템이 다운되더라도, 완료된 트랜잭션의 결과는 손실되지 않고 계속 유지되어야 합니다.
    • 예시: 트랜잭션이 성공적으로 완료되면, 데이터는 디스크에 저장되어 시스템이 꺼지더라도 손실되지 않습니다.

문제의 키워드:

**"트랜잭션 수행 전과 후의 상태가 같아야 한다."**는 설명은 일관성(consistency) 특성과 관련이 있습니다. 트랜잭션이 완료된 후 데이터베이스가 일관된 상태여야 한다는 의미이기 때문입니다.

결론:

정답은 **❷ 일관성(consistency)**입니다. 트랜잭션이 수행되기 전후의 데이터베이스 상태가 일관되게 유지되어야 한다는 특성에 해당합니다.


정리:

트랜잭션 특성 정의 예시

원자성 트랜잭션 내의 작업이 모두 수행되거나 전혀 수행되지 않음. 송금이 완료되면, 송금액이 빠져나가고 입금도 완료됨.
일관성 트랜잭션 수행 전후의 상태가 일관되게 유지됨. 계좌 잔액이 올바르게 업데이트되어야 함.
격리성 트랜잭션 간에 서로 영향을 주지 않음. 동시에 실행되는 트랜잭션은 서로의 결과를 보지 않음.
영속성 트랜잭션 완료 후 결과는 영구적으로 저장됨. 트랜잭션 완료 후에는 시스템 재시작에도 데이터가 유지됨.

정리하자면,
"트랜잭션 수행 전과 트랜잭션 수행 후의 상태가 같아야 한다"는 설명은 일관성(consistency) 특성에 해당하므로, 정답은 ❷ 일관성입니다. 😊