# lock

70개의 포스트
post-thumbnail

MYSQL 락과 트랜잭션

MySQL에서 사용하는 LOCK에 대해서 알아보고 왜 Repeactable read 격리수준에서 Phantom Read 문제가 발생하지 않는 이유에 대해서도 알아보자

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

[응용디비] Concurrency Control

0. 개요 직렬가능화 스케쥴(Serializable schedule)을 통해 병행 제어를 수행해야하며, 직렬가능화 스케쥴을 보장하기 위해 일반적으로 Strict 2PL Locking을 사용함. 일관성을 유지하면서 여러 트랜젝션을 동시에 처리하고자, (3가지 conf

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

Real MySQL - (4) 잠금(Lock)

MySQL에서 사용되는 잠금은 크게 스토리지 엔진 레벨과 MySQL 엔진 레벨로 나눌 수 있다.스토리지 엔진 레벨의 잠금은 스토리지 엔진 간 상호 영향을 미치지 않는다MySQL 엔진 레벨의 잠금은 모든 스토리지 엔진에 영향을 미친다글로벌 락은 FLUSH TABLES W

2023년 4월 16일
·
0개의 댓글
·
post-thumbnail

동시성 이슈 해결하기(낙관적락 적용)

IT-Hermes 프로젝트 진행 과정에서, 게시글을 클릭할 경우, IP를 확인하여 방문한 이력이 없을 경우조회수를 카운팅하는 API가 있습니다. 하지만, 방문 이력이 없는 2개의 PC에서 동시에 접속을 할 경우\+2가 아닌 +1로 카운팅이 되는 이슈가 있었습니다.아래의

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

<TIL> 86. 비관적 락(pessimistic lock), 낙관적 락(optimistic Lock)

테이블의 row에 접근 시 Lock을 걸고 다른 Lock이 걸려 있지 않을 경우에만 수정을 가능하게 할 수 있다.수정할 때 내가 먼저 이 값을 수정했다고 명시해 다른 사람이 동일한 조건으로 값을 수정할 수 없게 하는 것.비관적 락은 Repeatable Read 또는 S

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

Lock/DeadLock

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

2023년 3월 30일
·
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개의 댓글
·

오라클 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개의 댓글
·