서론낙관적 락은 데이터 충돌이 드물 것이라고 가정하고, 데이터를 수정할 때만 충돌을 검사합니다. 트랜잭션이 데이터를 수정하기 전까지는 락을 걸지 않고, 수정 시점에 데이터가 변경되지 않았는지 확인합니다. [DB] DB Lock이란 무엇일까❓ : 데이터 무결성을 지키는 다양한 DB Lock알아보기오늘날의 데이터베이스 시스템은 수많은 사용자와 프로세스가 동시에 데이터를 접근하고 수정하는 복잡한 환경에서 운영됩니다. 이러한 환경에서 데이터의 무결성과 일관성을 유지하는 것은pixx.tistory.com 본 글에서는 JPA의 @Version 어노테이션을 사용하여 낙관적 락을 구현하고, 낙관적 락을 사용하여 동시성 문제를 해결하는 동작을 확인해보겠습니다. @Version 어노테이션이란 ❓@Version 어노테이션..
분류 전체보기
본 글을 DB Lock에 대해서 공부한 지식을 정리한 글입니다. 비관적 락의 문제점 비관적 락(Pessimistic Lock)을 JPA를 통해서 확인을 하다가 궁금한점이 생겼는데, DB Lock의 필요성 중 업데이트 손실이 있습니다.업데이트 손실은 두 개 이상의 트랜잭션이 동일한 데이터를 읽고, 그 데이터를 기반으로 수정 작업을 수행할 때 발생합니다. 이러한 문제를 해결하기 위해서 DB Lock을 통하여 접근제어를 하면 데이터 무결성 문제를 해결할 수 있습니다. [JPA] 비관적 락(Pessimistic Lock)을 통한 동시성 제어 및 업데이트 손실(Lost Update)확인하기서론비관적 락은 데이터 충돌이 자주 발생할 것으로 가정하고, 데이터에 접근할 때마다 잠금을 걸어 다른 트랜잭션이 동시에 접근..
서론비관적 락은 데이터 충돌이 자주 발생할 것으로 가정하고, 데이터에 접근할 때마다 잠금을 걸어 다른 트랜잭션이 동시에 접근하지 못하게 합니다. [DB] DB Lock이란 무엇일까❓ : 데이터 무결성을 지키는 다양한 DB Lock알아보기오늘날의 데이터베이스 시스템은 수많은 사용자와 프로세스가 동시에 데이터를 접근하고 수정하는 복잡한 환경에서 운영됩니다. 이러한 환경에서 데이터의 무결성과 일관성을 유지하는 것은pixx.tistory.com [JPA] @Lock 어노테이션이란 무엇일까❓: 다양한 LockModeType 잠금 모드@Lock 어노테이션이란❓@Lock 어노테이션은 Spring Data JPA에서 제공하는 기능으로, JPA 리포지토리 메소드에 적용하여 특정 데이터베이스 쿼리에 대한 잠금 모드를 지..
@Lock 어노테이션이란❓@Lock 어노테이션은 Spring Data JPA에서 제공하는 기능으로, JPA 리포지토리 메소드에 적용하여 특정 데이터베이스 쿼리에 대한 잠금 모드를 지정하는 데 사용됩니다. 이 어노테이션은 동시성 제어를 위해 사용되며, 여러 트랜잭션이 동시에 동일한 데이터를 수정하려고 할 때 발생할 수 있는 충돌을 방지합니다.LockModeType의 잠금 모드 @Lock 어노테이션은 javax.persistence.LockModeType을 사용하여 JPA에서 지원하는 다양한 잠금 모드 중 하나를 지정할 수 있습니다. 이를 통해 특정 엔티티나 쿼리에 대해 잠금 정책을 설정하고, 트랜잭션이 안전하게 수행될 수 있도록 합니다. LockModeType.PESSIMISTIC_READ 비관적 읽기 잠..