본문 바로가기
728x90
반응형

영상 후기/데이터베이스7

영상 후기 - LOCK을 활용한 concurrency control 기법을 배워봅니다. 2PL(two-phase locking)도 같이 설명드려요~ 트랜잭션 1번이 시작한다고 하면 write(x=20)으로 x를 20으로 바꿔준다. write를 하는 과정은 지금은 쉽게 보기 위해서 간단히 표시한거지만, 원래는 단순히 값 하나 바꾸는 것보다 더 복잡한 과정이다. 만약, 트랜잭션 1번과 2번이 동시에 실행되면 같은 데이터에 대해서 write를 동시에 실행하는 거니까 어쩌면 x에 대한 처리가 깔끔하게 되지 않아서 예상치 못한 동작을 할 수 있다. 위의 문제는 lock을 사용해서 해결할 수 있다 lock 데이터마다 lock이 있어서 그 데이터를 변경하거나 읽으려면 lock을 취득해야한다. 만약에 lock을 취득하지 못하면 lock을 취득할 때까지 기다려야 한다. lock을 사용해서 해결하기 트랜잭션 1번이 먼저 실행했다면 트랜잭션 1번은 x를 20으로 바꿔주.. 2023. 4. 9.
영상 후기 - transaction isolation level 설명합니다! isolation이 안될 때 나타날 수 있는 여러 현상들과 snapshot isolation도 같이 설명합니다!! 트랜잭션 1번은 x에 y를 더해야하기 때문에 x의 값을 읽는다. 트랜잭션 2번은 y를 70으로 바꿔야하기 떄문에 write해서 70으로 바꾼다. 트랜잭션 1번은 y의 값을 읽고 x에 y의 값을 더해주고 commit한다. 이때 트랜잭션 2번은 rollback되어서 y의 값은 20이 된다. 결국 트랜잭션1번은 유효하지 않은 값(y=70)을 읽게 된것이다. 이러한 현상을 Dirty read라고 한다. commit 되지 않은 변화를 읽음. 트랜잭션 1번은 x의 값을 읽는다. (x=10) 트랜잭션 2번은 x의 값을 읽고 x에 40을 더해 50으로 만들어 주고 commit한다. 트랜잭션 1번은 x의 값을 읽는다. (x=50) 트랜잭션 1번은 같은 데이터를 두번읽었음에도 불구하고 서로 다른 값을 가져왔다. 이것은 I.. 2023. 4. 8.
영상 후기 - (2부) concurrency control 기초 : recoverability. 트랜잭션들이 동시에 실행될 때 rollback이 발생하면 어떤 일이 벌어질까요? Transaction 1은 K가 H에게 송금하는 트랜잭션이고, Transaction 2는 H가 자신에게 30만원 입금하는 트랜잭션이다. Transaction1에서 read를 통해 K의 계좌를 read해서 확인하고, write해서 20만원을 차감한다. 이때 Transaction2에서 H의 계좌를 read로 확인하고 write해서 30만원을 더해준다. Transaction1은 H의 계좌를 read로 확인하고 20만원 송금 write를 하고 Transaction1은 commit을 한다. 이때 Transaction2에서 abort가 일어나 롤백이 된다. 그래서 다시 H의 계좌를 230에서 200으로 돌려놓는다. 트랜잭션 2는 더 이상 유효하지 않으므로 트랜잭션2가 write했던 H_balance를 읽은 트랜잭션.. 2023. 4. 8.
영상 후기 - (1부) concurrency control 기초 : schedule과 serializability. 트랜잭션들이 동시에 실행될 때 isolation을 보장하는 기초 이론 트랜잭션이 동시에 일어날 경우 case1 트랜잭션이 동시에 일어날 경우 case2 트랜잭션이 동시에 일어날 경우 case3 트랜잭션이 동시에 일어날 경우 case4(Lost Update 현상) 실행순서 간소화 시키기 하나의 작업을 operation이라고 한다. 위의 그림과 같이 여러 transaction들이 동시에 실행될 때 각 transaction에 속한 operation들의 실행 순서를 Schedule이라고 한다. 그리고 각 transaction 내의 operations들의 순서는 바뀌지 않는다. case1와 case2는 transaction들이 겹치지 않고 한 번에 하나씩 실행되는 schedule이다.(Serial schedule) case3와 case4는 transaction들이 겹쳐서 실행되는 .. 2023. 4. 8.
728x90
반응형