개발/ETC

Transaction이란?

devhooney 2023. 10. 5. 12:05
728x90

트랜잭션(Transaction)은 데이터베이스 관리 시스템(DBMS)에서 여러 작업을 하나의 논리적인 작업 단위로 묶어서 실행하는 개념이다. 트랜잭션은 데이터베이스의 상태를 변화시키기 위한 연속적인 데이터베이스 연산(INSERT, UPDATE, DELETE)을 하나의 논리적인 단위로 처리하고, 데이터베이스의 일관성을 유지하기 위한 중요한 개념이다.

 

트랜잭션은 ACID라는 속성을 가진다.

원자성(Atomicity): 트랜잭션은 원자적인 단위로 실행되어야 한다. 즉, 모든 연산이 성공하거나 실패하면 전체 트랜잭션이 롤백되어 이전 상태로 복구되어야 한다.

일관성(Consistency): 트랜잭션의 시작 전과 끝난 후에도 데이터베이스는 일관된 상태를 유지해야 한다. 트랜잭션이 적법한 논리적 상태로만 데이터를 변경해야 한다.

고립성(Isolation): 여러 트랜잭션이 동시에 실행되더라도, 각 트랜잭션은 다른 트랜잭션의 작업 내용을 볼 수 없어야 한다. 트랜잭션은 격리되어야 한다.

지속성(Durability): 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 데이터베이스에 저장되어야 한다. 시스템이 중단되거나 장애가 발생하더라도 데이터는 보존되어야 한다.

트랜잭션은 개발자가 데이터베이스 작업을 안전하게 처리하고 데이터 무결성을 보장하기 위해 사용하는 중요한 개념이다. 데이터베이스 관리 시스템은 대부분 트랜잭션 관리를 지원하며, 개발자는 트랜잭션을 명시적으로 시작, 커밋(확정), 롤백(취소)하는 방법을 사용하여 데이터베이스 작업을 관리할 수 있다.

728x90

'개발 > ETC' 카테고리의 다른 글

네이티브 앱, 하이브리드 앱, 크로스 플랫폼 앱 차이  (117) 2023.10.11
invalid cors request 403 해결  (98) 2023.10.06
URI is not absolute 해결  (69) 2023.10.04
REST API 란?  (0) 2023.06.08
Index가 적용되지 않는 경우 정리  (0) 2023.05.11