트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 이번 게시글에서는 트랜잭션의 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가 계속 저장되어 있어야 합니다.
<출처>
위키백과: 데이터베이스 트랜잭션
'IT강의 > 데이터베이스' 카테고리의 다른 글
세 번 연속적인 숫자 출력 (0) | 2021.04.21 |
---|---|
중복되는 메일 주소 출력 (0) | 2021.04.21 |
2018년도 정보처리기사 실기 2회 문제풀이 및 해설 - 5. SQL 쿼리문 (0) | 2020.12.27 |
2018년도 정보처리기사 실기 2회 문제풀이 및 해설 - 4. 데이터베이스 이론 (0) | 2020.12.27 |
DB 연동 및 SQL 응용 - JDBC (0) | 2020.12.26 |