db
-
[DB] 트랜잭션 격리수준 (Isolation Level)database/DB Concept 2022. 1. 31. 19:00
트랜잭션 격리수준 (Isolation Level) 동시성(Concurrency) 문제 실제 서비스에서는 많은 사용자가 동시 다발적으로 서버에 요청을 하게 되고 서버는 데이터베이스에 다시 트랜잭션을 요청하게 됩니다. 모든 요청을 순서대로 처리하게 된다면 동시성(Concurrency) 문제가 생길 것입니다. 반대로 동시성을 보장하기 위해 모든 요청을 동시에 처리하려고 한다면 데이터의 값이 맞지 않는 일관성(Consistency) 문제가 생기게 됩니다. Isolation 이 낮다면 발생하는 문제들 아래와 같은 회원 테이블이 있습니다. 이 테이블에 대한 트랜잭션이 동시에 일어나면 어떤 문제가 있을까 회원 테이블 이름 VARCHAR 장장스 잔액 BIGINT 10000 등급 VARCHAR BRONZE 지역 VARC..
-
[DB] 트랜잭션의 장애와 복구database/DB Concept 2021. 11. 25. 12:36
트랜잭션의 장애와 복구 트랜잭션 장애와 복구 트랜잭션 동작 시 장애가 발생하면 어떻게 해야 할까. 보통 로그를 통한 복구를 진행하게 된다. 복구 방법으로 REDO 복구와 UNDO 복구가 있다. DBMS는 어떻게 복구를 해야할지 판단한 후 REDO와 UNDO를 통해 복구를 진행하게 된다. DBMS의 페이지 버퍼 데이터베이스 시스템은 보통 비휘발성 저장 장치인 디스크에 데이터를 저장하며 전체 데이터베이스의 일부분을 메인 메모리에 유지한다. DBMS는 데이터를 고정 길이의 페이지(page)로 저장하며, 디스크에서 읽거나 쓸 때에 페이지 단위로 입출력이 이루어진다. 메인 메모리에 유지하는 페이지들을 관리하는 모듈을 보통 페이지 버퍼(page buffer) 관리자 또는 버퍼 관리자라고 부르는데, DBMS의 많은 ..
-
[DB] 트랜잭션database/DB Concept 2021. 11. 23. 19:25
# A친구의 통장 잔액은 300,000원 일때, UPDATE account SET balance = balance - 500000 WHERE name = 'A'; [DB]트랜잭션 트랜잭션이란 데이터베이스 트랜잭션은 일반적으로 데이터베이스의 모든 변경 사항을 나타냅니다. 트랜잭션은 논리 또는 작업의 단일 단위이며 때로는 여러 작업으로 구성됩니다. 데이터베이스의 일관된 모드에서 수행되는 모든 논리적 계산을 트랜잭션이라고 합니다. 트랜잭션은 왜 필요할까? 친구에게 빌린 돈 10,000원을 이체했습니다. 그런데 예기치 못한 오류가 발생해 버렸습니다. 제 계좌에서는 10,000원이 출금되어 나갔는데 친구 계좌에는 입금이 되지 않았습니다. 이러한 상황이 발생하지 않도록 중간에 거래가 실패하면 처음의 상태로 되돌려야..