상세 컨텐츠

본문 제목

[데이터베이스 CS지식] 트랜잭션이란?

데이터베이스

by 소란한소란 2024. 2. 26. 11:00

본문

728x90

데이터베이스 트랜잭션이란?

 

데이터베이스 트랜잭션은 현대의 데이터베이스 시스템에서 중요한 개념 중 하나로, 데이터베이스에서 일어나는 작업들을 논리적이고 일관성 있게 처리하는 메커니즘입니다. 데이터베이스 거래는 ACID(Atomicity, Consistency, Isolation, Durability) 속성을 따르며, 이를 통해 데이터베이스의 신뢰성과 안정성을 보장합니다.

 

트랜잭션 상태 전이도


ACID 속성

  1. 원자성(Atomicity): 트랜잭션 내의 모든 작업은 전체가 성공 또는 실패로 처리되어야 합니다. 어떤 부분이라도 실패하면 트랜잭션은 롤백되어 이전 상태로 돌아가게 됩니다.
  2. 일관성(Consistency): 트랜잭션 수행 전과 후에 데이터베이스는 일관된 상태를 유지해야 합니다. 트랜잭션이 적용되면 데이터베이스는 일관된 규칙에 따라 변경되어야 합니다.
  3. 독립성(Isolation): 여러 트랜잭션이 동시에 실행되더라도 각 트랜잭션은 다른 트랜잭션에 영향을 미치지 않고 독립적으로 수행되어야 합니다. 각 트랜잭션은 다른 트랜잭션이 완료될 때까지 그 결과를 볼 수 없습니다.
  4. 영속성(Durability): 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 저장되어야 합니다. 시스템이 다운되거나 장애가 발생해도 데이터의 지속성이 보장되어야 합니다.

사용 예시 시나리오

  1. 새로운 주문 생성:
    • 사용자가 상품을 선택하고 주문을 생성합니다.
    • 주문 정보(상품, 수량, 배송 정보 등)가 데이터베이스에 저장됩니다.
  2. 결제 처리:
    • 주문이 생성되면 결제 과정이 시작됩니다.
    • 결제 정보(카드 번호, 결제 금액 등)가 안전하게 데이터베이스에 기록됩니다.
  3. 재고 갱신:
    • 주문이 완료되면 상품 재고를 갱신합니다.
    • 주문한 상품의 재고 수량이 감소하고 데이터베이스에 변경된 재고 정보가 기록됩니다.
  4. 배송 정보 업데이트:
    • 주문이 완료되면 배송 단계로 이동합니다.
    • 상품이 출고되고 배송 정보(송장번호, 예상 도착일 등)가 데이터베이스에 업데이트됩니다.

 

데이터베이스 거래의 예시로는 다수의 데이터베이스 레코드를 변경하거나 검색하는 작업이 있습니다. 이러한 작업들은 트랜잭션으로 묶여 있어야 하며, 원자성이 유지되어야 합니다. 예를 들어, 고객이 물건을 주문하는 경우 주문, 결제, 재고 갱신 등 여러 작업이 하나의 트랜잭션으로 묶여 처리됩니다.


결론

데이터베이스 거래는 현대의 데이터 관리에서 필수적인 부분으로, 신뢰성 있고 안정적인 데이터베이스 운영을 위해 ACID 속성을 준수하여 구현됩니다. 이를 통해 데이터의 일관성과 무결성을 유지하며 안전하게 데이터를 관리할 수 있습니다.

 

 

728x90

관련글 더보기