본문 바로가기
DataBase

데이터 베이스(DataBase) ACID란?

by 완기 2020. 6. 2.
728x90
반응형

데이터 베이스를 이용해서 프로젝트나 공부를 하다보면

데이터 베이스의 여러가지 이점들과 규칙(?)들을 배우게 된다.

 

공부를 하던 도중 ACID란 키워드가 등장했다.

 

키워드를 보자마자 아무래도 데이터 베이스의 장점인 무결성을 지키기 위한 키워드가 아닐까 예상했는데,

 

어느정도 들어맞았다.

 

출처 - 위키백과

원자성은 쉽게 말하면, 내가 어떤 트랜잭션을 처리중일 때, 안전하게 commit이든 rollback이든 완전하게 처리가 되는 능력이다. 원자성이 보장이 되어야 데이터를 입력하는 user와 데이터 베이스간의 데이터가 일치하기 때문이다.

 

일관성은 트랜잭션이 실행되고나서, 데이터 베이스는 이전과 같은 상태를 유지함을 의미한다. 예컨대 트랜잭션을 처리했다고 데이터 베이스가 뻗어버리거나 하지 않아야함을 의미한다.

 

독립성은 내가 A라는 트랜잭션을 처리중일 때, 다른 사용자가 내 트랜잭션에 관여할수 없음을 의미한다. 독립성은 내가 트랜잭션을 처리할 때, 다른 사용자의 다른 데이터 접근도 막기때문에 독립성에 대한 제약조건은 설계시 주의가 필요하다.

 

지속성은 트랜잭션이 실행되면 실행 내역이 DB에 로그로 저장이 되고, 로그가 저장이되면 commit상태로 간주하고 데이터 베이스의  일관성이 유지됨을 의미한다,

728x90
728x90

댓글