Database 2

트랜잭션 격리 수준 / Transaction Isolation Level

트랜잭션 격리수준(isolation level)이란 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것이다.크게 아래 4단계로 분류한다.READ UNCOMMITTED어떤 트랜잭션의 변경내용이 COMMIT이나 ROLLBACK과 상관없이 다른 트랜잭션에서 보여진다.사용되지 않는 격리수준READ COMMITTED어떤 트랜잭션의 변경 내용이 COMMIT 되어야만 다른 트랜잭션에서 조회할 수 있다.Oracle DB에서 사용NON-REPETABLE READ 정합성 문제 발생하나의 Transaction 내에서 READ를 여러 번 할 경우 결과가 다른 문제REPEATABLE READ트랜잭션이 시작되기 전에 커밋된 내용에 대해서만 조회한다.즉, 자신의 Transaction Id보다..

Data 2024.07.07

Spring JPA Transactional과 Transaction Isolation Level 격리수준 실습

2022.11.04 - [Backend & Spring (스프링)] - Spring Data JPA와 Hibernate. 그리고 Persistence Spring을 이용해 RDB를 다루면 JPA, Transactional과 DB 격리 수준에 대해서 많이 들어보았을 것이다.다만, 각각에 대해서는 잘 들어봤더라도서로 정확히 어떻게 동작하는지, 어떤 경우에 에러가 발생하는지에 대한 정보는 부족하다. 이 글에서는 특히 Transactional과 Database Isolation Level에 대한 관계를 실제 코드를 이용해서 실험해보고자 한다. 격리 수준에 대한 자세한 내용은 다음 링크 참고 - 2024.06.21 - [Data] - 트랜잭션 격리 수준 / Transaction Isolation Level 현재 ..

Data 2024.06.21
반응형