전체 글(185)
-
스프링의 트랜잭션 문제 해결 방법 - 트랜잭션 템플릿까지
보호되어 있는 글입니다.
2024.02.26 -
자바의 예외 계층 - 체크 예외와 언체크 예외
보호되어 있는 글입니다.
2024.02.26 -
스프링 DB 트랜잭션의 이해 - 코드 작성
보호되어 있는 글입니다.
2024.02.26 -
스프링 DB 트랜잭션의 이해 - 기본 개념
보호되어 있는 글입니다.
2024.02.25 -
MySQL-Workbench에서 동시성을 확인하는 방법
[ MySQL 동시성 확인 방법 ] 우선 DB에 접속을 하면 각각의 창 별로 세션을 부여 받는다. 이 때 세션이 다른 것끼리는 독립된 포어그라운드 쓰레드가 담당을 하며, 해당 포어그라운드 쓰레드는 사용자로부터 SQL문을 입력 받고 처리해주는 역할을 담당해 백그라운드에 요청을 하는 역할을 한다. 그렇기 때문에 동시성과 관련해서 개별의 창은 다른 쓰레드에서 관리를 하므로 아직 커밋이 되지 않았을 때 dirty read가 일어나는 모드로 설정하지 않은 이상 서로 다른 값을 갖는게 맞다. 이런 상태에서 일어날 수 있는 일들을 알아보기 위해서는 서로 다른 세션을 갖는 별도의 쓰레드창을 열어주어야 한다. 1. MySQL Installer에서 서버 켜주기 Reconfigure 버튼을 누르고 하란대로 해서 서버를 켜주..
2024.02.25 -
MySQL의 격리 수준
[ MySQL의 격리 수준이란? ] 트랜잭션과 락은 떨어질 수가 없는 관계이다. 그리고 락에 따라서 더 데이터가 정합적으로 작동하게 만들 수록 동시성에 관한 문제가 생길 수 밖에 없다. 대부분의 DB는 이 정도를 옵션으로 정하게 해준다. MySQL에는 총 4가지의 옵션이 있는데, 이 옵션들에 관해서 알아보고 어떻게 이를 처리하는지 알아보자. 실습을 위한 세팅을 어떻게 하는지는 다음 글을 참고 바란다. 격리 수준 별 문제점 요약 정보: DIRTY READ NON-REPEATABLE READ PHANTOM READ READ UNCOMMITTED 발생 발생 발생 READ COMMITTED 없음 발생 발생 REPEATABLE READ 없음 없음 발생(InnoDB는 없음) SERIALIZABLE 없음 없음 없음 ..
2024.02.25