일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- recoverability
- B tree 데이터삽입
- SQL
- 운영체제
- 김영한
- 커널 동기화
- 인터럽트
- 트랜잭션
- 쉬운코드
- SDK
- 시스템프로그래밍
- 반효경
- 네트워크
- 개발남노씨
- 데이터베이스
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 코딩애플
- 프로세스 주소 공간
- 코딩테스트 [ ALL IN ONE ]
- 백엔드
- CPU 스케줄링
- Git
- 온디바이스AI
- vite
- 쉬운 코드
- 시그널 핸들러
- 갤럭시 S24
- 운영체제와 정보기술의 원리
- Extendable hashing
- concurrency control
- Today
- Total
목록트랜잭션 (2)
티끌모아 태산

이번 시간에는 concurrency control의 기초가 되는 schedule과 serializability에 대해서 알아보도록 하겠습니다. Schedule 자, K라는 사람이 H라는 사람에게 20만원을 이체할 때 H도 ATM에서 본인 계좌에 30만원을 입금한다면 여러 형태의 실행이 가능할 수 있습니다. 1 case K의 트랜잭션이 발생한 이후에 H의 트랜잭션이 발생하는 경우 입니다. 즉 K에서 read, write, commit 한 후 H에서 read, write하고 commit하는 순서입니다. 2 case 이번에는 30만원을 입금하는 트랜잭션이 먼저 발생하고 그 후에 K가 H에게 20만원을 송금하는 트랜잭션이 발생한 것입니다. 3 case 이번에는 20만원을 송금하는 트랜잭션을 먼저 시작을 했습니다..

이번시간에는 트랜잭션과 관련된 중요한 속성들인 ACID에 대해서 공부해 보겠습니다. Transaction 다음과 같이 간단한 예제를 통해서 개념에 대해 배워보겠습니다. J가 H에게 20만원을 이체한다면 각자의 계좌는 어떻게 변경돼야 할까요? 현재 상태를 살펴보면, 먼저 J는 계좌에 100만원이 있고 H는 200만원이 있다고 가정해 보겠습니다. J가 H에게 20만원을 보내게 되면 J는 100만원에서 80만원이 되고 H는 200만원에서 최종적으로 220만원이 됩니다. 그러면 이 과정을 SQL문으로 표현하면 어떻게 될까요? account 테이블에서 잔액을 의미하는 balance 를 업데이트 해주는 과정입니다. // J part UPDATE account SET balance = balance - 200000 ..