ACID

Yuno·2024년 8월 11일

JavaSpring

목록 보기
12/16

✏️ ACID 란?

데이터베이스 시스템에서 트랜잭션의 신뢰성을 보장하기 위해 필요한 네 가지 속성을 설명하는 약어.
이 속성들은 데이터베이스의 무결성과 일관성을 유지하는 데 중요한 역할을 함.


📌 1. 원자성(Atomicity)

  • 트랜잭션이 완전히 수행되거나 전혀 수행되지 않아야 한다는 원칙을 의미.
    트랜잭션 중에 문제가 발생하면, 트랜잭션이 전혀 수행되지 않은 것처럼 데이터베이스 상태를 복원

    🤔🤔 트랜잭션이 실패하면 출금과 입금 모두 취소됨


📌 2. 일관성(Consistency)

  • 트랜잭션이 완료된 후 데이터베이스가 일관된 상태를 유지해야 한다는 원칙을 의미.
    즉, 트랜잭션 전후에 데이터베이스는 정의된 규칙이나 제약 조건을 만족해야 함

    🤔🤔 은행 계좌의 잔액은 항상 0 이상이어야 함. 트랜잭션이 완료되면 계좌의 잔액이 음수가 되어서는 안됨
    데이터베이스의 무결성 제약 조건이 유지되도록 보장함


📌 3. 격리성(Isolation)

  • 동시에 실행되는 트랜잭션이 서로 간섭하지 않아야 한다는 원칙을 의미.
    각 트랜잭션은 다른 트랜잭션이 완료될 때까지 자신만의 작업을 독립적으로 수행해야 함

    🤔🤔 두명의 사용자가 동시에 같은 계좌에서 돈을 인출하려고 할 때, 격리성이 보장되면 두 트랜잭션 모두 성공적으로 수행되지 않거나, 한 트랜잭션이 다른 트랜잭션에 영향을 주지 않도록 함


📌 4. 지속성(Durability)

  • 트랜잭션이 성공적으로 완료된 후 그 결과가 데이터베이스에 영구적으로 저장되어야 한다는 원칙을 의미.
    시스템 장애가 발생해도 트랜잭션 결과는 유지되어야 함

    🤔🤔 사용자가 은행 계좌에서 돈을 인출한 후 트랜잭션이 완료되면, 시스템에 장애가 발생하더라도 돈이 인출된 상태는 계속 유지되어야 함
    데이터베이스가 복구되면 이전의 작업 결과가 손실되지 않아야 함


❗️❗️ACID 의 중요성❗️❗️

  • 신뢰성 : ACID 속성은 데이터베이스의 시스템이 신뢰할 수 있도록 보장함. 데이터베이스 작업이 예상대로 수행되고, 데이터가 일관된 상태를 유지하며, 장애가 발생해도 결과가 유지됨
  • 무결성 유지 : 데이터베이스의 무결성을 유지하기 위해 ACID 속성을 충족시키는 것이 중요. 이는 특히 금융 시스템, 재고 관리 시스템, 전자상거래 플랫폼 등 데이터의 정확성과 신뢰성이 중요한 시스템에서 필수적임
profile
Hello World

0개의 댓글