[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํธ๋์ญ์
๊ณ ๋ฆฝ ์์ค(Transaction Isolation Level)
๐งช Computer Science/Database
์ค์์ฝ๊ธฐ(Dirty Read)
- ์ฝ๊ธฐ ์์ ์ ํ๋ ํธ๋์ญ์ A๊ฐ ์์ ์ ํ๋ ํธ๋์ญ์ B์ ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฌธ์
- ์์ ์ค์ธ ํธ๋์ญ์ B๊ฐ ์์ ์ Rollbackํ ๊ฒฝ์ฐ ํธ๋์ญ์ A๋ ๋ฌดํจ๊ฐ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๋๊ณ ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ค.
๋ฐ๋ณต๋ถ๊ฐ๋ฅ ์ฝ๊ธฐ(Non-repeatable Read)
- ํธ๋์ญ์ A๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ํธ๋์ญ์ B๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ณ (Update) ํธ๋์ญ์ A๊ฐ ๋ค์ ํ ๋ฒ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ ์๊ธฐ๋ ๋ฌธ์
- ํธ๋์ญ์ A๊ฐ ์ฝ๊ธฐ ์์ ์ ๋ค์ ํ ๋ฒ ๋ฐ๋ณตํ ๊ฒฝ์ฐ ์ด์ ์ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ ํ์
์ ๋ น๋ฐ์ดํฐ ์ฝ๊ธฐ(Phantom Read)
- ํธ๋์ญ์ A๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ํธ๋์ญ์ B๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ณ (Insert) ํธ๋์ญ์ A๊ฐ ๋ค์ ํ ๋ฒ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ ์๊ธฐ๋ ๋ฌธ์
- ํธ๋์ญ์ A๊ฐ ์ฝ๊ธฐ ์์ ์ ๋ค์ ํ ๋ฒ ๋ฐ๋ณตํ ๊ฒฝ์ฐ ์ด์ ์ ์๋ ๋ฐ์ดํฐ(์ ๋ น๋ฐ์ดํฐ)๊ฐ ๋ํ๋๋ ํ์
ํธ๋์ญ์ ๊ณ ๋ฆฝ ์์ค ๋ช ๋ น์ด(Trasaction Isolation Level Instruction)
DBMS๊ฐ ํธ๋์ญ์ ์ ๋์์ ์คํ์ํค๋ฉด์ ๋ฝ๋ณด๋ค ์ข ๋ ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๊ณตํ๋ ๋ช ๋ น์ด
- READ UNCOMMITTED
- ๊ณ ๋ฆฝ ์์ค์ด Level 0์ธ ๊ฐ์ฅ ๋ฎ์ ๋ช ๋ น์ด๋ก, ์์ ์ ๋ฐ์ดํฐ์ ์๋ฌด๋ฐ ๊ณต์ ๋ฝ๋ ๊ฑธ์ง ์๋๋ค.
- ์ฌ์ฉ์๊ฐ A๋ผ๋ ๋ฐ์ดํฐ๋ฅผ B๋ผ๋ ๋ฐ์ดํฐ๋ก ๋ณ๊ฒฝํ๋ ๋์ ๋ค๋ฅธ ์ฌ์ฉ์๋ ์์ง ์๋ฃ๋์ง ์์ ๋ฐ์ดํฐ(์ค์ ๋ฐ์ดํฐ) B๋ฅผ ์ฝ์ ์ ์๋ค.
- READ COMMITTED
- ๊ณ ๋ฆฝ ์์ค์ด Level 1์ธ ๋ช ๋ น์ด๋ก, ์ค์ ํ์ด์ง์ ์ฐธ์กฐ๋ฅผ ํผํ๊ธฐ ์ํด ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋์ ๊ณต์ ๋ฝ์ ๊ฑธ์ง๋ง ํธ๋์ญ์ ์ด ๋๋๊ธฐ ์ ์๋ผ๋ ํด์ง ๊ฐ๋ฅํ๋ค.
- ์ฌ์ฉ์๊ฐ A๋ผ๋ ๋ฐ์ดํฐ๋ฅผ B๋ผ๋ ๋ฐ์ดํฐ๋ก ๋ณ๊ฒฝํ๋ ๋์ ๋ค๋ฅธ ์ฌ์ฉ์๋ ํด๋น ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค.
- REPEATABLE READ
- ๊ณ ๋ฆฝ ์์ค์ด Level 2์ธ ๋ช ๋ น์ด๋ก, ์์ ์ ๋ฐ์ดํฐ์ ์ค์ ๋ ๊ณต์ ๋ฝ๊ณผ ๋ฐฐํ๋ฝ์ ํธ๋์ญ์ ์ด ์ข ๋ฃ๋ ๋๊น์ง ์ ์งํ์ฌ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ (Update)ํ ์ ์๋๋ก ํ๋ค.
- ํธ๋์ญ์ ์ด ์๋ฃ๋ ๋๊น์ง SELECT๋ฌธ์ด ์ฌ์ฉํ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ๊ณต์ ๋ฝ์ด ๊ฑธ๋ฆฌ๋ฏ๋ก ๋ค๋ฅธ ์ฌ์ฉ์๋ ๊ทธ ์์ญ์ ํด๋น๋๋ ๋ฐ์ดํฐ์ ๋ํ ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค. ํ์ง๋ง, ํด๋น ์์ญ์ ์ ์ธํ ๋๋จธ์ง ๋ฒ์์ ๋ํ Insert๋ ๊ฐ๋ฅํ๋ค.
- SERIALIZABLE
- ๊ณ ๋ฆฝ ์์ค์ด Level3์ธ ๊ฐ์ฅ ๋์ ๋ช ๋ น์ด๋ก, ์คํ ์ค์ธ ํธ๋์ญ์ ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ผ๋ก๋ถํฐ ์๋ฒฝํ๊ฒ ๋ถ๋ฆฌํ๋ค.
'๐งช Computer Science > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํ๋ณต(Recovery) (0) | 2021.07.07 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋์์ฑ ์ ์ด(Currency Control) (0) | 2021.07.07 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํธ๋์ญ์ (Transaction) (0) | 2021.07.06 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ ๊ทํ(Normalization) / ์ด์ํ์, ํจ์์ข ์์ฑ, ์ ๊ทํ (0) | 2021.07.06 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง(Data Modeling) (0) | 2021.07.04 |