DB Lock

CH_Hwang·2022년 12월 1일
0

DB

목록 보기
1/2

Shared Lock VS Exclusive Lock

Shared Lock

  • Read lock 이라고도 불린다.
  • 하나의 리소스에 동시에 여러 shared lock이 걸릴 수 있음.
  • 동시에 여러 read 작업이 가능하다.
  • 리소스를 동시에 읽을 수 있게 하되 변경은 불가하게 하는 것.

Exclusive lock

  • Write lock 이라고도 불린다.
  • 어떤 transaction에서 데이터를 변경하고자 할 때 해당 테이블 혹은 row에 다른transaction에서 읽거나 쓰지 못하게 하기위해 건다.

Transaction Isolation Level

Read Committed

  • 대부분의 DBMS에서 기본으로 설정
  • 커밋된 데이터만 읽어오는 격리 수준
  • Transaction A에서 데이터를 생성하고 commit하기 전이라면, Transaction B는 해당 데이터를 읽을 수 없다.

Repeatable Read

  • 데이터 조회 시 항상 동일한 데이터 응답을 보장한다.
  • Transaction이 완료 될때까지 다른 Transaction은 해당 데이터를 수정할 수 없다.
  • 데이터를 select * from A where condition이라고 지정했다면 condition에 해당하는 row를 insert하는 것은 가능하다.

Serializable

  • Transaction이 완료될 때까지, 다른 Transaction은 해당 데이터에 대한 수정/입력이 불가능하다.

0개의 댓글