데이터베이스 Lock이란CS2023. 3. 15. 16:09
Table of Contents
데이터베이스 락이란?
Lock이란 트랜잭션 처리의 순차성을 보장하기 위한 방법입니다.
데이터베이스 트랜잭션과 격리성의 이해가 있어야 이해하기 쉬우실겁니다.
Lock의 종류
- 공유(Shared) Lock
- 배타(Exclusive) Lock
이를 쉽게 말하면..
- 공유락: Read Lock(읽기 락)
- 배타락: Write Lock(쓰기 락)
이라고 말합니다.
해당 글에서는 읽기 락과 쓰기 락이라고 표현하겠습니다.
읽기 락(i. e. 공유 락)
읽기 락은 자원을 읽을 때 사용됩니다.
읽기 락의 특징은 읽기 Lock끼리 하나의 자원을 읽을 때 여러 사용자(트랜잭션)가 동시에 접근할 수 있다는 것입니다.
쓰기 락(i. e. 배타 락)
쓰기 락은 데이터를 변경할 때 사용합니다.
트랜잭션이 완료될때까지 유지됩니다. 배 타락은 Lock이 해제될 때 다른 트랜잭션(읽기락 포함)은 해당 리소스에 접근할 수 없도록 합니다
Node.js에서 Update Lock, Inherent Lock 등이 필요할까요?
꼭 알지 않아도 됩니다.
Update Lock, Inherent Lock락은 JAVA언어에서 제공하는 기능으로 DBMS에서 제공하는 기능이 아닙니다. 자바에서 이런 추가적인 락이 필요한 이유는 멀티스레드 환경이기 때문입니다.
하지만, Node.js는 싱글스레드 환경이기 때문에 JAVA와 다른 역량이 요구됩니다.
Node.js의 작동 방식을 잘 모르신다면, 아래 글을 참고하세요.
'CS' 카테고리의 다른 글
크롬의 탭은 프로세스일까? 스레드일까? (0) | 2023.06.06 |
---|---|
FK란 무엇인가? 각 관계형은 어떤 경우에 가장 효율적인가? (0) | 2023.03.24 |
트랜잭션 격리 수준 (0) | 2023.03.07 |
[PostgreSQL] 데이터베이스 트랜잭션이란? (0) | 2023.03.06 |
우리는 왜 JWT를 사용하는가? / JWT 사용 이유 (0) | 2023.02.20 |
@임채성 :: 푸르고 개발 블로그
글 내용 중 잘못되거나 이해되지 않는 부분은 댓글을 달아주세요! 감사합니다! 문의: puleugo@gmail.com