Rush Hour (Feat. j-hope of BTS)
- 아티스트
- Crush
- 앨범
- Rush Hour
- 발매일
- 2022.09.22
트랜잭션
한 묶음으로 처리되어야 하는 SQL 명령문들의 집합
→ 트랜잭션에 속한 SQL 명령문들은 모두 정상 처리되어야 함께 완료되며 하나의 명령 문이라도 오류가 발생하면 전체를 취소함
- 커밋(commit): 정상 종료→ 트랜잭션의 실행 결과를 데이터베이스에 최종적으로 반영하는 것|임시로 실행 처리한 트랜잭션의 실행 결과를 실제 데이터베이스에 반영하는 명령
- 롤백(rollback) -실행 결과를 반영하지 않고 취소하여 원래 상태로 되돌리는 것
- 롤백이 가능하므로 커밋되기 전까지는 데이터베이스에 완전하게 반영되었다고 확신할 수 없는 임시 실행 결과일 뿐임

| 2개의 UPDATE문으로 구성된 '계좌이체' 트랜잭션의 예 |
| 2개의 UPDATE문은 모두 실행되어야하고, 둘 중 하나의 UPDATE문만 실행되어서는 곤 란하므로 트랜잭션으로 묶어 처리해야 함 |
| START TRANSACTION 명령문과 COMMIT 명령문으로 2개 UPDATE문을 둘러쌈으로써 트랜잭션을 구성 |
트랜잭션 안의 SQL 명령문을 모두 성공적으로 실행하여 완료하거나 아니면 모두 철회하 여 무효화해야 함을 의미
- ‘전부 혹은 전무(all or nothing)' 실행 규칙을 적용
- 만약 장애가 발생한다면 장애 발생 시점에 이미 정상 완료되어 커밋된 트랜잭션은 제 외하고 완료되지 않은 트랜잭션은 모두 취소시킴
트랜잭션의 특성 (ACID) |
|
| 원자성 (Atomicity) |
트랜잭션 안의 SQL 명령문을 모두 성공적으로 실행하여 완료 or 모두 철회하여 무효화해야함을 의미
|
| 일관성 (Consistency) |
데이터베이스가 트랜잭션 실행 전의 일관된 상태에서 트랜잭션 실행 후에도 또 다른 일 관된 상태로 전환되어야함을 의미 |
| 고립성 (Isolation) |
커밋될 때까지 트랜잭션이 수행한 임시 실행 결과가 다른 트랜잭션에게 공개되지 않아야 함을 의미 |
| 지속성 (Durability) |
일단 트랜잭션이 커밋되면 그 트랜잭션의 실행 결과는 장애가 발생하더라도 보존되어야 함을 의미 |
| 트랜잭션의 특성과 기법 | 트랜잭션 지원 DBMS 모듈 |
![]() |
동시성 제어(concurrency control) 모듈
|
회복(recovery) 모듈
|
|
| 락킹(locking) : 대표적 동시성 제어 기법 | |
| 로깅(logging) : 대표적인 회복 기법 |
트랜잭션의 종류

명시성 트랜잭션 |
|
| ‘사용자 트랜잭션’ 또는 ‘수동 트랜잭션’ | 트랜잭션의 시작과 끝을 사용자가 직접 명시적으로 지정하는 트랜잭션 |
![]() |
|
![]() |
|
자동완료 트랜잭션 |
|
|
|
![]() |
|
![]() |
|
수동 완료 트랜잭션 |
||
| 트랜잭션의 끝만 사용자가 직접 명시적으로 지정하는 트랜잭션 | ‘암시적(implicit) 트랜잭션’ | 다음 명령문 실행하면 START TRANSACTION 명령문 없이도 트랜잭션이 자동으로 시작 |
![]() |
||
![]() 위 같이 수동완료 모드를 설정하면 START TRANSACTION 명령문은 필요 없으나 COMMIT 명령문이나 ROLLBACK 명령문은 반드시 명시해야 함 |
||
![]() |
||

트랜잭션 로그 |
|
| 로그 데이터베이스에 기록되는 트랜잭션 로그의 기본 구조 |
로그 일련번호를 포함하여 트랜잭션_식별자와 START, COMMIT, ROLLBACK, 명령문 유형과 변경 내용 등을 기록 |
![]() |
|
| 트랜잭션 로그의 예 | ![]() |
체크 포인트(check point) |
|
|
|
| 체크 포인트 시점에는 버퍼 캐시 안의 데이터와 디스크 안의 저장 데이터베이스가 100% 일치하는 동기화가 수행 |
|
'2022 > DB 데이터베이스' 카테고리의 다른 글
| [DB] E-R 모델 (0) | 2022.11.24 |
|---|---|
| [DB] 정규화 (1) | 2022.11.17 |
| [DB]SQL응용 2 (트리거, 사용자 정의 함수) (0) | 2022.11.03 |
| [DB] SQL 응용 1 (내장 함수 | 저장 프로시저) (0) | 2022.11.03 |
| SQL 7W (0) | 2022.11.03 |









