1110 트랜잭션
트랜잭션이란? DB에서 수행하는 작업 단위 mysql에서는 기본적으로 sql ; 한 줄이 하나의 작업 단위로 설정되어 있음 SELECT @@AUTOCOMMIT; 로 확인 1이면 설정됨 0이면 해제됨 SET AUTOCOMMIT = FALSE; AUTOCOMMIT
docc.tistory.com
초록색 글씨는 0108 스프링 트랜잭션 내용으로 추가
트랜잭션 특징 | |
원자성 (Atomicity) | -트랜잭션 내의 모든 내용이 적용되거나 하나라도 안되면 모든 내용이 적용 안 되어야한다 - 트랜잭션 내의 여러 SQL이 모두 다 실행되거나, 모두 다 실행되지 않거나 -두개의 sql이 실행될 때 @Transectional 어노테이션을 달아주면 원자성 훼손을 방지할 수 있다 |
일관성 (Consistency) | -작업 처리 결과가 항상 일관성이 있어야 한다. 트랜잭션이 진행되는 동안 DB가 변경되더라도 원래 DB에 트랜잭션 처리를 마무리 하고 변경 -데이터 손상이나 오류 때무에 테이블의 무결성을 헤치는 일이 없어야 한다 |
독립성 (Isolation) | -어떤 트랜잭션이라도 다른 트랜잭션 연산 중간에 끼어들 수 없다. - 여러 스레드가 동시에 읽기, 쓰기 작업을 할 떄 각각의 트랜잭션은 영향을 미치지 않아야 한다 |
영구성 (Durability) | -트랜잭션이 완료되면 데이터가 영구적으로 반영되어 있어야 한다. |
0108 낙관적 락, 비관적 락 추가
낙관적 락, 비관적 락(쉬워서 자주 사용 됨)
'스프링 키워드' 카테고리의 다른 글
Hexagonal Architecture(헥사고날 아키텍쳐) (0) | 2024.01.11 |
---|---|
JWT (0) | 2024.01.04 |
N+1 문제 (0) | 2023.12.29 |
인터페이스 (0) | 2023.12.26 |
디스패쳐 서블릿(Dispatcher Servlet) (0) | 2023.12.14 |