( 춤 안춥니다. )
원자성 : A tomicity 일관성 : C onsistency 격리성 : I solation 지속성 : D urability
데이터베이스의 트랜잭션에 대한 안정성을 보장하는 특징이에요!
개발자로써 꼭 신경써야할 개념이죠!
' 특정한 기능을 수행하여, 일정한 결과를 내보내는 무언가 ' 를 만들어내는 것
이라고 생각하는데요.
제가 만든 임의의 기능이, 제대로 동작하지 않는다면,
기능이 만들어진 목적을 달성할 수 없고,
그렇다면 개발한 것이 가지는 의미가 없어지겠죠?이런, 넌센스한 상황을 막는데에 필요한 개념들이에요!
Atomicity ( 원자성 ) 이란?
- 하나의 트랜잭션 안에서 실행되던 작업이, 부분적인 실행 이후 실패했을 때,
그 불안정한 상태로 작업이 중단되지 않도록 보장한다는 개념이에요!- 하나의 트랜잭션이 하나의 원자처럼 독립된 단위로써 작용한다는 느낌이죠!
( 완전히 성공하면 모두 성공, 하나라도 실패하면 모두 실패! )Consistency ( 일관성 ) 이란?
- 트랜잭션의 작업은 항상 일관성있게 처리되어야 한다는 개념이에요!
- 기능을 만들때, 어떠한 처리가 되도록 의도를 반영해서 개발해잖아요?
항상 의도한 범주 내에서만 일관성있게 동작해야한다는 느낌이죠!Isolation ( 고립성 ) 이란?
- 여러 트랜잭션이 동시에 실행되더라도, 각각의 연산과정에서 일어나는 처리가
서로 다른 트랜잭션에는 간섭하지 않도록 한다는 개념이에요!- 실행중인 트랜잭션은 외부의 영향을 받지 않는다는 느낌이죠!
Durability ( 지속성 ) 이란?
- 성공한 트랜잭션의 결과값이 지속되어야 한다는 개념이에요!
- 이미 처리된 결과는 다른 처리가 일어나기 전까지 바뀌지 않는다는 느낌이죠!
' victolee ' 님의 티스토리 블로그 !
https://victorydntmd.tistory.com/129
위키피디아 - ACID !
https://ko.wikipedia.org/wiki/ACID