![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOVaMw%2FbtrQq303arK%2FK8qN5IgfpHyK2TkUpXRlf0%2Fimg.png)
[Database] DBA급 개발자로 - #16 Two-Phase Locking
2022. 11. 6. 10:43
Database/DBA급 개발자로
이번 포스팅에서는 트랜잭션 동시성을 제어할 수 있는 방법인 two phase locking에 대해 살펴보겠습니다. 2PL(Two phase locking)은 데이터베이스의 serializable isolation level을 구현하는데 자주 사용됐던 방식입니다. 2PC(2 Phase Commit)과 2PL 용어가 비슷해서 헷갈릴 수 있는데요, 2PC은 하나의 트랜잭션으로 처리돼야 할 작업이 여러 DBMS 서버를 거쳐야 하는 경우 트랜잭션의 원자성 보장하기 위해 활용하는 프로토콜입니다. 2PL(2 Phase Locking) 2PL는 다수의 트랜잭션이 동시에 실행될 때 conflict serializability를 보장하는 동시성 제어 방법입니다. 2PL의 장점은 conflict serializability..