ACID
ACID는 트랜젝션의 특징들의 앞글자를 딴 단어이다.
원자성(Atomicity)
- 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장한다.
- 모든 작업이 반영되거나 모두 롤백되는 특성이다.
일관성(Consistency)
- 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지된다.
고립성(Isolation)
- 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하게 보장한다.
- 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없다.
- 고립성은 트랜잭션 실행내역은 연속적이어야 함을 의미한다.
지속성(Durability)
- 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다.
- 시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 한다.
- 모든 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌릴 수 있다.
- 트랜잭션은 로그에 모든 것이 저장된 후에만 커밋상태로 간주될 수 있다.
참고한 사이트 :
https://goodgid.github.io/ACID/
https://chrisjune-13837.medium.com/db-transaction-%EA%B3%BC-acid%EB%9E%80-45a785403f9e