DB(Database)/Basic Concept

[DB] ํŠธ๋žœ์žญ์…˜ (Transaction), ์žฅ์•  ํšŒ๋ณต

ํƒฑ์ ค 2021. 11. 5. 13:09

ํŠธ๋žœ์žญ์…˜

  • ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ์‚ฐ๋“ค์„ ๋ชจ์•„๋†“์€ ๊ฒƒ = ์ž‘์—… ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ SQL ๋ฌธ์˜ ๋ชจ์ž„
    • ํŠนํžˆ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” INSERT, DELETE, UPDATE ๋ฌธ์˜ ์‹คํ–‰ ๊ด€๋ฆฌ
  • ๋…ผ๋ฆฌ์  ์ž‘์—…์˜ ๋‹จ์œ„
  • ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๋ณต๊ตฌ ์ž‘์—…์ด๋‚˜ ๋ณ‘ํ–‰ ์ œ์–ด ์ž‘์—…์„ ์œ„ํ•œ ์ค‘์š”ํ•œ ๋‹จ์œ„
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—… ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ์—ฐ์‚ฐ๋“ค์„ ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ œ๋Œ€๋กœ ์ •์˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์•ผ ํ•จ

ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ (ACID)

์›์ž์„ฑ (Atomicity) - ํŠธ๋žœ์žญ์…˜ ์—ฐ์‚ฐ๋“ค์ด ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ํ•˜๋‚˜๋„ ์‹คํ–‰๋˜์ง€ ์•Š์•„์•ผ ํ•จ (= all-or-nothing)
- ๋งŒ์•ฝ ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ๋„์ค‘ ์žฅ์•  ๋ฐœ์ƒํ•˜๋ฉด ์ง€๊ธˆ๊นŒ์ง€ ์‹คํ–‰ํ•œ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ ๋ชจ๋‘ ์ทจ์†Œํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํŠธ๋žœ์žญ์…˜ ์ž‘์—… ์ „ ์ƒํƒœ๋กœ ๋˜๋Œ๋ ค์•ผ ํ•จ
- ์›์ž์„ฑ ๋ณด์žฅ ์œ„ํ•ด ์žฅ์•  ๋ฐœ์ƒ ์‹œ ํšŒ๋ณต ๊ธฐ๋Šฅ ํ•„์š”
์ผ๊ด€์„ฑ (Consistency) - ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ ํ›„์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ผ๊ด€๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•จ
๊ฒฉ๋ฆฌ์„ฑ (Isolation) - ์ˆ˜ํ–‰ ์ค‘์ธ ํŠธ๋žœ์žญ์…˜์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜๋“ค์ด ์ค‘๊ฐ„ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Œ
- ๊ฒฉ๋ฆฌ์„ฑ ๋ณด์žฅ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋˜๋”๋ผ๋„ ๋งˆ์น˜ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ •ํ™•ํ•˜๊ณ  ์ผ๊ด€๋œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ์ œ์–ดํ•˜๋Š” ๊ธฐ๋Šฅ ํ•„์š”
์ง€์†์„ฑ (Durability) - ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•œ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋Š” ์˜๊ตฌ์ ์ด์–ด์•ผ ํ•จ
- ์žฅ์•  ๋ฐœ์ƒ ์‹œ ํšŒ๋ณต ๊ธฐ๋Šฅ ํ•„์š”

ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ๊ณผ DBMS์˜ ๊ธฐ๋Šฅ


ํŠธ๋žœ์žญ์…˜์˜ ์ฃผ์š” ์—ฐ์‚ฐ

  • commit ์—ฐ์‚ฐ
    • ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์Œ์„ ์„ ์–ธ (์ˆ˜ํ–‰ ์™„๋ฃŒ)
    • commit ์—ฐ์‚ฐ์ด ์‹คํ–‰๋˜๋ฉด ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜๋˜๊ณ  ์ผ๊ด€๋œ ์ƒํƒœ๋ฅผ ์ง€์†์ ์œผ๋กœ ์œ ์ง€ 

 

  • rollback ์—ฐ์‚ฐ
    • ํŠธ๋žœ์žญ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‹คํŒจํ–ˆ์Œ์„ ์„ ์–ธ (์ž‘์—… ์ทจ์†Œ)
    • rollback ์—ฐ์‚ฐ์ด ์‹คํ–‰๋˜๋ฉด ํŠธ๋žœ์žญ์…˜์ด ์ง€๊ธˆ๊นŒ์ง€ ์‹คํ–‰ํ•œ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ทจ์†Œ๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์ „์˜ ์ผ๊ด€๋œ ์ƒํƒœ๋กœ ๋˜๋Œ์•„๊ฐ

ํŠธ๋žœ์žญ์…˜์˜ ์ƒํƒœ

ํŠธ๋žœ์žญ์…˜์˜ 5๊ฐ€์ง€ ์ƒํƒœ

  • ํ™œ๋™ (active) ์ƒํƒœ: ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰๋˜๊ธฐ ์‹œ์ž‘ํ•˜์—ฌ ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์ธ ์ƒํƒœ
  • ๋ถ€๋ถ„ ์™„๋ฃŒ (partially committed) ์ƒํƒœ: ํŠธ๋žœ์žญ์…˜์˜ ๋งˆ์ง€๋ง‰ ์—ฐ์‚ฐ์ด ์‹คํ–‰์„ ๋๋‚ธ ์งํ›„์˜ ์ƒํƒœ
  • ์™„๋ฃŒ (committed) ์ƒํƒœ: ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์–ด commit ์—ฐ์‚ฐ ์‹คํ–‰ํ•œ ์ƒํƒœ, ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰ํ•œ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ƒˆ๋กœ์šด ์ผ๊ด€๋œ ์ƒํƒœ๊ฐ€ ๋˜๋ฉด์„œ ํŠธ๋žœ์žญ์…˜์ด ์ข…๋ฃŒ
  • ์‹คํŒจ (failed) ์ƒํƒœ: ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰์ด ์ค‘๋‹จ๋œ ์ƒํƒœ
  • ์ฒ ํšŒ (aborted) ์ƒํƒœ: ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰ ์‹คํŒจ๋กœ rollback ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•œ ์ƒํƒœ, ์ง€๊ธˆ๊นŒ์ง€ ์‹คํ–‰ํ•œ ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ์„ ๋ชจ๋‘ ์ทจ์†Œํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰๋˜๊ธฐ ์ „์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๋ฉด์„œ ํŠธ๋žœ์žญ์…˜ ์ข…๋ฃŒ, ์ฒ ํšŒ ์ƒํƒœ๋กœ ์ข…๋ฃŒ๋œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค์‹œ ์ˆ˜ํ–‰๋˜๊ฑฐ๋‚˜ ํ๊ธฐ๋จ

์žฅ์• ์™€ ํšŒ๋ณต

์žฅ์• (failure): ์‹œ์Šคํ…œ์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ

ํŠธ๋žœ์žญ์…˜ ์žฅ์•  ์˜๋ฏธ ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰์„ ๊ณ„์†ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ
์›์ธ ํŠธ๋žœ์žญ์…˜์˜ ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜. ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ, ์‹œ์Šคํ…œ ์ž์›์˜ ๊ณผ๋  ์‚ฌ์šฉ ์š”๊ตฌ, ์ฒ˜๋ฆฌ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ์˜ ๋ถ€์žฌ ๋“ฑ
์‹œ์Šคํ…œ ์žฅ์•  ์˜๋ฏธ ํ•˜๋“œ์›จ์–ด์˜ ๊ฒฐํ•จ์œผ๋กœ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰์„ ๊ณ„์†ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ
์›์ธ ํ•˜๋“œ์›จ์–ด ์ด์ƒ์œผ๋กœ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ์ •๋ณด๊ฐ€ ์†์‹ค๋˜๊ฑฐ๋‚˜ ๊ต์ฐฉ ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ๋“ฑ
๋ฏธ๋””์–ด ์žฅ์•  ์˜๋ฏธ ๋””์Šคํฌ ์žฅ์น˜์˜ ๊ฒฐํ•จ์œผ๋กœ ๋””์Šคํฌ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๋ถ€ ํ˜น์€ ์ „์ฒด๊ฐ€ ์†์ƒ๋œ ์ƒํƒœ
์›์ธ ๋””์Šคํฌ ํ—ค๋“œ์˜ ์†์ƒ์ด๋‚˜ ๊ณ ์žฅ ๋“ฑ 

 

ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ด๋™ ์—ฐ์‚ฐ

  • (input/output) ๋””์Šคํฌ์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ด๋™ ์—ฐ์‚ฐ
    • ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋น„ํœ˜๋ฐœ์„ฑ ์ €์žฅ ์žฅ์น˜์ธ ๋””์Šคํฌ์— ์ƒ์ฃผ, ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์—์„œ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ€์ ธ์™€ ์ฒ˜๋ฆฌํ•œ ๋‹ค์Œ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋””์Šคํฌ๋กœ ๋ณด๋‚ด๋Š” ์ž‘์—…์ด ํ•„์š”ํ•จ
    • ๋ธ”๋ก ๋‹จ์œ„๋กœ ์ˆ˜ํ–‰๋จ (๋””์Šคํฌ ๋ธ”๋ก: ๋””์Šคํฌ์— ์žˆ๋Š” ๋ธ”๋ก / ๋ฒ„ํผ ๋ธ”๋ก: ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ธ”๋ก)
    • input(X): ๋””์Šคํฌ ๋ธ”๋ก์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ X๋ฅผ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ธ”๋ก์œผ๋กœ ์ด๋™์‹œํ‚ค๋Š” ์—ฐ์‚ฐ
    • output(X): ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ธ”๋ก์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ X๋ฅผ ๋””์Šคํฌ ๋ธ”๋ก์œผ๋กœ ์ด๋™์‹œํ‚ค๋Š” ์—ฐ์‚ฐ
  • (read/write) ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์™€ ํ”„๋กœ๊ทธ๋žจ ๋ณ€์ˆ˜ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ด๋™ ์—ฐ์‚ฐ
    • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰์„ ์ง€์‹œํ•˜๋ฉด ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ธ”๋ก์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€์ˆ˜๋กœ ๊ฐ€์ ธ์˜ค๊ณ , ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•œ ๋ณ€์ˆ˜ ๊ฐ’์„ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ธ”๋ก์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์ด ํ•„์š”
    • read(X): ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ธ”๋ก์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ X๋ฅผ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€์ˆ˜๋กœ ์ฝ์–ด์˜ค๋Š” ์—ฐ์‚ฐ
    • write(X): ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€์ˆ˜ ๊ฐ’์„ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ธ”๋ก์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ X์— ๊ธฐ๋กํ•˜๋Š” ์—ฐ์‚ฐ

 

ํšŒ๋ณต

  • ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „์˜ ์ผ๊ด€๋œ ์ƒํƒœ๋กœ ๋ณต๊ตฌ์‹œํ‚ค๋Š” ๊ฒƒ
  • ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ ๋ณด์žฅ + ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ผ๊ด€๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜
  • ํšŒ๋ณต ๊ด€๋ฆฌ์ž๊ฐ€ ๋‹ด๋‹น: ์žฅ์•  ๋ฐœ์ƒ์„ ํƒ์ง€ํ•˜๊ณ , ์žฅ์• ๊ฐ€ ํƒ์ง€๋˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต๊ตฌ ๊ธฐ๋Šฅ ์ œ๊ณต

ํšŒ๋ณต์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์—ฐ์‚ฐ

redo(์žฌ์‹คํ–‰) ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต์‚ฌ๋ณธ์„ ๊ฐ€์ ธ์˜จ ํ›„ ๋กœ๊ทธ๋ฅผ ์ด์šฉํ•ด ๋ณต์‚ฌ๋ณธ์ด ๋งŒ๋“ค์–ด์ง„ ์ดํ›„์— ์‹คํ–‰๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์„ ์žฌ์‹คํ–‰ํ•˜์—ฌ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ง์ „์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋กœ ๋ณต๊ตฌ

(์ „๋ฐ˜์ ์œผ๋กœ ์†์ƒ๋œ ๊ฒฝ์šฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ)
undo(์ทจ์†Œ) ๋กœ๊ทธ๋ฅผ ์ด์šฉํ•ด ์ง€๊ธˆ๊นŒ์ง€ ์‹คํ–‰๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์„ ์ทจ์†Œํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์›๋ž˜์˜ ์ƒํƒœ๋กœ ๋ณต๊ตฌ

(๋ณ€๊ฒฝ ์ค‘์ด์—ˆ๊ฑฐ๋‚˜ ์ด๋ฏธ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ๋งŒ ์‹ ๋ขฐ์„ฑ์„ ์žƒ์€ ๊ฒฝ์šฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ)

 

ํšŒ๋ณต์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• →→→ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํšŒ๋ณต์˜ ํ•ต์‹ฌ์›๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ์ค‘๋ณต

  • ๋คํ”„(dump): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „์ฒด๋ฅผ ๋‹ค๋ฅธ ์ €์žฅ ์žฅ์น˜์— ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๋กœ๊ทธ(log)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ด์ „ ๊ฐ’๊ณผ ๋ณ€๊ฒฝํ•œ ์ดํ›„์˜ ๊ฐ’์„ ๋ณ„๋„์˜ ํŒŒ์ผ์— ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋ ˆ์ฝ”๋“œ ๋‹จ์œ„๋กœ ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰๊ณผ ํ•จ๊ป˜ ๊ธฐ๋ก๋จ 

ํšŒ๋ณต ๊ธฐ๋ฒ•

๋กœ๊ทธ ํšŒ๋ณต ๊ธฐ๋ฒ• - ์ฆ‰์‹œ ๊ฐฑ์‹  ํšŒ๋ณต ๊ธฐ๋ฒ•

  • ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์ค‘์— ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ฆ‰์‹œ ๋ฐ˜์˜
  • ์žฅ์•  ๋ฐœ์ƒ์— ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋กœ๊ทธ ํŒŒ์ผ์— ๊ธฐ๋ก, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋˜๋ฉด ๋กœ๊ทธ ํŒŒ์ผ์— ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋จผ์ € ๊ธฐ๋กํ•œ ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณ€๊ฒฝ ์—ฐ์‚ฐ ๋ฐ˜์˜
  • ์žฅ์•  ๋ฐœ์ƒ ์‹œ์ ์— ๋”ฐ๋ผ redo๋‚˜ undo ์—ฐ์‚ฐ ์‹คํ–‰ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต๊ตฌ

๋กœ๊ทธ ํšŒ๋ณต ๊ธฐ๋ฒ• - ์ง€์—ฐ ๊ฐฑ์‹  ํšŒ๋ณต ๊ธฐ๋ฒ•

  • ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์ค‘์— ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋กœ๊ทธ์—๋งŒ ๊ธฐ๋กํ•ด๋‘๊ณ , ํŠธ๋žœ์žญ์…˜์ด ๋ถ€๋ถ„ ์™„๋ฃŒ๋œ ํ›„์— ๋กœ๊ทธ์— ๊ธฐ๋ก๋œ ๋‚ด์šฉ์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํ•œ ๋ฒˆ์— ๋ฐ˜์˜
  • undo ์—ฐ์‚ฐ ํ•„์š” ์—†๊ณ  redo ์—ฐ์‚ฐ๋งŒ ์‚ฌ์šฉ
  • ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ์—๋Š” ๋ณ€๊ฒฝ ์ดํ›„ ๊ฐ’๋งŒ ๊ธฐ๋กํ•˜๋ฉด ๋จ : <T1, X, new_value> ํ˜•์‹

๊ฒ€์‚ฌ ์‹œ์  ํšŒ๋ณต ๊ธฐ๋ฒ•

  • ๋กœ๊ทธ ๊ธฐ๋ก ์ด์šฉํ•˜๋˜, ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ๊ฒ€์‚ฌ ์‹œ์ (checkpoint)๋ฅผ ๋งŒ๋“ฆ
  • ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๊ฐ€์žฅ ์ตœ๊ทผ ๊ฒ€์‚ฌ ์‹œ์  ์ดํ›„์˜ ํŠธ๋žœ์žญ์…˜์—๋งŒ ํšŒ๋ณต ์ž‘์—… ์ˆ˜ํ–‰
  • ๋กœ๊ทธ ์ „์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํšŒ๋ณต ๊ธฐ๋ฒ•์„ ์ ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋น„ํšจ์œจ์„ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ

 

๋ฏธ๋””์–ด ํšŒ๋ณต ๊ธฐ๋ฒ•

  • ๋””์Šคํฌ์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์• ์— ๋Œ€๋น„ํ•œ ํšŒ๋ณต ๊ธฐ๋ฒ•
  • ๋คํ”„(๋ณต์‚ฌ๋ณธ) ์ด์šฉ: ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ผ์ • ์ฃผ๊ธฐ๋งˆ๋‹ค ๋‹ค๋ฅธ ์•ˆ์ „ํ•œ ์ €์žฅ ์žฅ์น˜์— ๋ณต์‚ฌ
  • ๋””์Šคํฌ ์žฅ์•  ๋ฐœ์ƒํ•˜๋ฉด, ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋ณต์‚ฌํ•ด๋‘” ๋คํ”„๋ฅผ ์ด์šฉํ•ด ์žฅ์•  ๋ฐœ์ƒ ์ด์ „์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋กœ ๋ณต๊ตฌํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ redo ์—ฐ์‚ฐ ์ˆ˜ํ–‰
728x90