Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

스파르타 코딩클럽 JPA 심화 트랜잭션 본문

Spring

스파르타 코딩클럽 JPA 심화 트랜잭션

H.S-Backend 2024. 6. 26. 20:59

트랜잭션이란

데이터 베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위


데이터들을 생성 조회 수정 삭제 후

최종 결과물을 만들 때 까지의

하나의 작업을 트랜잭션으로 관리할 수 있다.

 

트랜잭션은 데이터 처리중에 문제가 발생하면

그 전에 했던 변경을 아무일도 없던 것처럼 모두 되돌린다.

계좌 이체로 예를 들자면

중간에 오류가 발생했을 경우

처음으로 되돌아가서 송금할려던 금액을 되돌려 받아야한다.

 

 

Transaction의 특징 

원자성, 일관성, 독립성


원자성(All or Nothing)

Transaction이 데이터 베이스에 모두 반영 또는 전혀 반영되지 않아야 한다.

작업 단위 별로 이루어 져야 사람이 다루는 데 문제가 없다.

Transaction의 단위로 데이터가 처리되지않으면

설계한 개발자는

데이터 처리 시스템을 이해하기 힘들고 원인 찾기가 힘들다.


일관성(Keeps Data Correct)

트랜잭션의 작업 처리 결과가 항상 일관성이 있어야한다.(결과물이 같아야한다)

 

Transaction이 진행되는 동안

데이터베이스가 변경이 되어도 업데이트 된 데이터베이스로 Transaction이 진행되는 것이 아닌

 

처음에 Transaction을 진행하기 위해서 참조한 데이터 베이스로 진행이 된다.

 

위의 과정을 거침으로
각 사용자는 일관성 있는 데이터를 확인할 수 있다.

독립성(Independent)

하나의 Transaction이 실행되고 있다면

다른 Transactiondms 연산에 끼어들 수 없다.

 

 

https://hs-backend.tistory.com/126

 

스파르타 부트캠프 Spring Master 2강 영속성 컨텍스트

영속성 컨텍스트란 지속성을 의미한다(persistence) Persisten를 객체의 관점으로 해석해보았을 경우객체가 생명(객체가 유지되는 시간)이나공간(객체의 위치)을 자유롭게 유지하고이동할 수 있는

hs-backend.tistory.com

https://hs-backend.tistory.com/127

 

스파르타 부트캠프 Spring Master 2강 영속성 컨텍스트 기능

영속성 컨텍스트는 Entity객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간https://hs-backend.tistory.com/126 스파르타 부트캠프 Spring Master 2강 영속성 컨텍스트영속성 컨텍스트란 지속성을 의미한

hs-backend.tistory.com

 

 

반응형