해결된 질문
작성
·
472
답변 1
0
안녕하세요 seyoung5744님. 답이 많이 늦었습니다ㅜ 죄송합니다.
질문에 대한 답을 드릴게요! 동시성 제어와 트랜잭션의 격리 수준은 밀접한 관련이 있습니다. 동시성 제어는 여러 트랜잭션을 동시에 처리할 때 데이터의 일관성을 보장하는 방법을 제공하고, 트랜잭션의 격리 수준은 한 트랜잭션에서 다른 트랜잭션이 변경하거나 생성한 데이터를 어느 정도 보거나 영향을 받을 수 있는지를 결정합니다.
SQL 표준에서는 4개의 트랜잭션 격리 수준이 정의되어 있습니다:
READ UNCOMMITTED(가장 낮은 격리 수준)
READ COMMITTED( 다른 트랜잭션에서 이미 커밋된 데이터만 볼 수 있다)
REPEATABLE READ
SERIALIZABLE.(가장 높은 격리 수준으로, 트랜잭션들이 순차적으로 실행되는 것처럼 보인다. 이 격리 수준에서는 동시성 제어가 가장 엄격하게 적용됩니다. )
동시성 제어 메커니즘 중 하나인 '잠금(lock)'은 위에 언급해드린 각각의 격리 수준을 지원하기 위해 사용된다고 생각하시면 됩니다. 어떤 수준의 격리가 필요한지, 어떤 동시성 문제가 발생할 수 있는지를 고려하여 트랜잭션의 격리 수준을 적절히 선택해야 합니다.
질문에 대한 답이 됐을까요!!?
더 궁금하신점이 있다면 자유롭게 질문 주세요 :)