2016년 8월 31일 수요일

30day / DB / Transaction

http://www.slideshare.net/alexbaranau/transactions-over-hbase
  • Transaction 제어 : Transaction 이란 작업단위를 의미 

주요 용어
  1. commit : 실제 데이터베이스에 반영 
  2. rollback : 작업 취소 

JDBC 는 AUTO COMMIT 이 기본이다
Transaction 제어가 필요한 경우에는
AUTO COMMIT을 해제하고 수동 커밋 모드로 처리한다

onnection.setAutoCommit(false); <--수동 커밋 모드로 변경 
작업 단위 내에서 모든 작업이 정상 수행시
connection.commit(); 
문제 ( 에러 또는 예외 ) 가 발생
connection.rollback(); 
try {
    카드발급 & 포인트발급 
    commit
catch (Throwable t) { 
    rollback 
cs

  • 사례 ) 카드 발급과 동시에 일정한 포인트가 함께 발급되어야 한다 
if ( 카드 발급 후 문제가 발생하여 -> 포인트 발급 누락 ) {
 -> 발급된 카드 작업은 취소(rollback)되도록 처리 }
else if (카드 및 포인트 발급 작업이 모두 정상 수행) {
실제 데이터베이스에 반영(commit)하도록 트랜잭션(작업단위)을 제어한다 }
cs

0 개의 댓글:

댓글 쓰기