이번 시간부터 트랜잭션의 Concurrency Control(동시성 제어)에 대해서 알아보도록 하겠습니다. 먼저 이 글은 쉬운코드 님의 Concurrency Control을 정리한 글입니다. (1부) concurrency control 기초 : schedule과 serializability. 트랜잭션들이 동시에 실행될 때 isolation을 보장하는 기초 이론 Concurrency Control에 대해서 알아보려면 Serializability와 Recoverability에 대해서 먼저 알아보야하는데 왜냐하면 Concurrency Control Serializability와 Recoverability을 제공하기 때문입니다. 그중에서도 Serializability에 대해서 알아보도록 하겠습니다. Serial..
트랜잭션에 대해서 알아보려고 합니다. 면접을 볼 때 트랜잭션에 대한 질문이 나왔는데 잘 답변을 하지 못해 다시 트랜잭션에 대해서 공부해보고 정리해보려고 합니다. 먼저 이 글은 쉬운코드님의 트랜잭션 유튜브를 보고 정리한 내용입니다. Transaction 트랜잭션은 DB에서 수행되는 작업의 논리적 단위다. X가 Y에게 40만원을 이체한다. Y가 100만원을 입금 받았다. 와 같이 DB에서 수행되는 논리적인 단위를 나타냅니다. Transaction의 속성 (ACID) 트랜잭션의 속성을 4가지로 정의할 수 있다. 원자성 (Atomicity) 트랜잭션에 속한 모든 작업은 전부 성공하거나 실패해야 합니다. 어떤 작업이 실패하면 다른 모든 작업도 롤백되어야 합니다. ALL OR NOTHING X가 Y에게 40만원을 ..