컴퓨터 사이언스/동시성 제어

이전 글 [ https://techforme.tistory.com/60 ] 이전 글에서는 MVCC 에 대해서 아주 간략하게 알아보았다. MVCC 의 구조, 자세한 동작 방식을 더 알아보면 좋겠지만 "동시성 제어" 라는 매커니즘에 한정해서 하나의 예시만을 들었다. (나중에 제대로 공부하기로 하고...) 이번 글에서는 Lost Update 가 발생하는 상황에서 MVCC 와 Lock 이 각각 어떻게 문제를 해결하는 지 알아보고 각각의 장단점과 함께 "낙관적 락" 과 "비관적 락" 의 개념을 알아 본다. 1. Lost Update 1) Lost Update 란? Lost Update 란 말 그대로 Update 쿼리가 유실되는 상황을 말합니다. Lost Update 가 일어나는 간단한 상황을 제시하겠습니다. 초기..
이전 글 [ https://techforme.tistory.com/59 ] 이전 글에서 동시성 제어를 위한 기술인 'Lock' 에 대해서 알아보았다. Lock 이 어떤식으로 Transaction 의 Schedule 을 컨트롤 하는지, 그리고 Lock 획득하고 반환하는 절차에 따라 어떤 영향(Deadlock 발생, Recoverability 보장)이 나타나는지에 대해서도 알아보았다. Lock 의 경우 Read 와 Write 가 상호 배타적으로 작업을 수행하게 되는데 (Read Lock 이 걸린 자원에 대해서는 Write Lock 을 획득할 수 없거나 반대로 Write Lock 이 걸린 자원은 Read Lock 획득이 불가능함) 이런 경우 Concurrency 가 상당히 떨어지기 때문에 성능면에서 아쉬울 수..
이전 글 : Recoverability 란? [ https://techforme.tistory.com/58 ] 이전까지 동시에 요청된 Transaction 의 처리 Schedule 과 관련한 두가지 특성인 Serializability, Recoverability 를 알아보았다. 이는 동시성 제어(Concurrency Control) 시 고려해야할 두가지 조건이라고 할 수 있으며, 두 특성을 보장하지 못하는 경우 Transaction 이 의도치 않은 결과를 일으킬 가능성이 있게 된다. 이번 글에서는 이러한 Scheduling 을 위한 전략인 Lock 에 대해서 알아본다. 1. Lock 1) lock 이란? DB 는 Transaction 을 Scheduling 하는 전략으로 'Lock' 이라는 매커니즘을 사..
이전 글 : Serializability 란? [ https://techforme.tistory.com/57 ] 이전 글에서 트랜잭션의 동시성 제어중  Serializability 에 대해서 알아 보았다. 이를 통해 Serializability를 보장하도록 Transaction 을 스케줄링 함으로써 Non-Serial 한 트랜잭션 처리의 결과를 Serial 하도록 만들 수 있었다.  그러나 해당 글에서는 Transaction 이 Rollback 되는 상황을 고려하지 않았는데, Transaction 은 어떠한 경우에서도 오류가 발생하였을 때 Rollback 을 통해 이를 안전하게 되돌릴 수 있도록 보장되어야 한다. (Recoverable) 이번 글에서는 이러한 Recoverable 특성과 관련하여, Tra..
프로젝트가 끝나고 운영체제와 네트워크 강의를 들으며 얀전히(?) CS 지식을 쌓고 있었다. 이는 개발자로서 기본소양을 쌓기 위한 목적이었지만, 당연히 기술 면접에 대한 준비의 일환이기도 했다. 꾸준히 지식을 쌓고 있으면 면접에서도 당당할 수 있지 않을까 했는데 너무 안일한 생각이었다. 인터넷에서 기술면접에서 단골로 나온다는 질문 리스트를 찾아보니, 대부분 한마디도 대답할 수 없는 것들이었기 때문이다.  그래도 다른 질문들은 검색해보면 어렴풋이는 알 것 같은 개념이긴 했는데,  "MVCC 가 무엇인가?" 라는 질문은 검색해서 관련 포스팅을 읽고 나서도 전혀 오리무중이었다. 발등에 불이 떨어진 기분으로, DB 에서의 동시성 제어(Concurrency Control) 의 기본적인 공부들을 했고, 지식이 MVC..
Cypher
'컴퓨터 사이언스/동시성 제어' 카테고리의 글 목록