[DB] 트랜잭션 격리 수준 알아보기
·
DB
1. Transaction 격리 수준 (isolation level) 트랜잭션의 격리 수준이란, 여러 트랜잭션이 동시에 처리될 때 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 말지를 결정하는 것이다. - Real MySql 8.0 트랜잭션 격리 수준의 정의는 위와 같습니다. 그렇다면 해당 트랜잭션 격리 수준을 어떠한 기준으로, 무엇을 설정해야 할까요? 결론부터 말하면, 트랜잭션 격리 수준과 관련된 키워드는 '동시성'과 '데이터 정합성'입니다. 따라서 격리 수준을 어떻게 설정하는지에 따라서 동시성과 데이터 정합성이 달라지기 때문에 DB의 트랜잭션 격리 수준을 설정할 때 서비스의 동시성과 데이터 정합성 중 무엇이 중요한지, 얼마나 중요한지를 판단해보고 설정하는 것이 중..
[DB] 트랜잭션이란? (feat. ACID 특성)
·
DB
🎯 1. 트랜잭션이란? 💡 데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다. 👉DB의 상태를 변경시킨다는 것은 INSERT, UPDATE, DELETE, SELECT SQL문을 실행하는 것이다! 이때, 작업 단위는 하나의 SQL문이 아닐 수 있다. ⚙️ 작업 단위 예시 사용자가 계좌에 입금을 진행한 후에 입금 후 금액을 보는 예시를 생각해보자. 설계 시 사용자가 금액을 입금하는 UPDATE -> 금액 조회 SELECT 문으로 설계할 것이다. 이때, 작업 단위는 금액을 입금하는 UPDATE -> 금액 조회 SELECT 문이다. 따라서 2개의 SQL문이 하나의 트랜잭션으로 구성되는 것이다. 이처럼 하나의 SQL이 아닌 여러 SQL문이 하나의 트랜잭션으로 구성될 수 있다. 🎯 2. 트랜잭션의 성질..
BE_성하
'Transaction' 태그의 글 목록