ACID와 Transaction

ILCHAN AHN·2023년 2월 25일
0

ACID는 Atomicity, Consistency, Isolation 및 Durability의 약자입니다. 이 네 가지 속성은 신뢰할 수 있고 고품질의 데이터베이스 트랜잭션의 핵심 특성으로 간주됩니다.

다음은 각 속성의 의미에 대한 간략한 개요입니다:

원자성(Atomicity): 이 속성은 트랜잭션이 분할할 수 없는 단일 작업 단위로 처리되도록 보장합니다. 트랜잭션 중에 변경된 모든 내용이 데이터베이스에 커밋되거나 변경된 내용이 없습니다. 트랜잭션이 실패하거나 어떤 이유로든 중단되면 해당 시점까지 수행된 모든 변경 사항이 롤백되거나 실행 취소됩니다.

일관성(Consistency): 이 속성은 데이터베이스가 트랜잭션 전후에 일관된 상태를 유지하도록 합니다. 즉, 데이터베이스의 데이터는 데이터베이스 스키마에서 지정한 모든 규칙과 제약 조건을 준수해야 합니다. 트랜잭션이 이러한 규칙을 위반할 경우 트랜잭션은 롤백되고 데이터베이스는 변경되지 않은 상태로 유지됩니다.

격리(Isolation): 이 속성을 통해 여러 트랜잭션을 서로 간섭하지 않고 동시에 실행할 수 있습니다. 다른 트랜잭션도 동시에 실행되는 경우에도 각 트랜잭션은 데이터베이스에서 실행되는 유일한 트랜잭션인 것처럼 실행됩니다. 이렇게 하면 데이터 불일치를 방지하고 각 트랜잭션이 데이터베이스의 일관된 보기를 볼 수 있습니다.

내구성(Durability): 이 속성은 트랜잭션이 데이터베이스에 커밋되면 시스템 오류 또는 충돌이 발생한 경우에도 변경 내용이 유지되도록 합니다. 이는 일반적으로 트랜잭션 로그를 저장하고 데이터베이스의 데이터가 항상 하드 드라이브 또는 솔리드 스테이트 드라이브와 같은 비휘발성 스토리지에 기록되도록 함으로써 가능합니다.

Transaction은 ACID의 기본개념

데이터베이스의 맥락에서, 트랜잭션은 분할할 수 없는 단일 단위의 작업으로 수행되는 일련의 작업을 의미합니다. ACID 속성은 트랜잭션이 안정적이고 일관적으로 실행되고 데이터베이스가 각 트랜잭션 전후에 일관된 상태를 유지하도록 보장합니다.

트랜잭션이 실행될 때 신뢰할 수 있고 안전한 트랜잭션으로 간주되려면 네 가지 ACID 속성을 모두 충족해야 합니다. 원자성은 트랜잭션 중에 수행된 모든 변경사항이 데이터베이스에 커밋되거나 데이터베이스에 커밋되지 않도록 보장합니다. 일관성은 데이터베이스가 트랜잭션 전후에 일관된 상태를 유지하도록 보장합니다. 격리를 통해 서로 간섭하지 않고 여러 트랜잭션을 동시에 실행할 수 있습니다. 내구성은 트랜잭션이 데이터베이스에 커밋되면 시스템 오류 또는 충돌이 발생한 경우에도 변경 내용이 지속되도록 보장합니다.

ACID 규정을 준수하지 않으면 트랜잭션이 안정적으로 실행되지 않아 데이터 불일치, 데이터 손실 또는 기타 오류가 발생할 수 있습니다. ACID 컴플라이언스는 데이터베이스의 데이터 무결성과 일관성을 유지하는 방식으로 트랜잭션이 실행되도록 보장합니다.

profile
백엔드 개발자를 꿈꿉니다

0개의 댓글