낙관적 병행제어: Difference between revisions

From IT Wiki
(새 문서: ;Optimistic Concurrency Control * 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사 * 트랜잭션 수행 동안 그...)
 
No edit summary
Line 6: Line 6:
* 장기 트랜잭션 철회시 자원낭비 가능성이 있어, 동시 사용 빈도가 낮은 시스템에서 주로 사용
* 장기 트랜잭션 철회시 자원낭비 가능성이 있어, 동시 사용 빈도가 낮은 시스템에서 주로 사용


== cf. 비관적 병행제어 ==
=== cf. 비관적 병행제어 ===
;Pessimistic Concurrency Control
;Pessimistic Concurrency Control
* '낙관적 병행제어'란 충돌이 있을 것을 가정한 기존 로킹 방식에 대한 다른 접근
* '낙관적 병행제어'란 충돌이 있을 것을 가정한 기존 로킹 방식에 대한 다른 접근
* 기존의 로킹 방식 등은 '비관적 병행제어'로 분류 가능(해당 용어는 잘 사용하지 않음)
* 기존의 로킹 방식 등은 '비관적 병행제어'로 분류 가능(해당 용어는 잘 사용하지 않음)

Revision as of 19:48, 25 August 2019

Optimistic Concurrency Control
  • 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사
  • 트랜잭션 수행 동안 그 트랜잭션을 위해 유지되는 데이터 항목들의 지역 사본에 대해서만 갱신
  • 트랜잭션 종료 시에 동시성을 위한 트랜잭션 직렬화가 검증되면 일시에 DB로 반영
  • 장기 트랜잭션 철회시 자원낭비 가능성이 있어, 동시 사용 빈도가 낮은 시스템에서 주로 사용

cf. 비관적 병행제어

Pessimistic Concurrency Control
  • '낙관적 병행제어'란 충돌이 있을 것을 가정한 기존 로킹 방식에 대한 다른 접근
  • 기존의 로킹 방식 등은 '비관적 병행제어'로 분류 가능(해당 용어는 잘 사용하지 않음)