isolation: 2개의 글
하지만 해당 글의 예제에서는 transaction의 isolation level을 동일하게 설정하고 설명을 진행했습니다. '그렇다면 서로 다른 isolation level을 가진 transaction들은 어떻게 동작할까?' 라는 의문이 들었고 이번 글에서는 이를 실험해 본 결과를 정리하려고 합니다. 참고로, 이번에는 MySQL이 아닌, MSSQL을 이용하여 예제를 진행하였습니다. 처음에는 같은 isolation level(READ COMMITTED)의 두 transaction이 어떻게 동작하는지 먼저 살펴보겠습니다. #write transaction BEGIN TRAN SET TRANSACTION ISOLATION LEVEL READ COMMITTED INSERT INTO "dbo"."isolation_..
Transaction이란? Transaction이란 데이터베이스에서 실행하는 작업의 단위를 의미합니다. 이번 글에서는 송금하는 과정을 예제로 전체적인 개념들을 설명하고자 합니다. 또한 테스트를 위해 MySQL(InnoDB)을 활용하였습니다. 예제는 다음과 같습니다. A라는 사람이 B라는 사람에게 송금을 하면, 아래와 같은 과정으로 이루어 진다고 가정하겠습니다. A 계좌에서 출금 B 계좌에 위에서 차감된 금액만큼 입금 송금은 2 단계로 나누어지지만 크게는 하나의 transaction(작업)이라고 할 수 있습니다. 하지만 데이터베이스 관련된 모든 작업을 transaction이라고 하지는 않습니다. Transaction은 다음과 같은 특징(ACID)을 가져야합니다. Atomic Atomic이란 '원자의'란 의..