트랜잭션이란 하나의 논리적인 작업 단위를 이루는 여러 연산들의 집합을 말한다. 예를들어, 한 계좌의 돈을 다른 계좌로 이체하는 계좌 이체 작업은 각 계좌의 잔고를 변경하는 두 개의 갱신 연산으로 구성되어있는 하나의 트랜잭션이다. 트랜잭션이 지녀야할 기본 속성 (ACID 성질) Atomicity (원자성) 어떤 오류가 발생했을 경우에는 미완료된 트랜잭션이 부분적인 영향까지 모두 되돌려야 한다. 즉 트랜잭션의 작업들이 모두 수행되거나 전혀 수행되지 않아야 한다. 일부만 수행된 상태가 되어서는 안됨 -> all or nothing 원자성을 보장하기 위한 아이디어는 데이터베이스 시스템이 트랜잭션이 갱신하는 데이터의 예전 값을 기록하는데 이 정보는 로그(log)라고 불리는 파일에 기록된다. Consistency ..