데이터베이스 Force와 Steal: Difference between revisions
From CS Wiki
No edit summary |
(Typo) |
||
Line 1: | Line 1: | ||
[[분류:데이터베이스]] | [[분류:데이터베이스]] | ||
;트랜잭션 처리 시 데이터 기록에 관한 옵션 | ;트랜잭션 처리 시 데이터 기록에 관한 옵션 | ||
== Force == | ==Force== | ||
; 트랜잭션이 완료된 후 바로 데이터를 디스크에 기록할 것인가? | |||
* '''Force''': 바로 기록한다 | ;트랜잭션이 완료된 후 바로 데이터를 디스크에 기록할 것인가? | ||
* '''No-Force''': 바로 기록하지 않는다(Redo 필요) | |||
트랜잭션이 완료되었으므로 당연히 기록할 것 같지만 성능 효율 등을 이유로, 대부분의 | *'''Force''': 바로 기록한다 | ||
*'''No-Force''': 바로 기록하지 않는다(Redo 필요) | |||
트랜잭션이 완료되었으므로 당연히 기록할 것 같지만 성능 효율 등을 이유로, 대부분의 DBMS는 적당히 기록해야 할 때 기록하는 메커니즘을 사용한다. | |||
==Steal== | |||
;트랜잭션이 완료되지 않은 상태에서 데이터를 디스크에 기록할 것인가? | |||
*'''Steal''': 기록한다(Undo 필요) | |||
*'''No-Steal''': 기록하지 않는다 | |||
트랜잭션이 완료되지 않았으므로 당연히 기록하면 안될 것 같지만 성능 효율 등을 이유로, 대부분의 DBMS는 적당히 미리 기록하는 메커니즘을 사용한다. | 트랜잭션이 완료되지 않았으므로 당연히 기록하면 안될 것 같지만 성능 효율 등을 이유로, 대부분의 DBMS는 적당히 미리 기록하는 메커니즘을 사용한다. | ||
== 결론 == | ==결론== | ||
* 대부분의 DBMS는 No-Force, Steal 사용 | |||
** 즉, Redo와 Undo 사용 필요 | *대부분의 DBMS는 No-Force, Steal 사용 | ||
* 일반적인 트랜잭션 속성과 어긋나게 동작함을 표현하기 위해 No-Force, Steal 사용 | **즉, Redo와 Undo 사용 필요 | ||
*일반적인 트랜잭션 속성과 어긋나게 동작함을 표현하기 위해 No-Force, Steal 사용 |
Latest revision as of 23:44, 7 May 2022
- 트랜잭션 처리 시 데이터 기록에 관한 옵션
Force[edit | edit source]
- 트랜잭션이 완료된 후 바로 데이터를 디스크에 기록할 것인가?
- Force: 바로 기록한다
- No-Force: 바로 기록하지 않는다(Redo 필요)
트랜잭션이 완료되었으므로 당연히 기록할 것 같지만 성능 효율 등을 이유로, 대부분의 DBMS는 적당히 기록해야 할 때 기록하는 메커니즘을 사용한다.
Steal[edit | edit source]
- 트랜잭션이 완료되지 않은 상태에서 데이터를 디스크에 기록할 것인가?
- Steal: 기록한다(Undo 필요)
- No-Steal: 기록하지 않는다
트랜잭션이 완료되지 않았으므로 당연히 기록하면 안될 것 같지만 성능 효율 등을 이유로, 대부분의 DBMS는 적당히 미리 기록하는 메커니즘을 사용한다.
결론[edit | edit source]
- 대부분의 DBMS는 No-Force, Steal 사용
- 즉, Redo와 Undo 사용 필요
- 일반적인 트랜잭션 속성과 어긋나게 동작함을 표현하기 위해 No-Force, Steal 사용