ssung_항해일지/CS 지식 및 기술면접

트랜잭션

ssungcohol 2023. 5. 15. 11:51

트랜잭션이란?

 - DB에서 데이터의 무결성과 일관성을 보장하기 위한 최소 작업 단위

 - 일련의 작업을 하나의 논리적인 작업 단위로 묶어서 처리

 

특징

  • 원자성(Atomicity) : 트랜잭션 내에서 수행되는 모든 작업은 전체 성공 또는 전체 실패해야 한다. 즉, 트랜잭션이 실행되는 동안 어떤 이유로든 작업이 중단될 경우, 이전 상태로 롤백된다.
  • 일관성(Consistency) : 트랜잭션이 수행되기 전과 후의 DB 상태가 일관성을 유지해야 한다. 즉, 트랜잭션이 수행되기 전에 정의된 제약 조건이나 규칙이 트랜잭션 수행 후에도 만족되어야 한다.
  • 격리성(Isolation) : 트랜잭션 수행 중에는 다른 트랜잭션에 의해 영향을 받지 않도록 격리되어야 한다. 이를 통해, 다른 트랜잭션이 동시에 실행되는 경우 발생할 수 있는 문제를 방지 할 수 있음
  • 지속성(Durability) : 트랜잭션이 성공적으로 완료되면, 해당 변경 내용은 영구적으로 저장되어야 한다.

일관성

  • DB에서 여러 개의 데이터를 동시에 업데이트 할 때, 모든 데이터가 일관된 상태를 유지하도록 하는 것
  • Ex_) 은행에서 계좌 이체를 할 경우, 계좌에서 출금된 금액과 입금되는 금액이 항상 일치하도록 보장하는 것

 

무결성

  • DB에서 데이터의 정확성과 일관성을 보장하는 것
  • DB에서 저장된 데이터는 외부의 잘못된 접근이나 의도하지 않은 변경으로부터 보호되어야 한다.
  • DB는 무결성 제약 조건을 사용해 DB의 무결성을 보장
    • 무결성 제약 조건 : 데이터 유효성 검증, 무결성이 깨지지 않도록 강제
    • Ex_) DB에서 키(key)와 관련된 무결성 제약 조건을 사용해 중복된 데이터 삽입 방지

 

일관성과 무결성은 DB에서 데이터의 신뢰성을 보장하기 위한 중요한 개념.

일관성과 무결성을 유지하면 DB에서 데이터를 안전하게 보호하고, 데이터에 대한 신뢰성을 확보할 수 있음

728x90

'ssung_항해일지 > CS 지식 및 기술면접' 카테고리의 다른 글

Web Server 와 WAS  (0) 2023.05.16
TCP와 UDP  (0) 2023.05.15
23.05.13 - 운동일지  (0) 2023.05.15
Rest Client [Spring]  (0) 2023.05.12
Spring Container  (0) 2023.05.11