본문 바로가기

Database

(2)
[DB] 락(Lock)이란? 트랜잭션 락(Lock)이란? 락(Lock)이란?여러 커넥션에서 동시에 동일한 자원을 요청하는 경우, 순서대로 하나의 커넥션만 접근할 수 있게 해주는 기능동시에 데이터베이스에 접근하는 상황(동시성)에서 데이터 무결성과 일관성을 지키기 위한 용도락의 종류공유 Lock(Shared Lock, Read Lock, S-Lock)배타 Lock(Exclusive Lock, Write Lock, X-Lock)공유 락(Shared Lock, Read Lock, S-Lock)읽기 작업(Read)을 위해 잠그는 락여러 사용자가 동시에 데이터를 읽어도 일관성에 영향을 주지 않기 때문에, 공유 Lock간에는 동시에 접근이 가능하다단, 다른 배타 Lock은 막는다.배타 락(Exclusive Lock, Write Lock, X-L..
[DB] 트랜잭션이란? 스터디원들과 매주 1개 CS 주제에 대해 공부하고 정리하는 활동을 진행하고 있다. 첫번째 활동으로는 트랜젝션이란 무엇인가에 대해 진행하여 정리한다. 🗄️트랜잭션이란?DB의 상태를 변경시키는 작업의 단위한꺼번에 수행되어야 할 연산들을 모아둔 것한번에 처리하거나, 한번에 원 상태로 복구하거나🗃️ 트랜잭션의 특징(ACID)1. Atomicity(원자성)트랜잭션 내에서 진행되는 모든 연산들은 DB에 반영되거나, 전혀 반영되지 않아야한다.All or Nothing2. Consistency(일관성)트랜잭션의 작업 처리 결과는 항상 일관성 있는 DB 상태로 변환되야 한다.트랜잭션 수행 전, 후의 시스템 상태가 같아야한다는 것3. Isolation(독립성)하나의 트랜잭션이 실행될 때, 다른 트랜잭션이 끼어들 수 없..