ACID 속성

트랜잭션 처리 선구자에 의해 만들어진 약어 ACID는 원자성, 일관성, 격리 및 내구성을 의미합니다. 예측 가능한 동작을 보장하려면 모든 트랜잭션에 이러한 기본 속성이 있어야 하며, 중요 업무용 트랜잭션의 역할을 전부 또는 없음 제안으로 강화해야 합니다.

다음 목록에는 각 ACID 속성에 대한 정의와 설명이 포함되어 있습니다.

원자

트랜잭션은 정확히 한 번 실행되어야 하며 원자성이어야 합니다. 모든 작업이 완료되었거나 수행되지 않습니다. 트랜잭션 내의 작업은 일반적으로 공통 의도를 공유하고 상호 종속적입니다. 이러한 작업의 하위 집합만 수행하면 시스템은 트랜잭션의 전반적인 의도를 손상시킬 수 있습니다. 원자성은 작업의 하위 집합만 처리할 가능성을 제거합니다.

일관 된

트랜잭션은 데이터의 일관성을 유지해야 하며, 하나의 일관된 데이터 상태를 다른 일관된 데이터 상태로 변환해야 합니다. 일관성 유지 관리에 대한 책임은 대부분 애플리케이션 개발자에게 있습니다.

격리

트랜잭션은 격리 단위여야 합니다. 즉, 동시 트랜잭션은 시스템에서 실행되는 유일한 트랜잭션인 것처럼 동작해야 합니다. 높은 수준의 격리는 동시 트랜잭션 수를 제한할 수 있으므로 일부 애플리케이션은 더 나은 처리량을 위해 격리 수준을 줄입니다. 자세한 내용은 트랜잭션 격리 수준 구성 을 참조하세요.

튼튼한

트랜잭션은 복구할 수 있어야 하므로 내구성이 있어야 합니다. 트랜잭션이 커밋되면 시스템은 커밋 직후 컴퓨터가 충돌하더라도 업데이트가 유지될 수 있음을 보장합니다. 특수 로깅을 사용하면 시스템의 다시 시작 프로시저가 트랜잭션에 필요한 미완성 작업을 완료하여 트랜잭션을 지속 가능하게 만듭니다.