Skip to main content

스냅 샷 격리 란 무엇입니까?

snapshot 격리는 트랜잭션 처리의 속성이며 트랜잭션에서 작성된 모든 읽기를 보장하는 데이터베이스와 동일한 데이터베이스 스냅 샷을 참조하십시오.이는 거래가 업데이트가 다른 동시 업데이트와 충돌하지 않으면 요청을 성공적으로 처리 할 것을 약속합니다.스냅 샷 분리는 동시성에서 일반적으로 발생하는 문제를 피하는 격리 수준을 제공하는 다중 버전 동시성에 대한 제어 알고리즘입니다.이 격리는 최소한의 직렬화 이상으로 작동하는 여러 다른 구조화 된 쿼리 언어 (SQL) 서버에 의해 구현되었습니다.그러나 스냅 샷 격리가 서버에서 완전한 직렬화 가능성을 보장하지는 않습니다.

많은 주요 데이터 관리 시스템에는 직렬화 할 수없는 기본 격리 수준이 포함되어 있으며 종종 스냅 샷 분리없이 직렬화의 이상이 발생합니다.이로 인해 대규모 시스템이 매일 여러 차례의 격리 오류가 발생할 수 있으며, 이는 데이터가 손상 될 수 있습니다. 특히 데이터의 창고 응용 프로그램에서 발견되는 데이터가 손상 될 수 있습니다.이 상태에서 시스템이 작동 할 수있는 이유는 심각한 오류가 발생하지 않으면 분리 수준이 낮은 응용 프로그램이 효율성을 향상시킬 수 있기 때문입니다.시스템에 스냅 샷 분리를 포함하여 이러한 이상 및 MDASH가 줄어 듭니다.작동 시간과 고려한 오류의 양을 고려할 때 mdash;효율성을 더욱 증가시킵니다.

일부 데이터베이스는 전체 직렬화 성과는 달리 스냅 샷 격리를 제공하지만 이러한 유형의 격리를 사용하여 데이터베이스 내에서 발생할 수있는 이상도 있습니다.이러한 이상은 일관성 인터 리브를 유지하거나 교대 레이어로 배열되기 때문에 데이터 일관성 위반으로 이어질 수 있습니다.문제를 해결하고 이와 같은 이상을 방지하는 한 가지 방법은 인공 잠금 장치와 충돌 업데이트를 도입하여 응용 프로그램을 조작하는 것입니다.그러나 이러한 이상을 해결하는 다른 방법은 데이터베이스 시스템의 동시성 제어 알고리즘을 수정하여 런타임시 스냅 샷 격리의 이상의 자동 탐지 및 예방을 수행하는 것입니다.이것은 중요하거나 임의의 응용 프로그램에 대해 수행 할 수 있지만 직렬화 가능한 분리를 제공합니다.

새로운 SQL 서버는 특정 응용 프로그램에서 동시성 향상을위한 새로운 수준의 스냅 샷 분리뿐만 아니라 새로운 수준의 격리를 도입 할 수있었습니다.SQL 서버의 초기 버전이 동시성의 기초로 잠금을 사용한 경우 스냅 샷 격리는 성능 향상을위한 행 버전의 향상에 달려 있습니다.이 성능은 읽기 또는 쓰기 차단으로 시나리오를 피함으로써 시나리오를 만날 때이 성능을 향상시킵니다.