MySQL(DB)

[바미] 데이터 베이스 트랜잭션 관리

Bami 2023. 1. 24. 08:00
728x90
반응형

데이터 베이스 트랜잭션 관리란, 데이터베이스에서 수행하는 여러 개의 작업들을 하나의 논리적 단위로 묶어서 처리하는 것을 말합니다.

트랜잭션은 ACID(Atomicity, Consistency, Isolation, Durability)라는 4가지 속성을 가지고 있습니다.

 

  • 원자성(Atomicity): 트랜잭션은 원자적으로 수행되어야 하며, 트랜잭션 안의 모든 작업들이 한꺼번에 성공하거나, 실패해야 합니다.
  • 일관성(Consistency): 트랜잭션이 수행되면서 데이터베이스의 정합성을 유지해야 합니다.
  • 격리성(Isolation): 트랜잭션끼리는 각자 독립적으로 수행되어야 합니다.
  • 내구성(Durability): 트랜잭션이 성공적으로 완료되더라도 (시스템 실패가 일어나더라도) 그 결과가 데이터베이스에 계속 유지되어야 합니다.

 

장 단점

장점

  1. 데이터 일관성 : 트랜잭션을 사용하면 데이터베이스에 저장된 데이터를 일관되게 유지할 수 있습니다.
  2. 복구 및 롤백 기능 : 트랜잭션을 사용하면 오류가 발생하더라도 원래 상태로 복구할 수 있습니다.
  3. 동시성 제어 : 트랜잭션은 동시성 제어를 제공하여 데이터베이스의 무결성을 유지합니다.

단점

  1. 성능 저하: 트랜잭션을 처리하는데 필요한 추가적인 작업이 시스템 성능에 영향을 미칠 수 있습니다.
  2. 복잡성 증가 : 트랜잭션 관리를 구현하면 코드가 복잡해질 수 있으며, 예기치 않은 오류나 예외 상황을 처리하는 것이 까다롭습니다.
  3. 제한적인 확장성 : 트랜잭션 관리는 단일 시스템에서만 사용될 수 있으며, 분산 시스템에서는 확장성이 떨어질 수 있습니다.
  4. 일부 데이터베이스에서는 트랜잭션을 지원하지 않을 수도 있습니다.

 

 
 
728x90
반응형