10분 테코톡 2

교착상태

교착 상태(Deadlock) 10분 테코톡을 듣고 작성한 글입니다. 영상링크 바로 직전 학기에 전공과목인 운영체제를 들어서 교착상태에 대해 기억이 아주 생생한 상태! 복습한다고 생각하고 들었당. 교착 상태 개념 프로세스나 쓰레드가 결코 일어날 수 없는 특정 이벤트를 기다리는 상태를 교착 상태라고 말한다. 실제 시스템에서의 교착상태는 요청이 많이 발생하는 DB에서 흔하게 발생한다. 그 중에서도 MySQL의 상호거래패턴에서 자주 발생한다고 한다. 트랜잭션 1은 A가 B에게 자신의 포인트를 차감하고 상대방에게 전달해준다. 트랜잭션 2는 B가 A에게 자신의 포인트를 차감하고 상대방에게 전달해준다. 두 트랜잭션이 동시에 실행됐다고 가정해보자. 트랜잭션 1은 A의 포인트를 -10 차감하고 lock(점유)을 건다. ..

테코톡 스터디 2021.07.23

트랜잭션

트랜잭션 영상 링크 예지니어스님의 10분 테코톡을 보고 작성되었습니다. 스프링을 사용하다보면 @Transactional 애노테이션을 많이 사용하는데 트랜잭션이 뭘까? 트랜잭션이란? 여러 쿼리를 논리적으로 하나의 작업으로 묶어주는 것 Example 거래 과정 구매자의 계좌에서 10000원 출금 판매자 계좌에 10000원 입금 거래가 일어날 때 실행되는 쿼리 UPDATE문 : 구매자의 계좌에서 10000원 빼기 UPDATE문 : 판매자의 계좌에 10000원 더하기 서버에 문제가 발생해 구매자의 계좌에서는 10000원이 빠져나갔지만 판매자의 계좌에는 10000원이 들어오지 않는 문제가 발생할 수 있다. 이를 방지하기 위한 것이 트랜잭션이다. 트랜잭션 쿼리를 논리적으로 하나로 묶어 한번에 모두 실행되거나 모두 ..

테코톡 스터디 2021.07.17
반응형