코딩일기/자격증

[정보처리기사] 트랜잭션의 정의와 4가지 특징(ACID) | 2020년 정보처리기사 실기 기출문제

jhy_2023 2024. 8. 12. 09:03
728x90
반응형

트랜잭션(Transaction) 정의

트랜잭션은 데이터베이스 관리 시스템(DBMS)에서 하나의 논리적 작업 단위를 구성하는 연산들의 집합을 의미합니다. 트랜잭션은 데이터베이스의 일관성을 유지하기 위해 수행되어야 할 일련의 작업들을 묶은 것으로, 모든 작업이 완벽하게 수행되거나, 그렇지 않으면 전혀 수행되지 않은 것처럼 만드는 것이 중요합니다.

반응형

 

  • Atomicity (원자성)
    • 트랜잭션의 작업들은 모두 성공하거나 모두 실패해야 한다는 것을 의미합니다.
    • 트랜잭션 중 일부 작업만 수행되는 경우는 허용되지 않으며, 만약 트랜잭션이 중단되면 이미 수행된 작업도 모두 취소(롤백)되어야 합니다.
    • 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다는 특성
  • Consistency (일관성)
    • 트랜잭션이 성공적으로 완료된 후 데이터베이스는 일관된 상태를 유지해야 합니다.
    • 트랜잭션 수행 전과 수행 후의 데이터베이스 상태가 일정한 규칙과 제약 조건을 충족해야 하며, 무결성 제약 조건도 항상 유지되어야 합니다.
    • 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
  • Isolation 독립성, 격리성, 순차성
    • 트랜잭션이 실행되는 동안 다른 트랜잭션의 작업이 서로 간섭하지 않아야 한다는 것을 의미합니다.
    • 트랜잭션이 완료되기 전에는 중간 상태의 데이터를 다른 트랜잭션이 볼 수 없으며, 동시에 여러 트랜잭션이 실행되더라도 결과는 순차적으로 실행된 것과 동일해야 합니다.
    • 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음
  • Durability 지속성, 영속성
    • 트랜잭션이 성공적으로 완료된 후에는, 그 결과가 영구적으로 데이터베이스에 저장되어야 한다는 것을 의미합니다.
    • 시스템 오류나 장애가 발생하더라도 커밋된 트랜잭션의 결과는 손실되지 않고 유지되어야 합니다.
    • 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

 

728x90

2020년 정보처리기사 실기 기출문제

문제

다음은 트랜젝션의 주요 특성 4가지이다. 빈 칸에 알맞은 용어를 쓰시오


(     1     ) : 트랜젝션의 가장 기본적인 특성으로 트랜젝션 내의 연산은 반드시 모두 수행되어야 하며 그렇지 못한 경우 모두 수행되지 않아야함
(     2     ) : 트랜젝션이 정상적으로 완료된 후 언제나 일관성 있는 데이터베이스 상태가 되어야 하며, 결과에 모순이 생겨서는 안 됨
(     3     ) : 하나의 트랜젝션이 수행 중에는 다른 트랜젝션이 접근할 수 없고 각각의 트랜젝션은 독립적이어야 함
(     4     ) : 지속성이라고도 하며, 트랜젝션이 성공적으로 완료된 후 결과는 지속적으로 유지되어야 함

정답

원자성, 일관성, 독립성, 지속성

해설

  1. 원자성 (Atomicity)
    • 트랜잭션이 완전히 완료되거나 전혀 실행되지 않음을 보장합니다. 즉, 중간에 실패하면 모든 작업이 취소됩니다.
  2. 일관성 (Consistency)
    • 트랜잭션이 끝난 후 데이터가 일관된 상태를 유지해야 합니다. 즉, 데이터베이스의 규칙과 제약이 항상 지켜져야 합니다.
  3. 독립성 (Isolation)
    • 여러 트랜잭션이 동시에 진행될 때, 각 트랜잭션은 서로 간섭하지 않고 독립적으로 실행됩니다.
  4. 지속성 (Durability)
    • 트랜잭션이 완료되면 결과가 영구적으로 저장되어, 시스템 장애가 있어도 유지됩니다.

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형