22. Transaction

어니언·2023년 3월 2일
0
post-thumbnail

transaction이란 데이터베이스에서 하나의 논리적인 작업 단위를 말한다. 하나의 transaction내에서 행해지는 작업들은 모두 완벽하게 수행되거나, 하나라도 에러가 있을시 수행되지 않아야합니다.

따라서 transaction의 핵심은 데이터베이스의 무결성을 보장하는 중요한 개념이다.

transaction의 4가지 속성
원자성(Atomicity)
하나의 transaction 안에서 이루어지는 모든 작업들은 모두완전히 수행되거나, 하나도 수행되지 않아아햔다. 즉, transacition 내에서 단 하나의 에러가 뜨더라도 전체 transaction은 실패한다.

일관성(Consistency)
transaction이 수행되기전 데이터베이스의 상태가 유효한 상태라면, transaction이 수행된 후에도 데이터베이스는 똑같이 유효한 상태여야한다.

격리성(Isolation)
두개 이상의 transaction이 동시에 수행하면, 각각의 transaction은 다른 transaction과 독립적으로 수행되는 것처럼 보여야한다. 이를 통해 각각의 transaction은 다른 transaction의 결과에 영향을 주고받지 않는다.

지속성(Durability)
transaction이 성공적으로 수행이되면 그 결과는 데이터베이스에 저장되어야한다. 즉 시스템에 장애가 발생하더라도 데이터베이스는 항상 일관된 상태를 유지해야한다.

효율성과 안정성을 고려해서 적절히 사용하면 코드의 안정성을 높일 수 있다.

profile
안녕하세요.

0개의 댓글