IT강의/데이터베이스

트랜잭션의 4가지 특징: ACID

샤핑 2021. 4. 20. 23:11
728x90
반응형

트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 이번 게시글에서는 트랜잭션의 4가지 특징에 대해 알아보겠습니다. 트랜잭션의 핵심적인 특징 이라고 하는데요. 줄여서 'ACID' 라고 부릅니다. 트랜잭션은 아래와 같이 4가지 특징을 가지고 있습니다.

 

 

(1) 원자성 (Atomicity)

- 트랜잭션과 관련된 작업들은 부분적으로 실행되다가 중단되지 않는 것을 보장한다는 의미입니다.

- '완전히 실행되거나 또는 아예 실행되지 않는다' 라고 이해하시면 됩니다.

- 예를 들어 계좌로 돈을 보내는 중에 연결이 끊겼다면 이 작업은 아예 철회되어야 합니다.

 

(2) 일관성 (Consistency)

- 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미합니다.

- 여러 개의 작업이 수행될 때 이전에 수행된 작업이 다음 작업에 영향을 줘야 한다는 뜻입니다.

- 예를 들어 'a에 2를 대입', 'a에 3를 가산' 이라는 작업이 있으면 순서대로 수행해서 a에 5가 저장되어 있어야 합니다. (a = 2+3 이므로)

 

(3) 독립성 (Isolation)

- 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미합니다.

- 공중 화장실의 '대변기 칸'을 떠올리시면 됩니다. (여러 사람이 한 칸에서 같이 대변 볼 수 없으므로 ㅋㅋㅋ)

- 예를 들어 a에 0이 저장되어 있을 때 2를 대입하는 작업이 수행 중이라면 그 누구도 a값을 읽어올 수 없습니다. 따라서 해당 트랜잭션 작업이 끝났을 때 a값 2를 읽어오게 됩니다.

 

(4) 지속성 (Durability)

- 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미합니다.

- 예를 들어 a에 2를 대입했으면 a값을 변경하지 않는 이상 2가 계속 저장되어 있어야 합니다.

 

 

<출처>

위키백과: 데이터베이스 트랜잭션

728x90
반응형
LIST