트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말하며 데이터베이스에 접근하는 방법은 쿼리이므로, 즉 여러 개의 쿼리들을 하나로 묶는 단위를 말한다. 이에 대한 특징은 원자성, 일관성, 독립성, 지속성이 있으며 이를 한꺼번에 ACID 특징이
저번 글(\[JPA] @Transactional과 synchronized를 동시에 사용할 때의 DB 동기화 이슈)에 이어 이번엔 왜 멀티 쓰레드 환경에서 하나의 트랜잭션에서 하나의 row 데이터에 접근하여 데이터를 변경하는 쿼리를 날리고(flush), 다른 트랜잭션에서
트랜잭션 동시성 제어에 대해서 공부를 하는데 lock과 관련해서 많은 얘기가 나왔다. 생각보다 기본 개념이 안잡힌 부분들이 있는거 같아 이번 기회에 정리를 한 번 하고자 한다. InnoDB는 두 가지 유형의 row-level locking을 수행한다.shared Loc
프로젝트를 리팩토링하면서 @Lob을 사용한 필드가 MySQL에서 tinytext를 default로 맵핑하는 것을 볼 수 있었다(@Lob만 사용했을 때). tinytext는 0~255바이트만큼 데이터를 할당할 수 있는데 새로운 요구사항이 500자 이내의 한글을 입력할 수