반응형 격리성2 동시성 제어와 Snapshot Isolation 이전 글에서 트랜잭션의 격리성과 격리 수준에 따라 발생할 수 있는 문제점을 알아보았다 그렇다면, 정말 데이터의 일관성이 중요해 절대 일관성이 깨지면 안 되는 중요 정보에 대해 높은 동시성을 제공 데이터베이스의 일관성을 깨지 않고 데이터를 제공해 줄 수 있는 방법은 높은 격리 수준을 유지하는 것뿐인가? Serializable Read을 보면 락을 걸어 테이블의 접근을 막는다고 했다 락을 걸어 데이터 일관성이 깨지지 않는 높은 격리성을 제공할 수 있지만 이는 데드락을 쉽게 초래할 수 있다 그렇다면 트랜잭션 격리 수준에 이어서 Lock에 대한 개념을 좀 더 알아보고 DBMS에서 제공되는 동시성 제어 방법에 대해 알아보도록 하자 동시성 제어 다중 사용자에 의해 작용하는 다중 트랜잭션에서 Database를 보호하.. 2023. 9. 11. 트랜잭션 격리수준 이전 글에서 트랜잭션에 대해서 알아보았다 트랜잭션은 데이터베이스 상태를 변환하는 작업의 단위를 말하며 연산들의 묶음이라고 하였다 트랜잭션의 특징 4가지 ACID를 정리하면서 트랜잭션을 잘 설계하지 못하면 동시성 문제가 발생할 수 있음을 알 수 있었다 그에 따라 트랜잭션에서는 동시성 문제가 자주 발생할 수 있는 혹은 자주 발생하진 않지만 동시성 문제가 중요한 상황에서 이를 보장해 주기 위해 격리 수준을 설정할 수 있다 격리 수준을 설정하는 것은 Lock을 건다는 것인데 DBMS에서는 락을 거는 대신 로그를 이용해 동시성 문제를 하는 방법도 있다 MVCC를 알아보기 전에 트랜잭션 격리수준을 정리하며 Lock 메커니즘을 이해해 본다 트랜잭션 격리성 트랜잭션의 특징 중 격리성이 존재했다 격리성이란 동시에 실행되.. 2023. 9. 9. 이전 1 다음 반응형