개발 격리 란 무엇입니까? -techopedia에서 정의

격리 란 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-격리 란 무엇입니까?

데이터베이스와 관련하여 격리는 작업에서 구현 된 변경 내용이 다른 병렬 작업에 표시되는시기와 방법을 지정합니다. 트랜잭션 격리는 모든 트랜잭션 시스템에서 중요한 부분입니다. 다른 사용자 조치에 의해 사용자 데이터에 영향을 미치지 않는 쿼리에 의해 검색된 데이터의 일관성 및 완전성을 처리합니다. 데이터베이스는 높은 수준의 격리를 유지하기 위해 데이터에 대한 잠금을 획득합니다.

Techopedia는 격리를 설명합니다

데이터 잠금 정도를 제어하기 위해 여러 격리 수준이 정의됩니다. 격리 수준이 높으면 시스템에 교착 상태가 발생하여 잠금 오버 헤드가 발생할 수 있습니다. 커밋되지 않은 읽기 :이 수준은 읽기 데이터가 테이블 또는 쿼리의 다른 부분과 일치하지 않고 커밋되지 않은 더티 읽기를 처리합니다. 여기서 데이터는 검증, 검증 및 처리없이 테이블 블록에서 직접 읽습니다. 따라서 데이터는 가능한 더럽습니다. 커밋 된 읽기 :이 경우 쿼리가 반환하는 행은 쿼리가 시작될 때 이미 커밋 된 행입니다. 조회가 시작되기 전에 커미트가 완료되면 결과가 조회 출력에 표시되지 않습니다. 반복 읽기 :이 경우 쿼리에서 반환 된 행은 트랜잭션이 시작될 때 커밋됩니다. 변경 사항은 트랜잭션에 없으므로 쿼리 결과에 나타나지 않습니다. 직렬화 가능 :이 수준에서 트랜잭션은 연속적으로 완전히 분리 된 방식으로 발생합니다. Oracle 및 Postgre SQL과 같은 데이터베이스는 때때로 일련의 트랜잭션 순서를 보장하지는 않지만 트랜잭션의 모든 읽기가 데이터베이스의 일관된 스냅 샷이고 스냅 샷 이후에 작성된 다른 동시 업데이트와 충돌이 발생하지 않는 경우에만 트랜잭션 커밋에서 스냅 샷 격리를 지원합니다. 스냅 샷 격리에서 허용되는 이상은 일관성을 유지하는 트랜잭션을 인터리빙하여 데이터 일관성을 위반할 수 있습니다. 이러한 충돌은 업데이트 충돌 또는 인공 잠금을 도입하여 제거 할 수 있습니다. 모든 데이터베이스는 사용자가 기본 격리 수준을 설정할 수 있도록합니다. 완벽한 격리 수준을 선택하면 응용 프로그램에서 더티 읽기, 반복 가능한 읽기 및 팬텀 읽기와 같은 오류가 발생하지 않습니다. 첫 번째 트랜잭션이 두 번째 트랜잭션에 의해 커밋되지 않은 변경 사항을 읽을 때 더티 읽기가 발생합니다. 동일한 트랜잭션 중에 다시 읽은 경우 데이터 읽기가 동일하게 유지되면 반복 가능한 읽기입니다. 팬텀 읽기는 삽입 전에 트랜잭션이 추가 한 새 레코드를 지적 할 때 발생합니다. 읽기 잠금 : 읽기 잠금은 트랜잭션이 끝날 때까지 트랜잭션 중에 데이터 읽기 변경을 방지하여 반복 가능한 읽기 사례를 제거합니다. 다른 트랜잭션은이 데이터를 읽을 수 있지만 쓰기 또는 변경 액세스는 제공되지 않습니다. 쓰기 잠금 : 쓰기 잠금은 다른 트랜잭션이 트랜잭션이 끝날 때까지 데이터를 변경하지 못하게합니다. 독점 쓰기 잠금 : 독점 쓰기 잠금은 다른 트랜잭션이 현재 트랜잭션이 끝날 때까지 데이터를 읽거나 변경하지 못하게합니다. 스냅 샷 : 스냅 샷은 트랜잭션이 시작될 때 데이터를 고정 된보기입니다. 더티 읽기, 반복 불가능 읽기 및 팬텀 읽기를 방지합니다. 이 정의는 데이터베이스와 관련하여 작성되었습니다.
격리 란 무엇입니까? -techopedia에서 정의