안녕하세요
Locking: 동시성 제어, 여러 프로세스가 DB의 데이터를 동시에 수정하려 할 때 본문
Locking이란 무엇인가: 동시성 제어
Locking은
여러 프로세스 또는 스레드가 동시에 접근하거나 수정하려는 데이터나 리소스를 하나의 프로세스 또는 스레드만 접근하도록 막는 것입니다.
여러 사용자가 동시에 실행하는 데이터베이스에 동시에 접근하게 되어 데이터 무결성에 문제가 생길 수 있습니다.
예를 들어, 다수의 사용자가 동시에 자원을 접근하는 웹 애플리케이션을 개발할 때, locking이 필요한 경우가 있습니다.
이 경우, 여러 사용자가 동시에 자원에 접근하여 각각의 작업이 충돌하거나 데이터 불일치가 발생할 수 있습니다.
따라서 이러한 상황에서는 locking을 사용하여 자원에 대한 접근을 제어하고 한 번에 하나의 프로세스 또는 스레드만 함수를 실행하도록 제어합니다.
모든 db 조작 함수에 locking을 하는 것은 적절하지 않습니다.
Locking은 데이터베이스의 동시성 문제를 해결하기 위한 방법 중 하나입니다.
즉, 여러 사용자가 동시에 데이터베이스를 접근할 때 발생하는 문제를 해결하는 것입니다.
따라서 동시에 데이터베이스를 접근하지 않고,
한 번에 한 사용자만 접근하는 경우에는 locking이 필요하지 않습니다.
단순히 데이터를 조회하는 함수 등에서는 locking이 필요하지 않습니다.
'유튜브컨텐츠탐색-StelLife' 카테고리의 다른 글
youtube playlist로 만든 노래 플레이어에 필터 기능 구현하기 (0) | 2023.03.14 |
---|---|
youtube playlist로 노래 플레이어 만들기 (0) | 2023.03.13 |
이벤트 버블링 막기: event.stopPropagation() (0) | 2023.03.11 |
filter 기능 구현: 할 때 목록을 state로 만들 필요는 없다. (0) | 2023.03.11 |
express 라우터에 async-await 사용하기. next() 메서드 (0) | 2023.02.23 |