| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 윤성우 열혈자료구조
- JSON
- datastructure
- Algorithm
- 혼자 공부하는 C언어
- 알기쉬운 알고리즘
- insertion sort
- C 언어 코딩 도장
- coding test
- Serialization
- list 컬렉션
- stream
- Graph
- Stack
- 윤성우의 열혈 자료구조
- R
- ㅅ
- buffer
- Selection Sorting
- 메모리구조
- 이것이 자바다
- 이스케이프 문자
- s
- C programming
- Today
- Total
Engineering Note
[Database] 데이터베이스의 트랜잭션 처리 연산 과정 본문
[Database] 데이터베이스의 트랜잭션 처리 연산 과정
Software Engineer Kim 2025. 12. 24. 23:07데이터베이스의 저장 연산 과정
데이터베이스 데이터 저장 위치
데이터베이스는 비휘발성 저장장치인 디스크에 위치
저장장치 관점에서 트랜잭션 처리 과정
트랜잭션이 데이터베이스의 데이터를 처리하려면 아래 그림1처럼 데이터를 디스크에서 메인 메모리로 가져와 이를 처리한 후 그 결과를 다시 디스크로 보내는 작업이 필요하다.

디스크와 메인메모리 간의 데이터 이동 연산
input(x) : 디스크 블록에 저장되어 잇는 데이터X를 메인 메모리 버퍼블록으로 이동시키는 연산
output(x) : 메인 메모리 버퍼 블록에 있는 데이터 X를 디스크 블록으로 이동시키는 연산
메인 메모리 버퍼블록과 프로그램 변수 간의 데이터 인동 연산
read(x) : 메인 메모리 버퍼블록에 저장되어 있는 데이터 X를 프로그램의 변수로 읽어오는 연산
write(x) : 프로그램의 변수 값을 메인 메모리 버퍼 블록에 있는 데이터 X에 기록하는 연산
응용프로그램으로 데이터를 읽어오는 read(x)연산이 제대로 수행되려면 먼저 데이터베이스가 상주하고 있는 디스크에서 메인 메모리 버퍼 블록으로 데이터를 가져오는 input(x) 연산이 수행되어야 한다. 이렇게 읽어온 데이터에 대한 연산은 프로그램내에서 변수를 대상으로 수행된다. 트랜잭션이 성공적으로 완료되려면 트랜잭션의 모든 연산을 처리한 후 결과 값을 디스크의 데이터베이스에 이를 위하서는 write(x)연산이 실행된 후 ouput(x) 연산이 실행된다.

'Computer Science > Database' 카테고리의 다른 글
| [Database] 중간테이블은 정규화의 결과다. 확장성은 덤. (0) | 2026.01.01 |
|---|---|
| [Database] 외래키(Foreign Key) (0) | 2025.12.26 |
| [Database] FLUSH와 COMMIT 차이 (0) | 2025.10.07 |
| [Database] H2 다운로드 및 실행방법과 실행 모드 (0) | 2025.10.07 |
| [Database] MySQL, SQL JOIN 완벽 정리: INNER JOIN vs LEFT JOIN (0) | 2025.10.05 |