오라클 성능 고도화 원리와 해법 I (2016년-2)
트랜잭션 동시성 제어 0 0 4,194

by 구루비 Concurrency ACID 트랜잭션 [2016.11.05]


h1.01.트래잭션 동시성 제어
h3.(1)동시성 제어

동시성제어(Concrrency Control)

동시성 제어 (Concurrency Control)란, 동시에 실행되는 트랜잭션 수를 최대화하면서도 입력,수정,삭제,검색 시
데이터의 무결성이 유지될 수 있도록 노력하는 것

  • 동시성(Concurrency) 다중 사용자가 같은 데이터를 동시에 액세스
  • 일관성(Consistency) 자신이 발생시킨 변경 사항과 다른 트랜잭션의 변경 사항(읽을 수 있는 버전만 허용)을포함해
    일관성 있는상태로 데이터를 제공

h3.(2)트랜잭션이란?

  • 일관성 있게 데이터가 처리되려면 두 개 이상의 갱신연산이 동시에 실행될 수 있어야 하는데, 이는 불가능한 일이다.
  • 트랜잭션 관리능력을 갖춘 DBMS는 차선책을 사용해서 동시 실행을 구현한다.
  • 여러 개의 수정작업이 하나의 작업처럼 전부처리되거나 아예 전부 처리가 안 되도록 (AlI or Nothing) 하는 것인데
    이러한 일의 최소 단위를 트랜잭션이라고 한다 ( 트랜잭션의 '원자성)'
  • 예를 들어 은행 업무의 "계좌이체" 트랜잭션 은 하나의 예금 계좌에서 인출하여 다른 예금 계좌에 입금하는데,
    이 두 작업은 하나의 단위로 함께 수행되어야 한다.

(3) 트랜잭션의 특징(ACID)

  • 원자성(Atomicity) : 더 이상 분해가 불가능한 업무의 최소단위를 말한다.
  • 일관성(Consistency) : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 즉 트랜잭션 실행의 결과로 데이터베이스 상태가 모순되지않는다.(?)
  • 격리성(Isolation) : 트랜잭션이 실행 중에 생성히는 연산의 중간 결과는 다른 트랜잭션 이접근할수없다.
  • 영속성(Durability) : 트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 데이터베이스에 영속적으로 저장된다.
"구루비 DB 스터디 모임" 에서 2016년에 "오라클 성능 고도화 원리와 해법 I " 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3148

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입