Transaction

ํŠธ๋žœ์žญ์…˜์ด๋ž€?

๋…ผ๋ฆฌ์  ์ž‘์—… ๋‹จ์œ„๋กœ์„œ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌ๋˜์–ด์•ผํ•˜๋Š” ๋ถ„๋ฆฌ๋  ์ˆ˜ ์—†๋Š” ์—ฐ์‚ฐ ๊ทธ๋ฃน์ด๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•ด์„œ ์•„๋ž˜์˜ SQL(์งˆ์˜์–ด)๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

  1. SELECT

  2. INSERT

  3. DELETE

  4. UPDATE

์—ฌ๊ธฐ์„œ ์ž‘์—…๋‹จ์œ„๋Š” SQL๋ฌธ ํ•œ๋ฌธ์žฅ์ด ์•„๋‹ˆ๋ผ ๋งŽ์€ SQL๋ฌธ์„ ์‚ฌ๋žŒ์ด ์ •ํ•˜๋Š” ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ •ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

ํŠธ๋žœ์žญ์…˜์˜ ํŠน์ง•

ACID

  1. ์›์ž์„ฑ(Atomicity) : ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ชจ๋‘ ๋ฐ˜์˜๋˜๊ฑฐ๋‚˜, ์ „ํ˜€ ๋ฐ˜์˜์ด๋˜์ง€ ์•Š์•„์•ผํ•œ๋‹ค.

  2. ์ผ๊ด€์„ฑ(Consistency) : ํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผํ•œ๋‹ค.

  3. ๋…๋ฆฝ์„ฑ(Isolation) : ๋‘˜์ด์ƒ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ๋ณ‘ํ–‰, ์‹คํ–‰๋˜๊ณ  ์žˆ์„ ๊ฒฝ์šฐ์—๋Š” ์–ด๋Š ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜๋„ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜ ์—ฐ์‚ฐ์— ๋ผ์–ด๋“ค ์ˆ˜ ์—†๋‹ค.

  4. ์ง€์†์„ฑ(Durability) : ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ์„ ๊ฒฝ์šฐ, ๊ฒฐ๊ณผ๋Š” ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด์•ผํ•œ๋‹ค.

Commit & Rollback

  • Commit ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ๋๋‚ฌ๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ผ๊ด€์ ์ธ ์ƒํƒœ์— ์žˆ์„ ๋•Œ ์ด๋ฅผ ์•Œ๋ฆฌ๋Š” ์—ฐ์‚ฐ

  • Rollback ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๊ฐ€ ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด, ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ์ด ๊นจ์ง„๊ฒฝ์šฐ, ํŠธ๋žœ์žญ์…˜์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋ถ€๋ถ„์ ์œผ๋กœ๋งŒ ์—ฐ์‚ฐ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์ทจ์†Œํ•œ๋‹ค. ํ›„์— ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋‹จ์œ„๋กœ Rollback์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

Last updated