Spring Transaction
๐ Spring Transaction
Transaction
- ํธ๋์ ์ ์ด๋ ์ชผ๊ฐค ์ ์๋ ์ฌ๋ฌ ์์ ๋ค์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฌถ์ ์ต์ ๋จ์๋ก ๋ฌถ์๊ฒ์ด๋ค.
ํน์ง
์ด๋ก ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๊ฐ๊ฐ์ ํธ๋์ญ์ ์ ๋ํด ์์์ฑ(Atomicity), ์ผ๊ด์ฑ(Consistency), ๋ ๋ฆฝ์ฑ(Isolation), ์๊ตฌ์ฑ(Durability)์ ๋ณด์ฅํ๋ค. ์ด ์ฑ์ง์ ์ฒซ๊ธ์๋ฅผ ๋ฐ ACID๋ผ ๋ถ๋ฅธ๋ค.
-
์์์ฑ(Atomicity) ํธ๋์ญ์ ์ ์ฐ์ฐ์ DB์ ๋ชจ๋ ๋ฐ์๋๋์ง, ๋ชจ๋ ๋ฐ์๋์ง ์์์ผ ํ๋ค. ํ๋๋ผ๋ ์คํจํ๋ค๋ฉด ์์ ์ฑ๊ณตํ ๊ฒ๋ค์์์ ๋ณต๊ตฌ ์์ผ์ผํ๋ค.
-
์ผ๊ด์ฑ(Consistency) ํธ๋์ญ์ ์ ์์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ ํญ์ ์ผ๊ด์ฑ ์์ด์ผ ํ๋ค.
-
๋ ๋ฆฝ์ฑ(Isolation) ์ด๋ค ํธ๋์ญ์ ๋ ๋ค๋ฅธ ํธ๋์ญ์ ์ ์์ ์ ๋ผ์ด๋ค ์ ์๋ค.
-
์ง์์ฑ(Durability) ํธ๋์ญ์ ์ด ์๋ฃ๋๋ค๋ฉด, ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ด์ด์ผ ํ๋ค.
์ ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ๋๋ ์ ์ฌํ ์์คํ ์์ ์ํธ์์ฉ์ ๋จ์์ด๋ค. ์ฌ๊ธฐ์ ์ ์ฌํ ์์คํ ์ด๋ ํธ๋์ญ์ ์ด ์ฑ๊ณต๊ณผ ์คํจ๊ฐ ๋ถ๋ช ํ๊ณ ์ํธ ๋ ๋ฆฝ์ ์ด๋ฉฐ, ์ผ๊ด๋๊ณ ๋ฏฟ์ ์ ์๋ ์์คํ ์ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ์ ์ ํฉ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ชฉ์
์ค๋ฅ๋ก๋ถํฐ ๋ณต๊ตฌ๋ฅผ ํ์ฉํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ผ๊ด์ฑ์๊ฒ ์ ์งํ๋ ์์ ์ ์ธ ์์ ๋จ์๋ฅผ ์ ๊ณตํ๋ค. ๋์ ์ ๊ทผํ๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ ๊ฐ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค
๊ณผ์
ํธ๋์ญ์ ์์ ๋น์ฆ๋์ค ๋ก์ง ์คํ(์ฌ๋ฌ ์ฟผ๋ฆฌ๋ค์ด ์คํ) (DB๋ด ๊ฐฑ์ ์ด ์์ง ์ ์ฉ๋์ง ์๋๋ค) ํธ๋์ญ์ ์ปค๋ฐ (ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ด๋ฉฐ, ๊ฐฑ์ ์ด ์ค์ ์ ์ฉ๋จ) ๋ง์ฝ ์ฟผ๋ฆฌ ํ๋๊ฐ ์คํจํ๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ ์ฒด ํธ๋์ญ์ ๋๋ ์คํจํ ์ฟผ๋ฆฌ๋ฅผ ๋กค๋ฐฑํ๋ค.