1 분 소요

트랜잭션(Transaction)은 데이터베이스나 정보 시스템에서 일련의 작업들을 하나의 단위로 묶어서 처리하는 것을 말합니다. 트랜잭션의 주요 목적은 데이터의 일관성을 유지하면서 여러 작업을 원자적으로(atomic) 수행하는 것입니다. 트랜잭션은 보통 다음과 같은 4가지 특성을 가집니다. 이를 ACID라고 합니다.

ACID 특성

  1. Atomicity (원자성):

    • 트랜잭션 내의 모든 작업들이 완전히 수행되거나 전혀 수행되지 않아야 한다는 것을 의미합니다.
    • 예를 들어, 은행에서 송금하는 경우, 돈이 보내는 사람의 계좌에서 빠져나가는 작업과 받는 사람의 계좌에 입금되는 작업이 하나의 트랜잭션으로 묶여 있습니다. 둘 중 하나라도 실패하면, 전체 작업이 취소됩니다.
  2. Consistency (일관성):

    • 트랜잭션이 완료된 후, 데이터베이스가 일관된 상태를 유지해야 한다는 것을 의미합니다.
    • 즉, 트랜잭션이 시작되기 전과 완료된 후 데이터베이스는 반드시 규칙이나 제약 조건을 충족해야 합니다.
  3. Isolation (고립성):

    • 각 트랜잭션은 서로 독립적으로 실행되어야 하며, 다른 트랜잭션의 중간 결과를 볼 수 없다는 것을 의미합니다.
    • 예를 들어, 여러 사용자가 동시에 같은 데이터에 접근하여 수정하더라도 각 사용자의 작업은 서로 간섭하지 않고 독립적으로 처리됩니다.
  4. Durability (지속성):

    • 트랜잭션이 완료된 후, 그 결과는 영구적으로 유지되어야 한다는 것을 의미합니다.
    • 시스템 오류가 발생하더라도 완료된 트랜잭션의 결과는 데이터베이스에 반영되어 있어야 합니다.

BRE 와 NOretry는 오류의 결과를 성공으로 보냐 실패로 보냐에 관건인데 그것이 귀책사유에 따라 구분을 한다.!!

BRE 와 NOretry는 오류의 결과를 성공으로 보냐 실패로 보냐에 관건인데 그것이 귀책사유에 따라 구분을 한다.!! BRE 처리가 되서 throw로 던질경우에는 다음 작업으로 넘어간다. 프로세스는 거대한 TRY catch로 감싸저 있다. 프로세스가 다 실패해도 무조건 파이널로 간다. 각 트랜잭션에서 실패를 했을때는 인잇리트라이어블로 간다. THROW를 했으면 어디든 갔다 와야한다. 프로세트 안에서 BRE를 실행하기전에는 항상 초기화를 해야한다!! 안그러면 다음 스탭이 실행 될때 재시도 가능횟수가 한번 실패하고 실행되기때문에! NORETRY는 클로즈가 있기 때문에 초기화가 필요없다.

프로젝트에 투입이되면 프레임워크(규칙, 가이드)를 봐야함 초급개발자가 봐야할것은 명명 규칙을 가장먼저 봐야함!(변수 명명규칙, 흐름 명명규칙, 특이한 경우는 풀네임으로 작성함)

댓글남기기