Spring Boot 시작 - 거래 개요 -

1560 단어 spring

거래란 무엇인가?



서로 관련된 일련의 처리를 하나의 처리로서 정리하는 것을 말한다.
예를 들면 출입금을 관리하는 프로그램이 있어, A의 계좌에 5000엔 입금한다고 했을 경우 그림과 같은 일련의 처리가 필요하게 된다.



이러한 일련의 처리를 하나의 블록(트랜잭션)으로 파악하고, 일괄적으로 관리해 버리자는 것이 트랜잭션
의 기본 이념이다.



거래의 이점



하나의 덩어리로 처리된 트랜잭션은 반드시 '모두 실패' 혹은 '모두 성공'을 보장해준다.
방금 비유를 사용해 보자. 예를 들면 거래를 이용하지 않고 송금 처리로 실패했다고 한다



이 경우 5000엔이 출금되어 B계좌로 5000엔이 송금되기 전에 처리가 실패하고, 중단되기 때문에 A계좌에서 5000엔이 줄어 B계좌는 변함없게 된다 . 이러한 오류로 인한 위험을 줄이는 것이 트랜잭션입니다.
트랜잭션에서 관리되는 프로그램에서 유사한 오류가 발생한 예를 살펴 보겠습니다.



앞서 기술한 대로 트랜잭션으로 관리하고 있는 경우는 '모두 실패'인지 '모두 성공'인지를 보증해 준다.
이것이 어떻게 되는가 하면, 그림과 같이 송금에 실패해도 출입금의 일련의 처리를 일괄로 관리하고 있으므로 송금이 실패한 시점에서 관련한 동작 전부를 실패했다고 해서 임의로 되감기 또는 모든 처리를 중단하거나 할 수 있는 것이다.
트랜잭션은 DB 처리나 Web 어플리케이션 등, 복수의 유저가 조작하는 것 같은 모든 동작에 대해 유효한 처리라고 말할 수 있을 것이다.

좋은 웹페이지 즐겨찾기