Advertisement

트랜잭션

Master - CodeSquad at CodeSquad
Dec. 7, 2014
Advertisement

More Related Content

Advertisement

트랜잭션

  1. 데이터베이스베이직트랜잭션 NHN NEXT 정호영 나눔고딕및나눔고딕코딩글꼴을설치해주세요.
  2. 대표적DB응용 OnLineTransactionProcessing(OLTP) OnLineAnalyticalProcessing(OLAP)
  3. Transaction 원래뜻은'거래':쌍방이무언가를교환해야성립 데이터베이스에서는 쪼갤수없는작업의단위를트랜잭션이라고함
  4. Transaction의특징 ACID특성:강의전체에서가장중요한키워드 Atomicity(원자성) Consistency(일관성) Isolation(고립성) Durability(지속성)
  5. Atomicity:원자성 All or Nothing '트랜잭션은완전히수행되거나전혀수행되지않은상태를유지해야한다'
  6. 원자성의예제 영남이는우진이에게고흐의그림을1억에샀다. 이거래는다음과같이표현 트랜잭션은어디부터어디까지? 1)영남.돈-=1억 2)우진.돈+=1억 3)우진.아이템-=그림 4)영남.아이템+=그림
  7. 원자성의예제 영남이는우진이에게고흐의그림을1억에샀다. 이거래는다음과같이표현 트랜잭션은어디부터어디까지?전부다묶어서! 1) 영남.돈-= 1억 2) 우진.돈+= 1억 3) 우진.아이템-= 그림 4) 영남.아이템+= 그림
  8. Consistency:일관성 트랜잭션을수행하고나면하나의일관된상태(correctstatus) 에서다른일관된상태로바뀌어야한다.
  9. Consistency:일관성 Correct State: 도메인의유효범위, 무결성제약조건등의제약조건을위배하지않는정상적인상태 Correct State Correct State Transaction
  10. Consistency예제 영남이의골드잔액은100골드.이때영남이가상점에서'몰왕검'을3200골드에구매하려고함 영남이는상점에3200골드를내고'몰왕검'을사기위해계속구입버튼을누름(100–3200=-3100골드) 시스템상에서골드>0제약조건을가지고있으므로절대'몰왕검'을살수없음
  11. Consistency예제2 세현이는100골드를보유중이다. 1)2500골드의강철의솔라리를구매와 2)3200골드의몰왕검판매를 묶어서진행하려한다. 이경우 1)로인해일시적으로비정상상태가되어도 최종상태는정상상태이므로트랜잭션은수행될수있다
  12. Isolation(고립성) '한트랜잭션이실행되는동안외부에서는트랜잭션에접근할수없다'
  13. Isolation(고립성) 한번에하나의트랜잭션만수행한다면고립성은항상보장 그러나실제DB에서는동시에여러트랜잭션이수행 다수의트랜잭션이동시에수행되더라도한번에하나씩수행된것과동일한결과를가져야하는특성
  14. Durability(지속성) 완료(commit)된트랜잭션은영구적으로보존이되어야된다는특성 *커밋:트랜잭션의완료를나타내는용어
  15. Durability(지속성) 예)트랜잭션이commit된직후PC의리셋버튼을눌렀다. 1)어떻게되어야하나? 2)1)의답을위해시스템과OS레벨에서해야하는일은?
  16. 트랜잭션사용하기 STARTTRANSACTION [SQL명령어]+ COMMIT|ROLLBACK COMMIT:트랜잭션을완료함 ROLLBACK:트랜잭션을취소함
  17. 롤백예제
  18. COMMIT예제
  19. 트랜잭션프로그래밍 JDBC에서 Connection은자동커밋이기본설정 따라서SQL문장은하나하나커밋이됨 기본설정을바꿔야트랜잭션을사용할수있음
  20. JDBC트랜잭션예제 //자동커밋해제 conn.setAutoCommit(false); //커밋하기 conn.commit(); //롤백하기 conn.rollback();
  21. 예제
  22. 주의사항 실제코드에서는예외처리코드를꼭작성해야함 트랜잭션의중간에에러가발생했을경우반드시rollback을해야함 트랜잭션을작성할때는얘기치못한에러가발생했을때회사에손해가적게가는방향으로작성해야함!!
  23. 실습 account(id,이름,잔액)테이블생성 이체프로그램작성 잔액이0원이하가되면롤백 정상적으로이체가가능할경우commit
  24. 추가로공부할것들 •TRANSACTION ISOLATION LEVEL에대해각자공부합시다.
  25. THANK YOU!!!
Advertisement