2011-04-19 2 views
4

다중 사용자 시스템에서 데이터베이스 트랜잭션의 동시 실행이 의미하는 것은 무엇입니까? 동시성 제어가 필요한 이유는 무엇입니까?다중 사용자 시스템에서 데이터베이스 트랜잭션의 동시 실행이 의미하는 것은 무엇입니까? 동시성 제어가 필요한 이유는 무엇입니까?

문제가 있습니다. 동시성 제어에 대한 비공식적 인 예는 무엇입니까? 도움을 주시면 대단히 감사하겠습니다.

답변

2

글쎄, 이것은 간단합니다 ... 은행이 있고, 동시에 두 사람이 € 100을 가진 계좌에서 € 100을 인출하려고 시도한다고 가정 해보십시오. 이것은 동시 작업입니다.

당신 중 하나만 100 유로를 인출 할 수 있는지 확인해야합니다. 이것이 동시성 처리입니다.

4

다중 사용자 시스템에서 데이터베이스 트랜잭션을 동시에 실행하면 여러 사용자가 동시에 동일한 데이터베이스를 사용할 수 있습니다. 동시성 제어는 데이터베이스의 불일치를 피하기 위해 필요합니다.

우리가 모두 같은 은행 계좌에 액세스 할 수있는 두 명의 사용자, 앨리스와 밥을 가지고 가정 : 여기

이 시나리오는 불일치로 이어질 수있는 방법의 예입니다. 앨리스는 100 달러 예치하고 밥은 200 달러를 인출하려고합니다. 여기에, 계정에 $ 500이됩니다 가정하면 그들이 같은 시간에 자신의 작업을 수행 할 경우 실행 일어날 수있는 방법은 다음과 같습니다

  1. 앨리스 초기 양을 얻는다 (X = $ (500))
  2. 밥은 초기 양을 얻는다 (X = $ 500)
  3. 앨리스 예금 $ 50 (X + 100) = $ 600
  4. 밥 철회 $ 200 (X - 200) = $ 300
  5. 앨리스는 뉴 밸런스 ($ 600)
  6. 밥 새로운 BAL 절약 절약 ance ($ 300)

두 작업이 모두 $ 400이어야합니다. 이제 데이터베이스가 일관성없는 상태에 있습니다.

동시성 제어는 앨리스가 작업을 완료 할 때까지 데이터베이스에 임시 "잠금"을 제공하여 불일치를 방지 할 수 있습니다.

-2

여러 트랜잭션이

넣어 및 자원 활용 througui 개선 된 데이터를 업데이트 할 수 있도록 허용, 내가 언급 한 용어에 대답하기 위해 최선을 노력하고 있어요되지 않도록 잘하지만

0

내 영어 대기 시간 감소 .. :)

내 의견으로는 작업이 너무 빨라서 동시에 사용자 수에 따라 작업하는 것처럼 보일 수 있습니다 .... 동시에 작업을하는 것은 병렬로 작업하는 것을 의미합니다. 그러나이 donot은 동시 발생의 경우 ... 동시 실행에서 한 번에 하나의 동작 만 수행 한 다음 두 번째 동작, 세 번째 및 곧 수행 할 수 있습니다. 이 일을 처리하는 것은 너무 빠르므로 사람이 기계가 평행하게 일한다고 생각하게됩니다. 동시에)

관련 문제