DataBase

[Database] ACID(원자성, 일관성, 고립성, 지속성)

범데이 2023. 5. 21. 16:38

1. 개요

데이터베이스에서 트랜잭션의 특성을 나타내는 네가지 기본 원칙을 나타내는 약어가 있는데,

바로 ACID이다. 이에 대해서 알아보자.

 

 

 

2. ACID란?

ACID는 Atomicity(원자성), Constistency(일관성), Isolation(고립성), Durability(지속성)을 나타내는 약어이다. 각각의 의미에 대해 나열해보고자 한다.

 

 

1. 원자성(Atomicity):

  트랜잭션은 "원자적"이어야 한다. 이는 트랜잭션이 작업의 모든 단계를 완전히 수행하거나 아무 작업도 수행하지 않은 상태로 유지되어야 함을 의미한다. 트랜잭션 내의 모든 작업은 전부 성공적으로 완료되거나, 어느 하나라도 실패할 경우 모든 작업이 롤백되어 이전 상태로 복원된다.

 

 

2. 일관성(Consistency):

  트랜잭션은 데이터베이스의 일관성을 유지해야 한다. 이는 트랜잭션이 데이터베이스에서 정의된 규칙과 제약 조건을 준수해야 함을 의미한다. 트랜잭션의 시작 전과 끝난 후에도 데이터베이스는 일관된 상태여야 한다.

 

 

3. 고립성(Isolation):

  트랜잭션은 다른 트랜잭션으로부터 독립적으로 실행되어야 한다. 각 트랜잭션은 서로 영향을 주지 않고, 동시에 실행되는 다른 트랜잭션에 영향을 받지 않아야 한다. 이는 한 트랜잭션이 다른 트랜잭션의 실행 결과를 볼 수 없고, 별도의 공간에서 작업을 수행하는 것을 의미한다.

 

 

4. 지속성(Durability):

  트랜잭션이 성공적으로 완료되면, 해당 트랜잭션에 의한 변경 내용은 영구적으로 저장되어야 한다. 시스템 장애 또는 전원 손실과 같은 예상치 못한 상황이 발생하더라도, 데이터베이스는 영구적으로 변경된 상태를 유지해야 한다.

 

ACID는 데이터베이스에서 트랜잭션의 신뢰성과 일관성을 보장하기 위해 사용되는 중요한 개념이다. 이 원칙들은 데이터베이스 시스템이 데이터를 안전하게 관리하고, 데이터의 무결성과 일관성을 유지하며, 장애시에도 데이터를 복구할 수 있도록 도와준다.

 

 

 


#References

https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98%EC%9D%98-acid-%EC%84%B1%EC%A7%88/

https://covenant.tistory.com/85

https://www.databricks.com/kr/glossary/acid-transactions

 

반응형