์ง๋ ฌ ๊ฐ๋ฅํ ์ค์ผ์ค
- ์ง๋ ฌ ์ค์ผ์ค๊ณผ ์คํ ๊ฒฐ๊ณผ๊ฐ ๋์ผํ ์ค์ผ์ค
โ ์ง๋ ฌ ๊ฐ๋ฅํ ์ค์ผ์ค์ธ์ง ํ๋จํ๋ ๋ฐฉ๋ฒ
- ์ค์ผ์ค์ ๋ํ๋ ์ฐ์ฐ๋ค์ ์์๋ฅผ ์ ์ฒด์ ์ธ ์คํ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ๊ตํ
- ์ด ๋ ์ฃผ์ด์ง ์ค์ผ์ค์ด ์ง๋ ฌ ์ค์ผ์ค๋ก ๋ณํ๋๋ฉด ์ง๋ ฌ ๊ฐ๋ฅํ ์ค์ผ์ค
๋์์ฑ ์ ์ด ๊ธฐ๋ฒ
โ ๋ณํ ์ํ์ผ๋ก ์ธํ ๋ฌธ์ ์ ๋ค์ด ๋ฐ์ํ์ง ์๊ณ ์ง๋ ฌ ๊ฐ๋ฅํ ์ค์ผ์ค์ด ๋๋๋ก ํธ๋์ญ์ ์ ์คํํ๋ ๋ฐฉ๋ฒ
์ ๊ธ(locking)
- ํธ๋์ญ์ ์ ์คํ ์์๋ฅผ ๊ฐ์ ๋ก ์ ์ด
ํ์์คํฌํ
- ์ต๋ํ ๋ณํ ์ํ์ ๋ณด์ฅ
- ์ง๋ ฌ ๊ฐ๋ฅํ ์ค์ผ์ค์ ์๋ฐฐ๋ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฉด ์คํ ์ทจ์
์ ๊ธ(Locking)
โช ํ๋์ ํธ๋์ญ์ ์ด ์ํํ๋ ๋์ ํน์ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋ํด ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋์์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ๋ ์ ํ๋ ๊ธฐ๋ฒ
โช ์ ๊ธ์ด ๊ฑธ๋ฆฐ ๋ฐ์ดํฐ๋ ์ ๊ธ์ ์คํํ ํธ๋์ญ์ ๋ง ๋ ์ ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ
โช ์ ๊ธ์ ์ํํ ํธ๋์ญ์ ๋ง์ด ํด์ ๊ฐ๋ฅ
์ ๊ธ์ ์ข ๋ฅ
- ๊ณต์ ์ ๊ธ (shared lock, S-lock)
- ํธ๋์ญ์ T๊ฐ ๋ฐ์ดํฐ ํญ๋ชฉ x์ ๋ํด S-lock์ ๊ฑธ๋ฉด T๋ read(x) ์ฐ์ฐ์ ๊ฐ๋ฅํ์ง๋ง write(x) ์ฐ์ฐ์ ๋ถ๊ฐ๋ฅ
- ํ๋์ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋ํด ์ฌ๋ฌ ๊ฐ์ ๊ณต์ ์ ๊ธ ๊ฐ๋ฅ
- ์ฌ๋ฌ ํธ๋์ญ์ ๋ค์ด ๋์ผํ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋ํด ๊ณต์ ์ ๊ธ ๊ฐ๋ฅ
- ๋ฐฐํ ์ ๊ธ (exclusive lock, X-lock)
- ํธ๋์ญ์ T๊ฐ ๋ฐ์ดํฐํญ๋ชฉ x์ ๋ํด X-lock์ ๊ฑธ๋ฉด T๋ read(x), write(x) ์ฐ์ฐ ๋ชจ๋ ๊ฐ๋ฅ
- ํ๋์ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋ํด์๋ ํ๋์ ๋ฐฐํ ์ ๊ธ๋ง ๊ฐ๋ฅ
๋์ ์ ๊ธ ๊ฐ๋ฅ ์ฌ๋ถ
์ ๊ธ์ ํ๊ณ
โ ๋จ์ํ ์ ๊ธ ์ฐ์ฐ๋ง์ผ๋ก ์ง๋ ฌ ๊ฐ๋ฅํ ์ค์ผ์ค์ ๋ณด์ฅํ๋ ๊ฒ์ ์๋๋ค
โ ๊ต์ฐฉ์ํ ๋ฐ์ ๊ฐ๋ฅ
'๐ฉ๐ฆ๐น๐ฆ๐ง๐ฆ๐ธ๐ช' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ํธ๋์ญ์ , 2๋จ๊ณ ์ ๊ธ ๊ท์ฝ(2PL) (1) | 2021.07.12 |
---|---|
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ํธ๋์ญ์ , ๋์์ฑ ์ ์ด (0) | 2021.06.28 |
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ํธ๋์ญ์ (Transaction) (0) | 2021.05.29 |
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) ํด์ ์ธ๋ฑ์ค, ๋ฒ์ผ, ํด์ ํจ์ (0) | 2021.05.22 |
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) B+ tree ์ธ๋ฑ์ค, ๋ณตํฉ ์ธ๋ฑ์ค (0) | 2021.05.22 |