๐Ÿ“˜ Spring Transaction

Transaction

  • ํŠธ๋žœ์ ์…˜์ด๋ž€ ์ชผ๊ฐค ์ˆ˜ ์—†๋Š” ์—ฌ๋Ÿฌ ์ž‘์—…๋“ค์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ฌถ์€ ์ตœ์†Œ ๋‹จ์œ„๋กœ ๋ฌถ์€๊ฒƒ์ด๋‹ค.

ํŠน์ง•

์ด๋ก ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ๊ฐ๊ฐ์˜ ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•ด ์›์ž์„ฑ(Atomicity), ์ผ๊ด€์„ฑ(Consistency), ๋…๋ฆฝ์„ฑ(Isolation), ์˜๊ตฌ์„ฑ(Durability)์„ ๋ณด์žฅํ•œ๋‹ค. ์ด ์„ฑ์งˆ์„ ์ฒซ๊ธ€์ž๋ฅผ ๋”ฐ ACID๋ผ ๋ถ€๋ฅธ๋‹ค.

  • ์›์ž์„ฑ(Atomicity) ํŠธ๋ž™์žญ์…˜์˜ ์—ฐ์‚ฐ์€ DB์— ๋ชจ๋‘ ๋ฐ˜์˜๋˜๋˜์ง€, ๋ชจ๋‘ ๋ฐ˜์˜๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจํ•œ๋‹ค๋ฉด ์•ž์„œ ์„ฑ๊ณตํ•œ ๊ฒƒ๋“ค์„์›์ƒ ๋ณต๊ตฌ ์‹œ์ผœ์•ผํ•œ๋‹ค.

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

  • ๋…๋ฆฝ์„ฑ(Isolation) ์–ด๋–ค ํŠธ๋žœ์žญ์…˜๋„ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์— ๋ผ์–ด๋“ค ์ˆ˜ ์—†๋‹ค.

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

์ •์˜

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

๋ชฉ์ 

์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ๋ณต๊ตฌ๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ผ๊ด€์„ฑ์žˆ๊ฒŒ ์œ ์ง€ํ•˜๋Š” ์•ˆ์ •์ ์ธ ์ž‘์—… ๋‹จ์œ„๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋™์‹œ ์ ‘๊ทผํ•˜๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ๊ฒฉ๋ฆฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค

๊ณผ์ •

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

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: