동시 데이터 액세스 관리

특정 리소스에 여러 사용자가 동시에 액세스하는 것을 동시 액세스라고 합니다. 동시 데이터 액세스를 위해서는 다른 사용자가 현재 사용하고 있는 리소스를 여러 사용자가 수정하려 할 때 역효과가 발생하지 않도록 하는 메커니즘이 필요합니다.

항목

설명

동시성 효과

각각의 동시성 제어 수준은 그 효과가 다릅니다. 응용 프로그램에 적합한 동시성 제어 수준을 선택하려면 이러한 효과를 이해하는 것이 중요합니다.

동시성 제어 유형

동시성 제어 메커니즘은 다음과 같이 분류됩니다.

  • 낙관적 동시성 제어는 읽기/쓰기 트랜잭션 차단을 최소화하는 방식으로 작동합니다. 낙관적 동시성 제어 방식을 사용하는 경우 읽기 작업에서는 데이터 수정 작업을 차단하는 읽기 잠금이 사용되지 않습니다.

  • 비관적 동시성 제어는 읽기 작업의 현재 데이터 액세스를 보장하고 읽고 있는 데이터가 수정되지 않도록 하는 방식으로 작동합니다. 비관적 동시성 제어 방식을 사용하는 경우 읽기 작업에서는 데이터 수정을 차단하는 읽기 잠금이 사용됩니다. 읽기 작업에 의해 적용된 잠금은 읽기 작업을 완료하면 해제됩니다.

데이터베이스 엔진의 격리 수준

트랜잭션 격리 수준은 트랜잭션에서 낙관적 동시성 제어와 비관적 동시성 제어 중 어떤 방식을 사용할지 지정하고 데이터에 동시에 액세스하는 다른 트랜잭션으로부터 보호하는 수준을 정의합니다.