원자력 :전부 또는 아무것도
데이터베이스 및 트랜잭션의 맥락에서 원자력 불가분의 운영 개념을 말합니다. . 거래는 모두 인 경우 원자가로 간주됩니다 그 작업은 성공적으로 완료되거나 없음 그들 중 그것은 화학 반응과 같습니다. 전체 반응이 발생하거나 아무 일도 일어나지 않습니다.
설명 할 두 가지 예입니다.
예 1 :은행 양도
당좌 예금 계좌에서 저축 계좌로 $ 100를 이체한다고 상상해보십시오. 이 거래는 두 가지 운영이 포함됩니다.
1. 직불 : 당좌 예금 계좌에서 $ 100 공제.
2. 신용 : 저축 계좌에 $ 100 추가.
원자 거래 : 시스템이 원자력을 보장하는 경우,이 두 작업 모두 성공적으로 발생하거나 그 중 어느 것도하지 않습니다. 차변 작업이 완료되지만 신용 작업이 실패하면 (예 :시스템 오류로 인해) 돈이 손실되지 않습니다. 당좌 예금 계좌에 남아 있습니다.
비 원자 거래 : 원자력이 보장되지 않으면 저축 계좌에 도달하지 않고 당좌 계좌에서 돈이 사라질 수있어 시스템의 불일치가 발생합니다.
예 2 :온라인 쇼핑 카트
온라인 상점에서 제품 구매를 고려하십시오. 거래는 이러한 운영과 관련 될 수 있습니다.
1. 인벤토리 공제 : 구입 한 품목의 가용 재고를 줄입니다.
2. 카드를 충전하십시오 : 신용 카드에서 지불을 처리하십시오.
3. 주문 상태 : 주문을 "배치"로 표시하십시오.
원자 거래 : 트랜잭션이 원자 인 경우 세 가지 작업이 모두 성공적으로 발생하거나 그 중 어느 것도하지 않습니다. 재고가 공제되었지만 카드 지불이 실패하면 주문이 배치되지 않으며 재고가 복원됩니다.
비 원자 거래 : 원자력이 없으면 재고가 공제 될 수 있지만 지불은 처리되지 않을 수 있습니다. 이것은 불일치로 이어질 것입니다 :당신은 항목에 대해 청구되지만, 당신에게 배송되지 않을 것입니다.
본질적으로 원자력은 거래가 신뢰할 수 있고 일관되도록합니다. 데이터 손상을 방지하고 예상치 못한 이벤트 또는 오류에 직면해도 데이터베이스가 유효한 상태로 유지되도록합니다. .