ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 트랜잭션?
    학교 수업/데이터베이스 2020. 4. 24. 16:40

    트랜잭션(Transaction)


    - 개념 : 데이터베이스 작업의 논리적인 단위일련의 연산 집합을 의미

         데이터베이스의 병행 제어 및 회복 작업의 기본 단위

         하나의 transaction은 commit되거나 rollback되어야 한다.



    병행 제어(concurrency control)?

    몇 개의 트랜잭셔을 동시에 수행시키는 것

    데이터베이스 처리의 성능을 향상시킬 수 있지만 여러 트랜잭션들을 적절히 제어하지 못했을 때는 문제점 발생


    회복(Recovery)?

    장애(failure)가 일어났을 때 데이터베이스를 장애 발생 이전의 일관된 상태로 복원시키는 것


    - 특성(ACID)

    ① 원자성(Atomicity) : 트랜잭션은 완벽하게 수행 완료되거나, 전혀 수행되지 않아야 한다.

    ② 일관성(Consistency) : 트랜잭션 수행 전과 수행 후의 데이터베이스 상태가 일치해야 한다.

    ③ 격리성(Isolation) : 병행수행 환경에서 하나의 트랜잭션이 실행 중일 때 다른 트랜잭션은 같은 데이터에 접근할 수 없다.

    ④ 영속성(Durability) : 완료된 트랜잭션의 결과는 영구적으로 유지되어야 한다.


    - 연산 (이전에 말한 DCL, database control language)

    ① Commit : 트랜잭션의 실행이 성공적으로 종료되었음을 선언하는 연산

    ② Rollback : 트랜잭션의 실행이 실패하였음을 선언하는 연산


    - 트랜잭션의 상태전이





    ⒜ 활동(active) : 트랜잭션이 실행을 시작하였거나 실행 중인 상태

    ⒝ 부분완료(partially committed) : 트랜잭션이 마지막 명령문을 실행한 직후의 상태

    ⒞ 실패(failed) : 정상적 실행을 더 이상 계속할 수 없어서 중단한 상태

    ⒟ 철회(aborted) : 트랜잭션이 실행에 실패하여 Rollback 연산을 수행한 상태

    ⒠ 완료(committed) : 트랜잭션이 실행을 성공적으로 완료하여 Commit 연산을 수행한 상태


    '학교 수업 > 데이터베이스' 카테고리의 다른 글

    sql문 연습사이트  (0) 2020.06.26
    이상현상 & 정규화?  (0) 2020.04.26
    뷰?  (0) 2020.04.24
    관계 데이터베이스?  (0) 2020.04.21
    데이터베이스란?  (0) 2020.04.21

    댓글

Designed by Tistory.