ACID 속성
트랜잭션 처리 선구자에 의해 만들어진 약어 ACID는 원자성, 일관성, 격리 및 내구성을 의미합니다. 예측 가능한 동작을 보장하려면 모든 트랜잭션에 이러한 기본 속성이 있어야 하며, 중요 업무용 트랜잭션의 역할을 전부 또는 없음 제안으로 강화해야 합니다.
다음 목록에는 각 ACID 속성에 대한 정의와 설명이 포함되어 있습니다.
-
원자
-
트랜잭션은 정확히 한 번 실행되어야 하며 원자성이어야 합니다. 모든 작업이 완료되었거나 수행되지 않습니다. 트랜잭션 내의 작업은 일반적으로 공통 의도를 공유하고 상호 종속적입니다. 이러한 작업의 하위 집합만 수행하면 시스템은 트랜잭션의 전반적인 의도를 손상시킬 수 있습니다. 원자성은 작업의 하위 집합만 처리할 가능성을 제거합니다.
-
일관 된
-
트랜잭션은 데이터의 일관성을 유지해야 하며, 하나의 일관된 데이터 상태를 다른 일관된 데이터 상태로 변환해야 합니다. 일관성 유지 관리에 대한 책임은 대부분 애플리케이션 개발자에게 있습니다.
-
격리
-
트랜잭션은 격리 단위여야 합니다. 즉, 동시 트랜잭션은 시스템에서 실행되는 유일한 트랜잭션인 것처럼 동작해야 합니다. 높은 수준의 격리는 동시 트랜잭션 수를 제한할 수 있으므로 일부 애플리케이션은 더 나은 처리량을 위해 격리 수준을 줄입니다. 자세한 내용은 트랜잭션 격리 수준 구성 을 참조하세요.
-
튼튼한
-
트랜잭션은 복구할 수 있어야 하므로 내구성이 있어야 합니다. 트랜잭션이 커밋되면 시스템은 커밋 직후 컴퓨터가 충돌하더라도 업데이트가 유지될 수 있음을 보장합니다. 특수 로깅을 사용하면 시스템의 다시 시작 프로시저가 트랜잭션에 필요한 미완성 작업을 완료하여 트랜잭션을 지속 가능하게 만듭니다.