트랜잭션 격리 수준에 대해 알아보겠습니다. 트랜잭션에 대해 궁금하다면 이전에 포스팅된 트랜잭션을 확인해 주세요. 트랜잭션 격리 수준 이란? 트랜잭션끼리 일관된 데이터를 얼마나 허용할 것 인지 정하는 수준입니다. 격리 수준에는 총 4개의 레벨이 존재합니다. 격리 수준의 레벨 Read uncommitted - 커밋되지 않은 데이터 읽기 Read committed - 커밋된 데이터만 읽기 (대부분의 DB의 Default Isolation Level) Repeatable Read - 읽는 동안 수정/삭제 불가능 (MySQL의 Default Isolation Level) Serializable - 완벽한 일관성 모드를 제공한다. 이상 현상이 발생하지 않는다. 또 각각의 단계 별로 일어날 수 있는 현상들로는 3개의..
오늘은 Transaction에 대해 알아보겠습니다. Transaction 이란? - 데이터 베이스의 상태를 변화시키기 위한 하나의 단위 데이터 베이스의 상태를 변화시킨다는 것은 뭘까요? 예를 들어 아래와 같은 테이블이 존재한다고 가정합니다. 각 사용자의 현재 보유한 금액을 저장하는 테이블입니다. 테이블 1. ID 이름 보유한 금액 1 이이원 1000 2 이우지 2000 해당 테이블에 INSERT, UPDATE, DELETE로 상태를 변화시킬 수 있습니다. 밑의 예시 Transaction에서 2개의 행위가 이루어질 수 있습니다. Transaction 1. "ID가 1인 사용자의 보유한 금액을 2000으로 변경하세요." (INSERT) "ID가 2인 사용자를 삭제하세요." (DELETE) 이러한 행위가 이루..