Skip to main content

동시 제어 란 무엇입니까?

data 데이터 관리 프로그래밍에서 동시성 제어는 동시 작업에 의해 정확한 결과를 생성 할 수 있도록 설계된 메커니즘입니다.이러한 결과는 적시에 얻어야합니다.동시성 제어는 사용자가 얻을 수있는 검색 가능한 정보가있는 데이터베이스에서 종종 나타납니다.이것은 모든 트랜잭션이 일련의 특정 순서로 실행될 경우 결과가 얻을 수있는 특정 상태에있는 트랜잭션 세트와 접촉하는 데이터가 결과를 얻을 수 있다는 것입니다.때로는 두 개의 트랜잭션에 의해 수정 된 결과에 따라 해당 데이터가 유효하지 않습니다. 동시에 거래는 상호 배제 사용 및 트랜잭션을 결정하는 리소스를 작성하는 것을 포함하여 거래를 다시 실행할 수있는 여러 가지 방법이 있습니다.입장.그러나 이것은 과잉이며 프로그래머가 분산 시스템에서 동시성 제어의 혜택을받을 수 없습니다.동시성 제어를 통해 여러 트랜잭션을 동시에 실행하면서 이러한 트랜잭션을 서로 멀리 유지하여 선형화 가능성을 보장합니다.동시성 제어를 구현하는 한 가지 방법은 자원을 공유하는 직렬 거래 실행을위한 특정 리소스에 대한 독점 잠금을 사용하는 것입니다.트랜잭션은 사용하려는 객체를 잠그고, 다른 트랜잭션이 잠긴 객체를 요청하는 경우, 해당 트랜잭션은 개체가 잠금 해제 될 때까지 기다려야합니다.리소스 잠금을 발행하는 서버.이는 중앙 집중식 상호 배제를위한 서버와 매우 유사하며, 고객이 잠금을 요청하고 특정 리소스에 대한 잠금 장치 릴리스에 대한 메시지를 보낼 수 있습니다.그러나 일련의 실행의 보존은 동시성 제어를 위해서는 여전히 필요하다.두 개의 개별 트랜잭션이 유사한 객체 세트에 액세스하면 결과는 유사해야하며 이러한 트랜잭션이 특정 순서로 실행 된 것처럼 마치.자원에 대한 액세스에 대한 순서를 보장하기 위해 2 상 고정이 도입되기 위해, 이는 별도의 잠금 장치를 해제 할 때 트랜잭션이 새 잠금을 허용하지 않음을 의미합니다.트랜잭션이 필요한 잠금을 취득하는 단계.다음 단계는 수축 단계로 간주되며 트랜잭션에는 잠금 장치가 릴리스됩니다.이러한 유형의 잠금에는 문제가 있습니다.트랜잭션이 중단되면 다른 트랜잭션은 중단 된 트랜잭션으로 수정되고 잠금 해제 된 객체의 데이터를 사용할 수 있습니다.이로 인해 다른 거래가 중단 될 것입니다.