Transaction
ํธ๋์ญ์
์ ๋ํด์ ์ค๋ช
ํด ์ฃผ์ธ์.
ํธ๋์ญ์ (Transaction)์ด๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ๋๋ ํ๊บผ๋ฒ์ ๋ชจ๋ ์ํ๋์ด์ผ ํ ์ผ๋ จ์ ์ฐ์ฐ๋ค์ ์๋ฏธํ๋ค.
์ฝ๊ฒ ๋งํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์๋ฅผ ๋งํ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ฟผ๋ฆฌ์ด๋ฏ๋ก, ์ฆ ์ฌ๋ฌ ๊ฐ์ ์ฟผ๋ฆฌ๋ค์ ํ๋๋ก ๋ฌถ๋ ๋จ์๋ฅผ ๋งํ๋ค.
ํธ๋์ญ์ ํน์ง
ํธ๋์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ๋ณํ ์ ์ด ๋ฐ ํ๋ณต ์์ ์ ์ฒ๋ฆฌ๋๋ ์์ ์ ๋ ผ๋ฆฌ์ ๋จ์์ด๋ค.
์ฌ์ฉ์๊ฐ ์์คํ ์ ๋ํ ์๋น์ค ์๊ตฌ ์ ์์คํ ์ด ์๋ตํ๊ธฐ ์ํ ์ํ ๋ณํ ๊ณผ์ ์ ์์ ๋จ์์ด๋ค.
ํ๋์ ํธ๋์ญ์ ์
commit๋๊ฑฐ๋rollback๋๋ค.
ํธ๋์ญ์
์ 4๊ฐ์ง ์์น(ACID)์ ๋ํด ์ค๋ช
ํด ์ฃผ์ธ์.
์์์ฑ(Atomicity)
ํธ๋์ญ์ ์ ์ฐ์ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๋ฐ์๋๋ ์ง ์๋๋ฉด ์ ํ ๋ฐ์๋์ง ์์์ผ ํ๋ค.(
All or Nothing)ํธ๋์ญ์ ๋ด์ ๋ชจ๋ ๋ช ๋ น์ ๋ฐ๋์ ์๋ฒฝํ ์ํ๋์ด์ผ ํ๋ฉฐ, ๋ชจ๋๊ฐ ์๋ฒฝํ ์ํ๋์ง ์๊ณ ์ด๋ ํ๋๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ํธ๋์ญ์ ์ ๋ถ๊ฐ ์ทจ์ ๋์ด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด ํธ๋์ญ์ ์ ์ปค๋ฐํ๋๋ฐ, ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๋กค๋ฐฑํ๋ ๊ฒฝ์ฐ ๊ทธ ์ดํ์ ๋ชจ๋ ์ํ๋์ง ์์์ ๋ณด์ฅํ๋ ๊ฒ์ ๋งํ๋ค.
์ผ๊ด์ฑ(Consistency)
ํธ๋์ญ์ ์ด ๊ทธ ์คํ์ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ๋ฉด ์ธ์ ๋ ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ฅผ ์ ์งํ๋ค.
์์คํ ์ด ๊ฐ์ง๊ณ ์๋ ๊ณ ์ ์์๋ ํธ๋์ญ์ ์ํ ์ ๊ณผ ํธ๋์ญ์ ์ํ ์๋ฃ ํ์ ์ํ๊ฐ ๊ฐ์์ผ ํ๋ค.
๋
๋ฆฝ์ฑ / ๊ฒฉ๋ฆฌ์ฑ(Isolation)
๋ ์ด์์ ํธ๋์ญ์ ์ด ๋์์ ๋ณํ ์คํ๋๋ ๊ฒฝ์ฐ ์ด๋ ํ๋์ ํธ๋์ญ์ ์คํ ์ค์ ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ฐ์ฐ์ด ๋ผ์ด๋ค ์ ์๋ค.
์ํ์ค์ธ ํธ๋์ญ์ ์ ์์ ํ ์ข ๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ํธ๋์ญ์ ์์ ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ์กฐํ ์ ์๋ค.
๋ณต์์ ๋ณ๋ ฌ ํธ๋์ญ์ ์ ์๋ก ๊ฒฉ๋ฆฌ๋์ด ๋ง์น ์์ฐจ์ ์ผ๋ก ์คํ๋๋ ๊ฒ์ฒ๋ผ ์๋๋์ด์ผ ํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๊ฐ์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ด์ผ ํ๋ค.
์ง์์ฑ(Durability)
์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ํธ๋์ญ์ ์ ๊ฒฐ๊ณผ๋ ์์คํ ์ด ๊ณ ์ฅ๋๋๋ผ๋ ์๊ตฌ์ ์ผ๋ก ๋ฐ์๋์ด์ผ ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์คํ ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ์๋ ์ํ๋ก ๋ณต๊ตฌํ๋ ํ๋ณต ๊ธฐ๋ฅ์ด ์์ด์ผ ํจ์ ๋ปํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฅผ ์ํด ์ฒดํฌ์ฌ, ์ ๋๋ง, ๋กค๋ฐฑ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์ฒดํฌ์ฌ
์ค๋ณต ๊ฒ์ฌ์ ํ ํํ๋ก, ์ค๋ฅ ์ ์ ์ ํตํด ์ก์ ๋ ์๋ฃ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณดํธํ๋ ๋จ์ํ ๋ฐฉ๋ฒ
์ ๋๋ง
ํ์ผ ์์คํ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์(
commit)ํ๊ธฐ ์ ์ ๋ก๊น ํ๋ ๊ฒํธ๋์ญ์ ๋ฑ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ๊ฒ
ํธ๋์ญ์
๊ฒฉ๋ฆฌ ์์ค๊ณผ ๊ฐ ์์ค์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ค์ ๋ํด ์ค๋ช
ํด ์ฃผ์ธ์.
ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค์ ํฌ๊ฒ ๋ค ๊ฐ๋ก ๋๋ ์ ์๋ค.
READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ,SERIALIZABLE๋์ดํ ์์๋๋ก ๋ค๋ก ๊ฐ์๋ก ๊ฒฉ๋ฆฌ ์์ค์ ๋์์ง๋ฉฐ, ์ฒ๋ฆฌ ์ฑ๋ฅ์ ๋ฎ์์ง๋ค.
๊ฐ๊ฐ์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์
READ UNCOMMITTEDDirty ReadNon-Repeatable ReadPhantom Read
READ COMMITTEDNon-Repeatable ReadPhantom Read
REPEATABLE READPhantom Read
SERIALIZABLE๊ฐ์ฅ ์๊ฒฉํ ๊ฒฉ๋ฆฌ ์์ค์ด์ง๋ง ์ฒ๋ฆฌ ์ฑ๋ฅ์ด ๋๋ฌด ๋ฎ์์ ์ ์ฐ์ด์ง ์๋๋ค.
๋ํฐ ๋ฆฌ๋(Dirty Read)
ํน์ ํธ๋์ญ์ ์ ์ํด ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋์์ง๋ง, ์์ง ์ปค๋ฐ ๋์ง ์์ ์ํฉ์์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ ์กฐํํ ์ ์๋ ๋ฌธ์
ํธ๋์ญ์ A๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ปค๋ฐํ์ง ์์ ์์ ์ ํธ๋์ญ์ B๊ฐ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์จ ์ํฉ์์, ํธ๋์ญ์ A๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋กค๋ฐฑ ํด๋ฒ๋ฆฐ๋ค๋ฉด ์น๋ช ์ ์ด๋ค.
ํฌํ ๋ฆฌ๋(Phantom Read)
ํ ํธ๋์ญ์ ๋ด์์ ๋์ผํ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋์ ๋ ํด๋น ์กฐํ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
๋ฐ๋ณต ๋ถ๊ฐ๋ฅํ ์กฐํ(Non-Repeatable Read)
ํ ํธ๋์ญ์ ๋ด์ ๊ฐ์ ํ์ ๋ ๋ฒ ์ด์ ์กฐํ๊ฐ ๋ฐ์ํ๋๋ฐ, ๊ทธ ๊ฐ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
ํฌํ ๋ฆฌ๋์ ๋ค๋ฅธ ์ ์, ๋ฐ๋ณต ๋ถ๊ฐ๋ฅํ ์กฐํ๋ ํ ๊ฐ์ด ๋ฌ๋ผ์ง ์๋ ์๋๋ฐ, ํฌํ ๋ฆฌ๋๋ ๋ค๋ฅธ ํ์ด ์ ํ๋ ์๋ ์๋ค.
Last updated