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

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

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

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

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

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?