# lock

66개의 포스트

Lock/DeadLock

두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태무한히 다음 자원을 기다리고 있음시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생 데이터베이스의 관점에서는 Transaction간 발생하는 것을 의미상호 배제 (Mut

약 3시간 전
·
0개의 댓글
·

Effective Python - Better Way 54

초보 파이썬 프로그래머는 GIL을 배운 뒤 코드에서 mutex lock을 사용하지 않아도 되는 것 처럼 생각할 수 있습니다.(저도 그중 한명...)GIL이 다중 CPU에서 파이썬 스레드들이 병렬적으로 실행될 수 없게 막는다면 프로그램의 데이터 구조에 동시에 접근할 수

2023년 3월 12일
·
0개의 댓글
·
post-thumbnail

[Spring] Redis를 이용한 분산 Lock 구현 알아보기

서비스를 구현하다 보면, 여러 쓰레드에서 동시다발적으로 일어나는 작업에 대해 동기화 혹은 일관적인 처리가 필요할 때가 존재한다. 그럴 때는 여러 방법을 이용하여 일관적인 처리를 할 수 있는데, 오늘은 Redis를 이용한 Lock을 구현하는 방법에 대해 알아보자.

2023년 3월 11일
·
0개의 댓글
·

InnoDB 락(Lock) 에 대해 알아보자.

InnoDB는 일관성과 동시성을 보장하기 위해 레코드(Row) 수준의 잠금 방식을 사용하는 MySQL의 스토리지 엔진중 하나이다.InnoDB의 레코드 잠금 유형은 크게 공유 잠금(Shared Lock)과 배타적 잠금(Exclusive Lock)으로 나뉠 수 있다.공유

2023년 3월 5일
·
0개의 댓글
·

[JS, git]package.json, package-lock.json와 package의 conflict해결 방법

git을 사용하는데에 있어서 tip!(요새 git을 많이 사용하고 있는 편인데 사용에 대한 확장성이 많지는 않은편 이지만 나름 그래도 많이 활용해보고 있는 편이다. git rebase도 이제는 어느정도는 적응이 되어가는 중인것 같다. 그와중에 다른 블로그 쓴거 홍보 ㅋ

2023년 3월 3일
·
0개의 댓글
·

DB Lock Check

DB Lock Check

2023년 2월 17일
·
0개의 댓글
·

레디스의 분산락은 무엇인가!?

서론 오늘은 레디스는 무엇이고 왜 사용하는가를 다뤄보려고 한다. 특징 레디스는 몇가지 특징이 있는데 key-value 형식의 데이터 저장소이다. 단일 스레드 실행을 하기 때문에 Atomic 하다. 디스크가 아닌 인메모리에 저장한다. 레디스에 대한 기본적인 설명과 사

2023년 2월 15일
·
0개의 댓글
·
post-thumbnail

Isolation Level, Lock and MVCC in RDBMS

다수 사용자 환경에서 여러 Transaction 이 동시에 실행될 때 발생할 수 있는 다양한 이상현상들을 제어하는 수준으로,Transaction 의 ACID 원칙 중 Isolation 을 지원하기 위해 제공된다.Isolation Level 이 높다높은 Serializa

2023년 2월 14일
·
0개의 댓글
·

MySQL 트랜잭션 / LOCK / 격리수준

작업의 완전성을 보장해주는 것논리적인 작업 셋을 모두 완벽하게 처리하거나, 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상(Partial update)이 발생하지 않게 만들어주는 기능잠금(Lock)과 트랜잭션은 서로 비슷한 개념 같지만

2023년 2월 10일
·
0개의 댓글
·
post-thumbnail

MySQL 잘 사용하기 - Lock, Transaction ...

InnoDBMyISAMMEMORY현재는 거의 모든 곳에서 InnoDB를 사용하며, DEFAULT 값이다.예전에 사용되던 MyISAM의 경우, 트랜잭션을 지원하지 않는다.MEMORY는 말 그대로 메모리 DB이다. (disk X)다른 스토리지 엔진을 사용하려면 테이블 생성

2023년 2월 10일
·
0개의 댓글
·
post-thumbnail

[CS/Python]Thread(2)-Lock과 RLock

Thread 지난 스레드 포스트에서는 파이썬에서 스레드가 어떻게 구현되고 동작하는지에 관하여 간단하게 정리하였습니다. 이번에는 파이썬 스레드의 동작을 구현하며 고려해야할 자원의 동기화에 관련된 Lock과 Condition에 대한 글을 작성하고자합니다. Thread L

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

비관적 Lock, 낙관적 Lock

동시성 이슈가 발생할 것이라 생각을 해서 미리 줄을 세우게 만드는 방법단점락을 통한 동시성 제어는 불필요한 대기 상태를 만듬MySQL에서 인덱스를 잠구기 때문에 where문 조건에 따라 불필요한 데이터까지 잠길 수 있다.동시성이 빈번하지 않은 쿼리로 잠금을 잠가버려 다

2023년 1월 19일
·
0개의 댓글
·
post-thumbnail

동시성 이슈 및 Lock

대부분 하나의 웹 서버는 멀티스레드 환경이므로 여러 개의 요청을 동시에 수행할 수 있고 작성한 코드 한 줄은 동시에 수행 될 수 있다.문제점하나의 자원을 두고 여러 개의 연산들이 경합 -> 데이터 정합성을 깨뜨릴 수 있다.동시에 두 요청이 오면 하나의 공유된 자원의 처

2023년 1월 19일
·
0개의 댓글
·

오라클 lock 테이블

일반 계정으로는 처리가 불가능하며 SYSTEM 계정(관리자) 계정으로 만 작업이 가능

2023년 1월 3일
·
0개의 댓글
·
post-thumbnail

상품 주문 동시성 문제 해결하기 - DeadLock, 낙관적 락(Optimistic Lock) & 비관적 락(Pessimistic Lock)

여러명의 사용자가 동시에 상품의 주문을 요청했을때 발생하는 동시성 문제의 해결과정

2022년 12월 6일
·
0개의 댓글
·

DB Lock

Read lock 이라고도 불린다.하나의 리소스에 동시에 여러 shared lock이 걸릴 수 있음.동시에 여러 read 작업이 가능하다.리소스를 동시에 읽을 수 있게 하되 변경은 불가하게 하는 것.Write lock 이라고도 불린다.어떤 transaction에서 데이

2022년 12월 1일
·
0개의 댓글
·

Optimistic Lock, Pessimistic Lock

낙관적 락과 비관적 락 JPA는 DB 트랜잭션의 격리 수준을 Read Committed 정도로 가정하며 더 높은 격리 수준이 필요한 경우 낙관적, 혹은 비관적 락 중 하나를 사용하면 된다. 낙관적 락 Optimistic Lock 대부분의 트랜잭션에서 충돌이 발생하지

2022년 11월 24일
·
0개의 댓글
·

Transaction 사용하기: #1 Django와 Mysql의 transaction

django의 transaction 사용법을 간단하게 설명하고, Mysql의 transaction 전략들을 알아본다.

2022년 11월 20일
·
0개의 댓글
·

JPA에서 제공하는 락 - 1. 낙관적 락

낙관적 락을 탐구해봤습니다.

2022년 11월 18일
·
0개의 댓글
·
post-thumbnail

락을 이용한 동시성 제어에서 트랜잭션 전파 속성 주의점

레디스를 이용한 스핀락을 사용시 트랜잭션 전파 속성에 관련해 주의해야할 점을 나름대로 정리했습니다.상위 레벨과 하위 레벨의 트랜잭션을 별개로 가져가야한다.→ 락을 거는 트랜잭션과 비즈니스 로직을 수행하는 트랜잭션을 분리해야한다.이유 - 하나의 락을 거는 트랜잭션과 비즈

2022년 11월 14일
·
0개의 댓글
·