๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Computer Science/Database System

[CS] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ(2/2)

by The Future Engineer, Lucy 2024. 11. 15.
728x90
๋ฐ˜์‘ํ˜•

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

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์˜ ๋‹จ์œ„.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ฟผ๋ฆฌ์ด๋ฏ€๋กœ, ์ฆ‰ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฟผ๋ฆฌ๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๋‹จ์œ„๋ฅผ ๋งํ•จ.
  • ACID ํŠน์ง•์„ ๊ฐ€์ง. (์›์ž์„ฑ, ์ผ๊ด€์„ฑ, ๋…๋ฆฝ์„ฑ, ์ง€์†์„ฑ)

์›์ž์„ฑ(Atomicity)

  • ํŠธ๋žœ์žญ์…˜๊ณผ ๊ด€๋ จ๋œ ์ผ์ด ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜์—ˆ๊ฑฐ๋‚˜ ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜๋ฅผ ๋ณด์žฅํ•˜๋Š” ํŠน์ง•. "all or nothing"

Commit๊ณผ Rollback

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

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

  • ํŠธ๋žœ์žญ์…˜์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ปค๋„ฅ์…˜ ๋‹จ์œ„๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋„ท์…˜ ๊ฐ์ฒด๋ฅผ ๋„˜๊ฒจ์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•จ. ์ด๋ฅผ ๋งค๋ฒˆ ๋„˜๊ฒจ์ฃผ๊ธฐ๊ฐ€ ์–ด๋ ต๊ธฐ๋„ ํ•˜๊ณ  ๊ท€์ฐฎ๊ธฐ๋„ ํ•จ. ์ด๋ฅผ ๋„˜๊ฒจ์„œ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ จ ๋ฉ”์„œ๋“œ์˜ ํ˜ธ์ถœ์„ ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์— ๋ฌถ์ด๋„๋ก ํ•˜๋Š” ๊ฒƒ.

์ผ๊ด€์„ฑ(Consistency)

  • 'ํ—ˆ์šฉ๋œ ๋ฐฉ์‹'์œผ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ธฐ๋ก๋„๋‹ˆ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์กฐ๊ฑด, ๊ทœ์น™์— ๋”ฐ๋ผ ์œ ํšจํ•จ์„ ๊ฐ€์ ธ์•ผ ํ•จ.

๊ฒฉ๋ฆฌ์„ฑ(Isolation)

  • ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์‹œ ์„œ๋กœ ๋ผ์–ด๋“ค์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ.
  • ๋ณต์ˆ˜์˜ ๋ณ‘๋ ฌ ํŠธ๋žœ์žญ์…˜์€ ์„œ๋กœ ๊ฒฉ๋ฆฌ๋˜์–ด ๋งˆ์น˜ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ž‘๋™๋˜์–ด์•ผ ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š ใ„ด์—ฌ๋Ÿฌ ์‚ฌ์š”์ž๊ฐ€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ.
  • ๊ฒฉ๋ฆฌ์„ฑ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์œผ๋กœ ๋‚˜๋‰˜์–ด ๊ฒฉ๋ฆฌ์„ฑ์„ ๋ณด์žฅ.
  • ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์€ SERIALIZABLE, REPEATABLE_READ, READ_COMMITTED, READ_UNCOMMITTED๊ฐ€ ์žˆ์œผ๋ฉฐ, ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๋™์‹œ์„ฑ์ด ๊ฐ•ํ•ด์ง€์ง€๋งŒ ๊ฒฉ๋ฆฌ์„ฑ์€ ์•ฝํ•ด์ง€๊ณ , ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๋™์‹œ์„ฑ์€ ์•ฝํ•ด์ง€๊ณ  ๊ฒฉ๋ฆฌ์„ฑ์€ ๊ฐ•ํ•ด์ง.
  • SERIALIZABLE์€ ๊ฒฉ๋ฆฌ์„ฑ์ด ๊ฐ•ํ•œ๋ฐ ๋ฐ˜ํ•ด, ๋™์‹œ์„ฑ์€ ์•ฝํ•จ.
  • REPEATABLE_READ๋Š” ํŒฌํ…€ ๋ฆฌ๋“œ, READ_COMMITTED๋Š” ํŒฌํ…€๋ฆฌ๋“œ, ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์€ ์กฐํšŒ๊ฐ€ ๋ฐœ์ƒ, READ_UNCOMMITTED๋Š” ํŒฌํ…€ ๋ฆฌ๋“œ, ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์€ ์กฐํšŒ, ๋”ํ‹ฐ ๋ฆฌ๋“œ๊ฐ€ ๋ฐœ์ƒ ๊ฐ€๋Šฅ.

์ง€์†์„ฑ(Durability)

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

๋ฌด๊ฒฐ์„ฑ

  • ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ, ์ผ๊ด€์„ฑ, ์œ ํšจ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ.
  • ๋ฌด๊ฒฐ์„ฑ์ด ์œ ์ง€๋˜์–ด์•ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋„๋‹ˆ ๋ฐ์ดํ„ฐ ๊ฐ’๊ณผ ๊ทธ ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ํ˜„์‹ค ์…ฐ๊ฒŒ์˜ ์‹ค์ œ ๊ฐ’์ด ์ผ์น˜ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์‹ ๋ขฐ๊ฐ€ ์ƒ๊น€.
  • ๋ฌด๊ฒฐ์„ฑ ์ข…๋ฅ˜
    • ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ: ๊ธฐ๋ณธํ‚ค๋กœ ์„ ํƒ๋œ ํ•„๋“œ๋Š” ๋นˆ ๊ฐ’ใ…‡๋ฅด ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ.
    • ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ: ์„œ๋กœ ์ฐธ์กฐ ๊ด€๊ณ„์— ์žˆ๋Š ๋‘ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋Š” ํ•ญ์ƒ ์ผ๊ด€๋œ ๊ฐ’์„ ์œ ์ง€ํ•ด์•ผ ํ•จ.
    • ๊ณ ์œ  ๋ฌด๊ฒฐ์„ฑ: ํŠน์ • ์†์„ฑ์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋„๋ก ์กฐ๊ฑด์ด ์ฃผ์–ด์ง„ ๊ฒฝ์šฐ ๊ทธ ์†์„ฑ ๊ฐ’์€ ๋ชจ๋‘ ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ง.
    • NULL ๋ฌด๊ฒฐ์„ฑ: ํŠน์ • ์†์„ฑ ๊ฐ’์— NULL์ด ์˜ฌ ์ˆ˜ ์—†๋‹ค๋Š” ์กฐ๊ฑด์ด ์ฃผ์–ด์ง„ ๊ฒฝ์šฐ ๊ทธ ์†์„ฑ ๊ฐ’์€ NULL์ด ๋  ์ˆ˜ ์—†๋‹ค๋Š” ์ œ์•ฝ ์กฐ๊ฑด.

์ธ๋ฑ์Šค

  • ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ์žฅ์น˜.
  • ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •ํ•˜๋ฉด ํ…Œ์ด๋ธ” ์•ˆ์— ๋‚ด๊ฐ€ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ.

B-ํŠธ๋ฆฌ

  • ์ธ๋ฑ์Šค๋Š” ๋ณดํ†ต B-ํŠธ๋ฆฌ๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ง.
  • ๋ฃจํŠธ ๋…ธ๋“œ, ๋ฆฌํ”„ ๋…ธ๋“œ, ๊ทธ๋ฆฌ๊ณ  ๋ฃจํŠธ ๋…ธ๋“œ์™€ ๋ฆฌํ”„ ๋…ธ๋“œ ์‚ฌ์ด์— ์žˆ๋Š” ๋ธŒ๋žœ์น˜ ๋…ธ๋“œ๋กœ ๋‚˜๋‰จ.

์ธ๋ฑ์Šค๊ฐ€ ํšจ์œจ์ ์ธ ์ด์œ ์™€ ๋Œ€์ˆ˜ํ™•์žฅ์„ฑ

  • ํšจ์œจ์ ์ธ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ๋ชจ๋“  ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ท ํ˜• ์žกํžŒ ํŠธ๋ฆฌ ๊ตฌ์กฐ์™€ ํŠธ๋ฆฌ ๊นŠ์ด์˜ ๋Œ€์ˆ˜ํ™•์žฅ์„ฑ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๊ฐ€ ํšจ์œจ์ ์ž„.
  • ๋Œ€์ˆ˜ํ™•์žฅ์„ฑ์ด๋ž€ ํŠธ๋ฆฌ ๊นŠ์ด๊ฐ€ ๋ฆฌํ”„ ๋…ธ๋“œ ์ˆ˜์— ๋น„ํ•ด ๋งค์šฐ ๋Š๋ฆฌ๊ฒŒ ์„ฑ์žฅํ•˜๋Š” ๊ฒƒ.
  • ๊ธฐ๋ณธ์ €๊ธ๋กœ ์ธ๋ฑ์Šค๊ฐ€ ํ•œ ๊นŠ์ด์”ฉ ์ฆ๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ์ตœ๋Œ€ ์ธ๋ฑ์Šค ํ•ญ๋ชฉ์˜ ์ˆ˜๋Š” 4๋ฐฐ์”ฉ ์ฆ๊ฐ€.

์ธ๋ฑ์Šค ์ตœ์ ํ™” ๊ธฐ๋ฒ•

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ ๊ณจ์กฐ๋Š” ๋˜‘๊ฐ™์Œ.
    1. ์ธ๋ฑ์Šค๋Š” ๋น„์šฉ.
      • ์ธ๋ฑ์Šค๋Š” ๋‘ ๋ฒˆ ํƒ์ƒ‰ํ•˜๋„๋ก ๊ฐ€์š”ํ•จ. ์ธ๋ฑ์Šค ๋ฆฌ์ŠคํŠธ, ๊ทธ๋‹ค์Œ ์ปฌ๋ ‰์…˜ ์ˆœ์œผ๋กœ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ, ๊ด€๋ จ ์ฝ๊ธฐ ๋น„์šฉ์ด ๋“ค๊ฒŒ ๋จ.
      • ์ปฌ๋ ‰์…˜์ด ์ˆ˜์ •๋˜์—ˆ์„ ๋•Œ ์ธ๋ฑ์Šค๋„ ์ˆ˜์ •๋˜์–ด์•ผ ํ•จ. B-ํŠธ๋ฆฌ์˜ ๋†’์ด๋ฅผ ๊ท ํ˜•์žˆ๊ฒŒ ์กฐ์ ˆํ•˜๋Š” ๋น„์šฉ๋„ ๋“ค๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๋น„์šฉ๋„ ๋“ค๊ฒŒ ๋จ. โžก๏ธ ํ€„๋ฆฌ์— ์žˆ๋Š” ํ•„๋“œ์— ์ธ๋ฑ์Šค๋ฅผ ๋ฌด์ž‘์ • ๋‹ค ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๋‹ต์ด ์•„๋‹˜. ์ปฌ๋ ‰์…˜์—์„œ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š” ์–‘์ด ๋งŽ์„์ˆ˜๋ก ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ .
    2. ํ•ญ์ƒ ํ…Œ์ŠคํŒ…
      • ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด์˜ ๊นŠ์ด, ํ…Œ์ด๋ธ”์˜ ์–‘ ๋“ฑ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋น„์Šค ํŠน์ง•์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง. โžก๏ธ ํ•ญ์ƒ ํ…Œ์ŠคํŒ…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”.
    3. ๋ณตํ•ฉ ์ธ๋ฑ์Šค๋Š” ๊ฐ™์Œ, ์ •๋ ฌ, ๋‹ค์ค‘ ๊ฐ’, ์นด๋””๋„๋ฆฌํ‹ฐ ์ˆœ.
      • ๋ณดํ†ต ์—ฌ๋Ÿฌ ํ•„๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐํšŒํ•  ๋•Œ ๋ณตํ•ฉ ์ธ๋ฑ์Šค ์‚ฌ์šฉ.
      • ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ  ์ƒ์„ฑ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ธ๋ฑ์Šค ์„ฑ๋Šฅ์ด ๋‹ฌ๋ผ์ง. ๊ฐ™์Œ, ์ •๋ ฌ, ๋‹ค์ค‘ ๊ฐ’, ์นด๋””๋„๋ฆฌํ‹ฐ ์ˆœ์œผ๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•จ.
728x90
๋ฐ˜์‘ํ˜•

'Computer Science > Database System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[CS] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ(1/2)  (0) 2024.11.07