개발놀이터

면접 준비 : 트랜잭션, 트랜잭션의 ACID 본문

CS 지식/면접준비

면접 준비 : 트랜잭션, 트랜잭션의 ACID

마늘냄새폴폴 2022. 12. 22. 01:12

Q. 트랜잭션에 대해서 설명해주세요
A. 트랜잭션이란 데이터베이스의 상태를 변화시키는 논리적인 작업 단위라고 할 수 있으며, 트랜잭션에는 여러개의 연산이 수행될 수 있습니다. 

Q. 트랜잭션의 ACID에 대해서 설명해주세요
A. ACID는 각각 원자성, 일관성, 고립성, 내구성의 약자입니다. 각각의 뜻으로는 원자성은 트랜잭션의 모든 연산이 완벽히 수행되어야 하며, 한 연산이라도 실패하면 트랜잭션의 전체 연산은 실패하게 된다는 것입니다. 일관성은 트랜잭션이 진행되는 동안 데이터베이스가 변경되더라도 업데이트된 데이터베이스로 트랜잭션이 진행되는 것이 아니라 기존에 트랜잭션을 진행하던 데이터베이스로 진행해야 한다는 것입니다. 고립성은 서로 다른 트랜잭션이 동시에 실행될 경우 다른 트랜잭션에 의해 영향을 받지 않고 독립적으로 실행되어야 한다는 의미입니다. 내구성은 트랜잭션이 커밋된 이후에는 시스템 오류가 발생하더라도 커밋된 상태로 유지되는 것을 보장해야 한다는 것입니다.