ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 트랜잭션
    데이터베이스/트랜젝션, 동시성 제어, 회복 2018. 1. 29. 22:28

    트랜잭션 : DBMS 데이터베이스를 다룰 사용하는 작업의 단위

    트랜잭션은 전체가 수행되거나 전혀 수행되지 않아야 한다.

    트랜잭션은 데이터베이스에 저장된 테이블을 읽어와 주기억장치 버퍼에 저장, 수정한 데이터베이스에 다시 저장한다.

     

     

    트랜잭션의 성질

    원자성 : 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되지 않아야 한다.

    일관성 : 트랜잭션을 수행하기 전이나 수행한 후나 데이터베이스 무결성이 유지되어야 한다.

    고립성 : 수행 중인 트랜잭션에 다른 트랜잭션이 끼어들어 변경 중인 데이터 값을 훼손하는 일이 없어야 한다.

    지속성 : 수행을 성공적으로 완료한 트랜잭션은 변경한 데이터를 영구히 저장해야 한다.

    트랜잭션 제어 명령어

     

    원자성

    트랜잭션이 원자처럼 더는 쪼개지지 않는 하나의 작업 단위로 동작해야 한다는 의미

    일부만 수행되지 않도록 전부 수행하거나 아예 수행하지 않아야 한다.

     

    일관성

    트랜잭션은 데이터베이스의 일관성을 유지해야 한다.

    트랜잭션은 무결성 제약 조건에 따라 일관성을 유지한다.

     

    고립성

    여러 트랜잭션이 동시에 수행될 상호 간섭이나 데이터 충돌이 일어나지 않는 현상

    고립성을 유지하기 위해서는 변경 중인 임시 데이터를 다른 트랜잭션이 읽거나 쓰려고 제어 작업이 필요하다.

     

    지속성

    트랜잭션이 정상적으로 완료한 데이터는 반드시 데이터베이스에 기록되어야 한다는 성질

    트랜잭션은 수행을 완료하면 부분완료 또는 실패 상태가 된다.

     

     

    트랜잭션과 DBMS

    DBMS 트랜잭션이 원자성, 일관성, 고립성, 지속성을 유지할 있도록 지원한다.

    원자성 유지하기 위해 회복 관리자 프로그램 작동시킨다.

    일관성 유지하기 위해 무결성 제약조건 활용한다.

    고립성 유지하기 위해 동시성 제어 알고리즘 작동시킨다.

    지속성 유지하기 위해 회복 관리자 프로그램 이용한다.


    '데이터베이스 > 트랜젝션, 동시성 제어, 회복' 카테고리의 다른 글

    동시성 제어  (0) 2018.01.29

    댓글