반응형

ACID

데이터베이스 시스템이 신뢰성 있고 일관된 방식으로 데이터를 관리하기 위한 기본 원칙을 나타냅니다. 

 

 

 

ACID 특성

  • 원자성 : 트랜잭션은 원자적이어야 합니다. 이는 트랜잭션 내의 모든 작업이 완전히 수행되거나 전혀 수행되지 않아야 함을 의미합니다. 만약 트랜잭션 중 하나의 단계라도 실패하면, 이전 단계까지의 모든 변경 사항이 롤백되어 데이터 베이스가 일관된 상태를 유지할 수 있게 됩니다.
  • 일관성 : 트랜잭션이 완료된 후에도 데이터베이스는 일관된 상태를 유지해야 합니다. 이는 트랜잭션이 데이터베이스에 정의된 규칙과 제약 조건을 준수하여 작업을 수행하며, 데이터의 무결성이 유지되어야 함을 의미합니다.
  • 고립성 : 동시에 여러 트랜잭션이 실행될 때, 하나의 트랜잭션이 다른 트랜잭션의 작업에 영향을 미치지 않도록 보장해야 합니다. 이는 트랜잭션들이 서로에게 영향을 미치지 않고 독립적으로 수행되어야 함을 의미합니다.
  • 지속성 : 트랜잭션이 성공적으로 완료된 후에는 해당 트랜잭션의 변경 사항이 영구적으로 데이터베이스에 저장되어야 합니다. 시스템 장애 또는 중단 상황이 발생하더라도 데이터의 변화는 유지되어야 하며, 향후에 복구되어야 합니다.

ACID 원칙은 데이터베이스 트랜잭션의 안정성과 신뢰성을 보장하기 위해 사용되는 중요한 개념입니다. 데이터베이스 시스템 ACID 속성을 준수하면, 데이터의 일관성과 무결성을 보장하며, 다양한 상황에서도 데이터의 안정성을 유지할 수 있습니다.

 

트랜잭션

데이터베이스에서 한 번에 수행되어야 하는 하나의 논리적인 작업 단위를 나타내는 개념입니다. 이 작업 단위는 데이터베이스 내의 데이터를 읽고 쓰는 일련의 연산들로 구성됩니다. 트랜잭션은 데이터의 일관성과 무결성을 보장하기 위해 사용되며, ACID 속성을 준수하여 안정적인 데이터 관리를 위한 중요한 개념입니다.

 

 

  • 시작 : 트랜잭션의 시작을 나타냅니다. 이 시점부터 트랜잭션 내에서 수행되는 모든 작업이 트랜잭션에 속하게 됩니다.
  • 작업 수행 : 트랜잭션 내에서 데이터베이스의 데이터를 읽고 쓰는 작업들이 수행됩니다. 이 작업들은 트랜잭션의 목적에 따라 다양하게 정의될 수 있습니다.
  • 커밋 : 트랜잭션이 성공적으로 완료되었을 때, 모든 변경 사항이 데이터베이스에 영구적으로 저장되도록 커밋 작업이 수행됩니다. 이 작업 이후에는 트랜잭션이 완료되며, 변경 사항은 다른 트랜잭션과 공유될 수 있습니다.
  • 롤백 : 트랜잭션 중에 오류가 발생하거나 특별한 이유로 작업을 취소해야 할 경우, 롤백 작업을 수행하여 트랜잭션 내에서 수행된 모든 병경 사항을 취소하고 이전 상태로 되돌립니다.

트랜잭션은 데이터베이스에서 데이터의 일관성과 무결성을 보장하기 위해 중요한 역할을 합니다. 트랜잭션 내에서 수행되는 모든 작업은 원자성, 일관성, 고립성 및 지속성(ACID)과 같은 속성을 준수하여 안정적으로 처리되어야 합니다.

 

728x90

'BackEnd > 더 깊은 데이터베이스 지식' 카테고리의 다른 글

데이터베이스 정규화  (0) 2023.08.22
트랜잭션  (0) 2023.08.19
ORM  (0) 2023.08.17