-
TransactionCS 지식/데이터베이스(Database) 2023. 4. 25. 16:22
Transaction
: a single logical, atomic unit of work that accesses and possibly modifies the contents of a database
- read, write operation을 통해 data에 접근함.
- ACID 성질 만족
https://www.geeksforgeeks.org/acid-properties-in-dbms/ Atomicity)
Abort : transaction이 abort 되면 database의 변화는 보이지 않음.
Commit : transaction이 commit 되면 변화는 보이게 됨.
Isolation)
모든 transaction은 다른 transaction으로부터 독립되어야 함.
실제로 동시에 여러개의 transaction들이 수행될 때, 각 transaction은 고립되어 있어 연속으로 실행된 것과 동일한 결과를 나타냄.
Durability)
- ensures that once the transaction has completed execution, the updates and modifications to the database are stored in and written to disk and they persist even if a system failure occurs
Transaction States in DBMS
- transaction log : 모든 transaction activity를 record 하기 위한 file
commit이 완료 되고 나면 transaction log 파일은 삭제됨.
https://www.geeksforgeeks.org/transaction-states-in-dbms/ commit : save the work done permanently
rollback : undo the work done
database에 permanently 하게 저장되기 전까지는 local buffer나 main memory에만 변화가 생김.
이 변화를 database에 permanent 하게 반영하게 되면 committed 상태가 되는 것.
References
- https://www.geeksforgeeks.org/acid-properties-in-dbms/
- https://www.geeksforgeeks.org/transaction-states-in-dbms/
'CS 지식 > 데이터베이스(Database)' 카테고리의 다른 글
statement vs prepared statement vs callable statement interface (0) 2023.05.04 Transaction Isolation Level(트랜잭션 격리 수준) (0) 2023.04.25 SQL vs NoSQL (0) 2023.04.21 SQL - injection (2) 2023.04.19 Relational Model과 Key의 종류 (0) 2023.04.17