트랜잭션 분리

트랜잭션 분리
거래 소개
하나의 업무 단위로 처리되는 일련의 조작의 집합
업무 내의 조작이 전부 집행되거나 전부 집행되지 않도록 보증하다
분리(Isolation)
거래 중에 진행되는 조작은 기타 거래의 성질에 영향을 주지 않는다.각 거래는 분리된 상태에서 조작해야 한다는 것이다.
트랜잭션 수준
표준 SQL

Pogresql (v12)

앞팔 제출
분리성
  • 기타 사무의 재연된 물건은 이미 수집되었다
  • 문제.
  • 트랜잭션 A: 테이블에 레코드 A 추가
  • 사무B:표에서SELECT→기록A나와
  • 트랜잭션 A: RollBack
  • - 거래 B가 기록 A를 취득했지만 기록 A는 DB→암시장 리더로 진입하지 못했다
    이온화
    분리성
  • PostgreSQL에서 이온화는 기본적인 분리 단계
  • 다른 트랜잭션에서 아직 제출하지 않은 데이터를 가져오지 않습니다.
  • 문제.
  • 테이프에 이미 A 가 기록되어 있습니다.
  • 트랜잭션 A: 레코드 A를 레코드 B로 업데이트합니다.
  • 사무B: 표에서 다시 SELECT→기록A 출현(기록B 없음)
  • 트랜잭션 A: COMMIT
  • 사무B: 표에서 다시 SELECT→기록B가 나타나기(기록A 없음)
  • - 트랜잭션 B가 동일한 질의를 두 번 수행했지만 결과가 다릅니다.- 중복 읽기 실패
    주의
  • PostgreSQL에는 피드백이 없습니다.
  • - PostgreSQL은 Multi-version conceurrency control을 사용하기 때문입니다.(자세한 내용은 알 수 없음)
    반복 지도
    분리성
  • Recormitid와 같지만 거래에서 같은 조회를 실행하면 항상 같은 결과가 나온다.
  • 문제.
  • 테이프에 이미 A와 B가 기록되어 있다.
  • 트랜잭션 A: 테이블의 모든 레코드를 계산합니다.→ 결과는 2.
  • 트랜잭션 B: 테이블에 레코드 C를 추가합니다.
  • 트랜잭션 B: Commiit.
  • 트랜잭션 A: 테이블의 모든 레코드를 계산합니다.→ 결과는 2.
  • 기록 C가 추가됐지만 거래 A의 결과는 3이 아닌 2였다.→ 환상의 리더십
  • 시리아
    분리성
  • 가장 엄격한 사무의 분리성
  • 거래는 동시에 진행되는 것이 아니라 순차적으로 진행된다.
  • 참고 자료

    좋은 웹페이지 즐겨찾기