DB/수업2017. 7. 4. 22:07

트랜잭션(transaction)  

항공기 예약, 은행, 신용 카드 처리, 대형 할인점 등에서는  

   대규모 데이터베이스를 수백, 수천 명 이상의 사용자들이     

   동시에 접근함 

많은 사용자들이 동시에 데이터베이스의 서로 다른 부분  

   또는 동일한 부분을 접근하면서 데이터베이스를 사용함 

 

 동시성 제어(concurrency control) 

동시에 수행되는 트랜잭션들이 데이터베이스에 미치는  

  영향은 이들을 순차적으로 수행하였을 때 데이터베이스에    

  미치는 영향과 같도록 보장함 

다수 사용자가 데이터베이스를 동시에 접근하도록  

  허용하면서 데이터베이스의 일관성을 유지함  


트랜잭션(transaction)  

회복(recovery) 

데이터베이스를 갱신하는 도중에 시스템이 고장 나도  

  데이터베이스의 일관성을 유지함 


트랜잭션 

     - 데이터베이스 내에서 하나의 그룹으로 처리해야 하는 명령문 들을 모아 놓은 작업 단위 

  트랜잭션의 표현 형태 


원자성(Atomicity) 

     - 트랜잭션의 수행은 원자적이다(All-OR-Nothing 방식) 


[조건] 

1. Ti : 트랜잭션 이름 

2. 트랜잭션 실행 전 데이터베이스 내 A와 B 계좌 잔액 

 · A 계좌 : 2000 

 · B 계좌 : 3000 

3. 연산 설명 

 · read(X) : 데이터 X를 데이터베이스(디스크)로부터 읽어서 트랜잭션의 버퍼로 이동 

 · write(X) : 데이터 X를 트랜잭션의 버퍼에서 데이터베이스(디스크)로 이동 


일관성(Consistency) 

     - 트랜잭션 실행을 성공적으로 완료하면, 언제나 일관성 있는 데이터베이스 상태로 유지되어야 한다. 


격리성(Isolation: 고립성) 

     - 트랜잭션들이 서로 독립성을 보장받으며 수행될 수 있도록 도와준다. 


영속성(Durability: 지속성) 

     - 트랜잭션이 모든 작업을 성공적으로 수행 완료하여 데이터베이스 내에     

       반영했다면, 트랜잭션의 결과는 영구적이어야  함을 말한다. 




Posted by 멜데스