금융업계열에서는 ACID가 의무적임.
DB트랜젝션이 발생할 때, 그 안정성을 보장할 수 있는 성질.
트랜젝션 ?
DB의 상태를 변환시키는 논리적 기능을 수행하기 위해, 하는 하나 이상의 쿼리를 모아둔 작업단위.
(여러개의 작업을 하나로 묶은 실행 유닛_)
Atomicity/Durability/COnsistency/Isolation
원자성 atomicity
하나의 트랜젝션 내에서는 모든 연산이 성공하거나 , 모든 연산이 실패해야한다.
일관성 consistency
하나의 트랜젝션 전후에 db의 일관된 상태는 유지되어야한다.
(어떤 DB 요소의 특정한 제약을 걸거나 변화를 요구하는 것은 불가하며, 데이터 처리를 하지 않음)
고립성(독립적) isolation
각 트랜젝션은 독립적이고, 서로의 연산을 확인하거나 영향을 줄 수 없음 .
지속성 durability
하나의 성공된 트랜젝션에 대한 로그가 기록되고 영구적으로 남음.
(예를들어 1.이체성공->서버에러 : 기록 영구적 유지 But,
2.서버에러가 있어서 이체를 실패 : 이체 요청 이전 상태로 롤백하게 됨. (즉, 안보낸진것과 동일한상태)