Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 18f3d0d

Browse files
docs: Optimistic Concurrency vs Pessimistic Concurrency
1 parent 81aa0eb commit 18f3d0d

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
## Optimistic Concurrency vs Pessimistic Concurrency
2+
3+
#### 개요
4+
이번에는 낙관적 동시성 (Optimistic Concurrency)과 비관적 동시성 (Pessimistic Concurrency)의 차이에 대해 알아봅니다.
5+
6+
#### 낙관적 동시성 (Optimistic Concurrency)
7+
한 트랜잭션에서 특정 로우(Row)를 변경하려고 할 때
8+
다른 트랜잭션에서는 그 로우를 변경하지 않을 것이라고 `낙관적`으로 생각하여
9+
로우의 조회시에는 잠금을 설정하지 않고 로우의 수정 시점에 잠금을 설정하는 방식을 말합니다.
10+
11+
#### 비관적 동시성 (Pessimistic Concurrency)
12+
한 트랜잭션에서 특정 로우를 변경하려고 할 때
13+
다른 트랜잭션에서도 그 로우를 변경할 여지가 있다고 `비관적`으로 생각하여
14+
로우의 조회시에도 잠금을 설정하여 로우를 수정하는 시점까지 잠금을 설정하는 방식을 말합니다.
15+
16+
#### 성능
17+
비관적 동시성 방식을 사용하게 되면 로우의 무결성은 완벽하게 지켜지지만
18+
특정 로우를 조회하는 순간부터 잠금을 하게 되기 때문에
19+
많은 조회 및 수정이 발생하는 경우 좋은 성능을 기대할 수 없습니다.
20+
21+
그에 비해 낙관적 동시성 방식을 사용하게 되면 비관적 동시성 방식에 비해 좋은 성능을 기대할 수 있으나,
22+
데이터의 무결성, 데드락 등의 문제가 발생할 수 있는 우려가 있습니다.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /