비관성 동시성 제어 vs 낙관성 동시성 제어

xlwdn·2022년 10월 20일
0

비관성 동시성 제어 vs 낙관성 동시성 제어

동시성 제어


DBMS가 다수의 사용자를 가정하여, 동시에 다중 트랜잭션의 상호 간섭 작용에서 DB를 보호하는 것을 이야기한다.

동시성 제어를 위해 모든 DBMS가 공통적으로 Lock 기능을 제공한다.

비관적 동시성 제어


사용자들이 같은 데이터를 동시에 수정할 것이라 가정하고 데이터를 읽는 시점에 Lock을 걸고 트랜잭션이 완료될 때까지 유지하는 것.

  • select 시점에 Lock을 거므로 자칫 시스템 동시성을 심각학[ 떨어뜨릴 우려가 있음.
  • wait, 또는 nowait 옵션을 함께 사용하는 것이 바람직

낙관적 동시성 제어


  • 사용자들이 같은 데이터를 동시에 수정하지 않을 것이라 가정하고 데이터를 읽는 때는 Lock을 설정하지 않음.
  • 대신 수정 시점에 다른 사용자에 의해 값이 변경됐는지를 반드시 검사해야함.

0개의 댓글