전체 글 (39)
방명록
- [CS] Transaction2025년 02월 09일 11시 09분 25초에 업로드 된 글입니다.이 글은 2025년 02월 09일 02시 39분 52초에 마지막으로 수정되었습니다.작성자: 이중엽
Transaction이란?
Transaction은 질의(query)를 통해 데이터베이스의 상태를 변화시키는 수행의 작업 단위를 뜻한다.
Transaction는 하나의 질의어(SQL)가 아닌 사용자의 기준에 따라 여러 질의어 작업을 하나로 묶은 실행 유닛이다.
데이터베이스 관리 시스템(DBMS)의 성능은 초당 트랜잭션의 실행 수로 측정된다.
ACID
DB Transaction이 안전하게 수행되는 것을 보장하는 4가지 성질
Atomicity(원자성)
원자성은 트랜잭션이 데이터베이스에 모두 반영되거나, 반영되지 않아야 하는 것을 말한다.
이는 트랜잭션이 부분적으로 실행되거나 중단되지 않는 것을 보장한다.
중간에 문제가 생길 경우 이전 commit 내용 상태로 rollback한다.
다만, 확실한 경우 트랜잭션 중간에 세이브포인트를 지정한다.Consistency(일관성)
일관성은 데이터베이스의 상태가 일관된 것을 말한다.
즉, 트랜잭션 이전과 이후의 데이터베이스 상태는 동일해야한다.
이는 트랜잭션이 데이터베이스의 제약 조건을 모두 만족함으로써 보장한다.
Isolation(독립성)
모든 트랜잭션은 다른 트랜잭션으로 부터 독립적인 것을 말한다.
데이터를 읽고 쓸 때, 다른 트랜잭션이 접근하지 못하게 Lock하고 수행이 끝나면 Unlock을 통해 다른 트랜잭션의 접근을 허용한다. 이를 통해 트랜잭션이 동시에 실행되더라도 연속으로 실행될 때의 결과가 동일하다.
Durability(지속성)
성공적으로 수행된 Transaction은 영원토록 로그가 남는다.
참고
'Computer Science' 카테고리의 다른 글
[CS] 네트워크 7계층 (0) 2025.02.09 [CS] TCP/IP 5계층 (0) 2025.02.08 [CS] 메모리의 구조 (0) 2022.03.03 다음글이 없습니다.이전글이 없습니다.댓글