[DB] ACID, 동시성 제어, serializabiliy, recoverabiliy, lock, MVCC, isolation 레벨
이쁘게 그림도 넣고 설명하고 싶지만 지금은 공부만 하는걸로도 시간이 부족하다.. 일단 설명만,, 데이터베이스 4가지 성질 ACID - Atomicity 원자성 : 하나의 트랜잭션은 모두 반영되거나 모두 반영되지 않아야 한다. - Consistency 일관성 : 동일한 규칙을 가지고 처리되어야 한다. - Isolation 격리성 : 동시에 여러 트랜잭션이 실행되어도 각각 별개로 동작해야 한다. - Durability 영속성 : 적용된 데이터는 영구적이어야 한다. concurrency control 동시성 제어는 다음을 제공한다 - serializabiliy 직렬화가능성 - recoverabiliy 회복가능성 스케쥴 : 각 트랜잭션 내의 오퍼레이션(연산자)들의 순서(리드, 라이트, 커밋 등) 시리얼 스케쥴과..
2024. 3. 18.
[DB] 트랜잭션, Lock, ACID, 격리 수준 질문, 답변
트랜잭션이란 무엇인지 설명해주세요 트랜잭션이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다. 상태를 변화시킨다는 것은 SELECT, UPDATE, INSERT, DELETE 와 같은 SQL을 이용해서 데이터베이스에 접근 하는 것을 의미한다. 트랜잭션 하나는 SQL 하나가 될 수도 있고 SQL 여러개가 될 수도 있다. 예를 들어 상품을 구매하는 API가 있다고 하자. 구매를 하기 위한 과정이 1. 유효한 사용자인지 확인, 2. 상품 정보 가져오기, 3. 상품 구매하기 라고 한다면 SQL은 SELECT, SELECT, INSERT가 된다. 이 3개의 SQL이 하나의 트랜잭션이 되는 것이다. https://mommoo.tistory.com/62 트랜잭션과 Lock 멀티 트랙잭션 환경에..
2023. 5. 10.