티스토리 뷰
트랜잭션 : 하나의 작업 묶음, 쪼갤 수 없는 작업의 단위
트랙잭션은 COMMIT 또는 ROLLBACK 까지 진행되어야 비로소 진행 된 것이다 그 전까지 다른 트랜잭션에 접근 불가.
특징 : ACID
Atomicity 원자성 : All or Nothing 될거면 몽땅 되든지 안될거면 몽땅 안되던지
Atomicity Ex)
트랜잭션시작
쿼리1 성공
쿼리2 성공
쿼리3 실패
ROLLBACK
트랜잭션 시작
쿼리1 성공
쿼리2 성공
쿼리3 성공
COMMIT
Consistency 일관성 : 트랜잭션을 수행하고 나면 하나의 일관된 상태에서 다른 일관된 상태로 바뀌어야 한다
Consistency Ex)
돈 이라는 도메인의 유효범위가 0 이상의 정수 일 때
트랜잭션 시작 -> 현재 돈 300원 -> 500원짜리 아이템 구입 -> 현재 돈 -200 : 일관성을 해침
트랜잭션 시작 -> 현재 돈 300원 -> 500원짜리 아이템 구입 -> 300원짜리 아이템 판매 -> 현재 돈 +100 : 일관성 유지
Isolation 고립성 : 한 트랜잭션이 실행되는 동안 외부에서는 트랜잭션에 접근할 수 없음
병렬로 수행되더라도 결과는 마치 직렬로 수행된 것 과 비슷해야한다
*TIL 트랜잭션 아이솔레이션 레벨 4단계 : 학부 지식은 아니지만 게임 개발을 원한다면 공부해야하는 필수 지식
Durability 지속성 : 완료(Commit)된 트랜잭션은 영구적으로 보존되어야 한다
ex)
트랜잭션 시작 -> 작업 1,2 성공 -> Commit 누르는 것과 동시에 프로그램 다운 -> 운영체제가 도움을 주어 어떻게든 commit 시킴
'DBMS > MY-SQL' 카테고리의 다른 글
[RDBMS / MY-SQL] Auto_Increment 확인 및 초기화하기 (1) | 2020.09.21 |
---|---|
[RDBMS / MY-SQL] .sql 파일 실행 시키기 (0) | 2020.09.21 |
[RDBMS / MY-SQL] 리눅스에서 MY-SQL DB 덤프 뜨는 방법 (0) | 2020.09.21 |
- Total
- Today
- Yesterday
- Trouble shooting
- double free
- UE4
- 람다함수
- coordinate system
- 람다
- LambdaFunction
- C
- UE5
- Lambda
- c++
- c++11
- bug
- rotator
- unrealengine
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |