Backend/Database (2) 썸네일형 리스트형 [동시성 제어] JPA와 PostgreSQL을 활용한 동시성 제어 전략 (낙관적 락 vs 비관적 락) Why?동시에 같은 데이터를 접근하거나 변경하는 상황은 자주 발생한다. ex) 재고 수량의 변경 등이 상황에서 데이터를 안전하게 관리하기 위한 2가지 방법낙관적 락 (Optimistic Lock)비관적 락 (Pessimistic Lock)1. 낙관적 락 (Optimistic Lock)낙관적 락은 각 버전에 대한 정보를 가지고, 트랜젝션이 완료될 때 데이터 변경의 충돌을 감지한다. (별도로 DB 자체에 락을 걸지 않는다.)JPA에서는 @Version 어노테이션으로 사용장점락 대기 시간이 없어 동시성 성능 UP충돌이 없으면 빠르게 병행 처리가 가능JPA가 버전 관리를 자동으로 처리해 구현이 간편단점충돌 발생 시 트랜잭션이 롤백되며, 재시도나 사용자 알림 처리가 필요 (충돌 발생 시 별도의 로직 필요)빈번한 .. H2 관리 웹페이지에서 h2 설정이 사라졌을 때 웹페이지에서 이리저리 만져보고 있을 때 갑자기 h2 데이터 베이스가 사라져서 한참 헤맸다. 위 이미지에서 설정 목록을 펼쳐도 H2가 없어서 당황한 기억이 있다. 재설치해도 그대로여서 뭐가 문젠지 검색해 본 결과 C:\Users\사용자명 -> 경로에 h2 database 설정 파일을 초기화 해주어야 다시 나타난다 #H2 Server Properties #Fri Nov 12 13:47:26 KST 2021 0=Generic JNDI Data Source|javax.naming.InitialContext|java\:comp/env/jdbc/Test|sa 1=Generic Teradata|com.teradata.jdbc.TeraDriver|jdbc\:teradata\://whomooz/| 10=Generic D.. 이전 1 다음