티스토리 뷰

반응형
ACID 총정리

ACID 총 정리!

ACID 속성이란 데이터베이스 트랜잭션이 정확하고 신뢰성 있게 처리되도록 보장하는 4가지 핵심 원칙입니다.

ACID는 다음 네 가지 속성의 약자입니다:



속성 의미 왜 중요한가?
A - Atomicity (원자성) 트랜잭션은 모두 실행되거나 전혀 실행되지 않아야 합니다. 중간에 실패하면 모든 작업을 취소하여 데이터 불일치를 방지합니다.
C - Consistency (일관성) 트랜잭션 전후에 데이터는 항상 유효한 상태여야 합니다. 무결성 제약 조건을 위반하지 않고 일관된 데이터 상태를 유지합니다.
I - Isolation (격리성) 여러 트랜잭션이 동시에 실행돼도 결과가 충돌하지 않아야 합니다. 트랜잭션 간 간섭을 막아 독립적인 처리 결과를 보장합니다.
D - Durability (지속성) 트랜잭션이 완료되면 그 결과는 영구적으로 저장되어야 합니다. 시스템 장애가 발생해도 데이터는 손실되지 않아야 합니다.


💡 좀 더 쉽게 예시로 이해해 보기

은행에서 고객 A가 고객 B에게 10만 원을 송금하는 상황을 예로 들어 보겠습니다.

🔹 A: 원자성 (Atomicity)

  • A 계좌에서 10만 원 인출
  • B 계좌에 10만 원 입금

이 두 작업 중 하나라도 실패하면 둘 다 취소되어야 합니다.

→ A 계좌에서 돈만 빠져나가고 B 계좌에 입금되지 않으면 문제가 생깁니다.

🔹 C: 일관성 (Consistency)

  • 트랜잭션 전후로 전체 계좌의 총 잔액이 같아야 합니다.

→ 데이터베이스의 규칙을 항상 지켜야 합니다. 예: 음수 잔액 금지

🔹 I: 격리성 (Isolation)

  • 동시에 여러 고객이 송금하더라도 서로의 작업이 섞이지 않도록 처리되어야 합니다.

→ 예를 들어 A가 송금하는 중에 B가 잔액을 조회해도 중간 결과를 보면 안 됩니다.

🔹 D: 지속성 (Durability)

  • 송금이 완료되었다면 시스템이 꺼지더라도 그 결과는 영구적으로 저장되어야 합니다.

→ 정전이 나도 B의 계좌에는 10만 원이 있어야 합니다.



🧾 정리

속성 핵심 내용 보장하는 것
Atomicity 전부 수행되거나 전부 안 되거나 실패 시 롤백 가능
Consistency 규칙에 맞는 상태로 유지 데이터 무결성 유지
Isolation 다른 트랜잭션과 간섭 없음 중간 상태 노출 방지
Durability 결과가 영구히 저장됨 장애 이후에도 보존


반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함
반응형