반응형
트랜잭션 (Transaction)이란?
- 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 연산을 의미합니다.
- 사용자가 시스템에 대한 서비스를 요구 할시 시스템이 응답하기 위한 상태 과정 작업 단위입니다.
- 트랜잭션은 단일 레코드 또는 여러 레코드에 영향을 줄 수 있습니다.
ACID 란?
이때 데이터베이스 트랜잭션은 ACID 특성을 가지고 있는데 이는 데이터베이스 내에서 일어나는 트랜잭션의 안전성을 보장하기 위해 있는 성질들입니다.
- 원자성 (Atomicity)
- 원자성은 트랜잭션이 성공하거나 실패한다는 사실을 나타냅니다. all or nothing 작업입니다. 여러 단계로 구성되어 있음에도 불구하고 단계는 단일 작업 또는 단위로 처리됩니다.
- 처리 중간에 중단되지 않는 것을 보장합니다.
- 일관성 (Consistency)
- 데이터베이스 시스템 내의 다른 제약 또는 규칙을 존중하기 위해 트랜잭션을 통해 진행되는 데이터를 업데이트하며 데이터를 일관된 상태로 유지합니다.
- 트랜잭션이 테이블에 변경 사항을 적용할 때 미리 정의된, 예측할 수 있는 방식만 취합니다.
- 격리성, 독립성(isolation)
- 모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야 합니다.
- 각각의 트랜잭션을 격리하면 동시에 트랜잭션이 일어나도 서로 방해하거나 영향을 끼치지 않습니다.
- 각각의 요청이 모두 동시에 일어나도, 마치 하나씩 발생하는 것처럼 발생 할 수 있습니다.
- 지속성(Durablility)
- 트랜잭션 실행으로 인해 데이터에 적용된 변경사항이 저장되도록 보장합니다.
- 성공적으로 수행된 트랜잭션은 영원히 반영되어야 합니다.
참고: https://databricks.com/kr/glossary/acid-transactions,
https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98%EC%9D%98-acid-%EC%84%B1%EC%A7%88/,
https://hello-bryan.tistory.com/384
'Big data > 데이터구조' 카테고리의 다른 글
데이터 파이프라인(data pipeline)이란? (0) | 2022.12.27 |
---|---|
ETL (Extract , Transform, Load) 이란? (0) | 2022.08.08 |
ERD ( Entity Relationship Diagram) (0) | 2022.02.12 |