트랜잭션
- 트랜잭션이란 관련된 여러 처리를 하나의 큰 처리로 취급할 경우의 단위입니다.
- 즉, 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다.
트랜잭션 속성 → ACID 속성
- 원자성(Atomicity)
- 트랜잭션을 구성하는 연산들이 모두 정상적으로 실행되거나 아니면 전혀 실행되지 않아야 한다는 ALL-OR-NOTHING 방식을 의미합니다.
- 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생할 경우 트랜잭션 전부가 취소되어야 합니다.
- 일관성(Consistency)
- 트랜잭션이 그 실행을 성공적으로 수행한 후에도 언제나 일관성 있는 데이터베이스 상태로 유지해야 합니다.
- 시스템이 가지고 있는 고정 요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야 합니다.
- 독립성(Isolation)
- 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우, 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없습니다.
- 수행 중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없습니다.
- 지속성(Durability)
- 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 합니다.
728x90
'개발자 기술 면접 > 데이터베이스' 카테고리의 다른 글
[DB] 데이터베이스 1:1, 1:N, N:M 관계 (2) | 2024.01.01 |
---|---|
[DB] 정규화란? (0) | 2023.12.30 |
[DB] 내부 조인(Inner Join)과 외부 조인(Outer Join)의 차이 (0) | 2023.12.30 |
[DB] 인덱스란? (0) | 2023.12.30 |
[DB] RDBMS와 NoSQL의 차이 (2) | 2023.12.30 |