1 ํธ๋์ญ์
1-1. ํธ๋์ญ์ ์ด๋?
- ํ๋์ ์์ ์ ์ํํ๋๋ฐ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ์ฐ์ ๋ชจ์
- ์์
์ํ์ ํ์ํ sql๋ฌธ๋ค์ ๋ชจ์
- EX) ํนํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณ๊ฒฝํ๋ INSERT, DELETE, UPDATE๋ฌธ์ ์คํ์ ๊ด๋ฆฌ
- ๋ ผ๋ฆฌ์ ์ธ ์์ ์ ๋จ์
- ์ฅ์ ๋ฐ์์ ๋ณต๊ตฌ ์์ ์ด๋ ๋ณํ์ ์ด ์์ ์ ์ํ ์ค์ํ ๋จ์๋ก ์ฌ์ฉ๋จ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด
์์
๊ณ์ข์ด์ฒด ํธ๋์ญ์ ์ ๊ฒฝ์ฐ ๋์ด ์ธ์ถ๋๋ UPDATE ๋ฌธ๊ณผ ๋์ด ์ ๊ทผ๋๋ UPDATE ๋ฌธ์ด ์ฒ๋ฆฌ ์์๋ ์ค์ํ์ง ์์ง๋ง ๋ชจ๋ ์ ์์ ์ผ๋ก ์คํ๋์ด์ผ ํ๋ค.
1-2 ํน์ฑ (ACID)
์์์ฑ, ์ผ๊ด์ฑ, ๊ฒฉ๋ฆฌ์ฑ, ์ง์์ฑ
์์์ฑ(atomicity)
- ํธ๋์ญ์ ์ ์ฐ์ฐ๋ค์ด ๋ชจ๋ ์ ์์ ์ผ๋ก ์คํ๋๊ฑฐ๋ ํ๋๋ ์คํ๋์ง ์์์ผํ๋ all-or-nothing๋ฐฉ์์ ์๋ฏธํ๋ค.
- Q. ๋ง์ฝ ํธ๋์ญ์
์ํ ๋์ค ์ฅ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด?
- A. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํธ๋์ญ์ ์์ ์ ์ํ๋ก ๋๋๋ ค์ผ ํจ (๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค์ ๋กค๋ฐฑํด์ผํจ.)
- ์์์ฑ์ ๋ณด์ฅ์ ์ํด ์ฅ์ ๋ฐ์์ ํ๋ณต ๊ธฐ๋ฅ์ด ํ์
์ผ๊ด์ฑ(consistency)
ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ํ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ผ๊ด๋ ์ํ๋ฅผ ์ ์งํด์ผ ํจ์ ์๋ฏธ
- '์ผ๊ด์ฑ ์ฌ๋ถ' ๋ ์ฌ์ฉ์๊ฐ ํ๋จํ๊ณ ์ ๋ฆฌํด์ผ ํจ
- '์ผ๊ด์ฑ์ด ์ ์ง๋๋๋ก ํธ๋์ญ์ ์ ์ ์ํ๋ ๊ฒ'์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ์์ ์ฑ ์
๊ฒฉ๋ฆฌ์ฑ(isolation)
์ํ ์ค์ธ ํธ๋์ญ์ ์ด ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ํธ๋์ญ์ ๋ค์ด ์ค๊ฐ ์ฐ์ฐ ๊ฒฐ๊ณผ์ ์ ๊ทผํ ์ ์์์ ์๋ฏธ
ํธ๋์ญ์ ์คํ ๊ณผ์ ์์ ๊ฐฑ์ ๋ ๋ฐ์ดํฐ๋ ํธ๋์ญ์ ์๋ฃ ์๊น์ง ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ฐธ์กฐํ ์ ์์์ ์๋ฏธ
- ๊ฒฉ๋ฆฌ์ฑ์ ๋ณด์ฅ์ ์ํด์๋ ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์ ์ํ๋๋๋ผ๋ ๋ง์น ์์๋๋ก ํ๋์ฉ ์ํ๋๋ ๊ฒ์ฒ๋ผ ์ ํํ๊ณ ์ผ๊ด๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ์ ์ดํ๋ ๊ธฐ๋ฅ์ด ํ์
์ง์์ฑ(durability)
- ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ํ ์ํ ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ด์ด์ผ ํจ์ ์๋ฏธ
- ์ง์์ฑ์ ๋ณด์ฅ์ ์ํด์๋ ์ฅ์ ๋ฐ์ ์ ํ๋ณต ๊ธฐ๋ฅ์ด ํ์
1-3 ํธ๋์ญ์ ์ ํน์ฑ์ ์ง์ํ๋ DBMS์ ๊ธฐ๋ฅ
์์์ฑ(all or nothing) ← ํ๋ณต ๊ธฐ๋ฅ
์ผ๊ด์ฑ(์ํ ์ ํ๊ฐ) ← ๋ณํ ์ ์ด ๊ธฐ๋ฅ
๊ฒฉ๋ฆฌ์ฑ(์์ ์ค ์ ๊ทผ X) ← ๋ณํ ์ ์ด ๊ธฐ๋ฅ
์ง์์ฑ(์๊ตฌ์ ) ← ํ๋ณต ๊ธฐ๋ฅ
1-4 ํธ๋์ญ์ ์ ์ฐ์ฐ
commit rollback
commit ์ฐ์ฐ
- ํธ๋์ญ์ ์ ์ํ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์์ ์ ์ธํ๋ ์ฐ์ฐ
- commit ์ฐ์ฐ์ด ์คํ๋๋ฉด ํธ๋์ญ์ ์ ์ํ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ ๋๊ณ ์ผ๊ด๋ ์ํ๋ฅผ ์ง์์ ์ผ๋ก ์ ์งํ๊ฒ ๋จ
rollback ์ฐ์ฐ
- ํธ๋์ญ์ ์ ์ํ์ด ์คํจํ์์ ์ ์ธํ๋ ์ฐ์ฐ
- rollback ์ฐ์ฐ์ด ์คํ๋๋ฉด ํธ๋์ญ์ ์ด ์ง๊ธ๊น์ง ์คํํ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๊ฐ ์ทจ์๋๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํธ๋์ญ์ ์ํ ์ ์ ์ผ๊ด๋ ์ํ๋ก ๋๋์๊ฐ
1-5 ํธ๋์ญ์ ์ ์ํ
ํ๋(active) ์ํ
- ํธ๋์ญ์ ์ด ์ํ๋๊ธฐ ์์ํ์ฌ ํ์ฌ ์ํ ์ค์ธ ์ํ
๋ถ๋ถ ์๋ฃ(partially committed) ์ํ
- ํธ๋์ญ์ ์ ๋ง์ง๋ง ์ฐ์ฐ์ด ์คํ์ ๋๋ธ ์งํ์ ์ํ
์๋ฃ(committed) ์ํ
- ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์ด commit ์ฐ์ฐ์ ์คํํ ์ํ
- ํธ๋์ญ์ ์ด ์ํํ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ก์ด ์ผ๊ด๋ ์ํ๊ฐ ๋๋ฉด์ ํธ๋์ญ์ ์ด ์ข ๋ฃ๋๋ค.
์คํจ ์ํ
- ์ฅ์ ๊ฐ ๋ฐ์ํ์ฌ ํธ๋์ญ์ ์ ์ํ์ด ์ค๋จ๋ ์ํ
์ฒ ํ ์ํ
- ํธ๋์ญ์ ์ ์ํ ์คํจ๋ก rollback ์ฐ์ฐ์ ์คํํ ์ํ
- ์ง๊ธ๊น์ง ์คํํ ํธ๋์ญ์ ์ ์ฐ์ฐ์ ๋ชจ๋ ์ทจ์ํ๊ณ ํธ๋์ญ์ ์ด ์ํ๋๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ก ๋๋๋ฆฌ๋ฉด์ ํธ๋์ญ์ ์ด ์ข ๋ฃ๋จ
- ์ฒ ํ ์ํ๋ก ์ข ๋ฃ๋ ํธ๋์ญ์ ์ ์ํฉ์ ๋ฐ๋ผ ๋ค์ ์ํ๋๊ฑฐ๋ ํ๊ธฐ๋จ
2 ์ฅ์ ์ ํ๋ณต
2-1. ์ฅ์ ๋?
์ฅ์ : ์์คํ ์ด ์ ๋๋ก ๋์ํ์ง ์๋ ์ํ;
2-2. ์ฅ์ ์ ์ ํ
ํธ๋์ญ์ ์ฅ์ ์๋ฏธ: ํธ๋์ญ์ ์ํ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ์ ์์ ์ผ๋ก ์ํ์ด ๋ถ๊ฐ๋ฅํจ ์์ธ: ํธ๋์ญ์ ์ ๋ ผ๋ฆฌ์ ์ค๋ฅ, ์๋ชป๋ ๋ฐ์ดํฐ ์ ๋ ฅ, ์์คํ ์์์ ๊ณผ๋ค ์ฌ์ฉ ์๊ตฌ, ์ฒ๋ฆฌ ๋์ ๋ฐ์ดํฐ์ ๋ถ์ฌ ๋ฑ
์์คํ ์ฅ์ ์๋ฏธ: ํ๋์จ์ด์ ๊ฒฐํจ์ผ๋ก ์ ์์ ์ผ๋ก ์ํ์ ๊ณ์ํ ์ ์๋ ์ํ ์์ธ: ํ๋์จ์ด ์ด์์ผ๋ก ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ ๋ณด๊ฐ ์์ค๋๊ฑฐ๋ ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฑ
๋ฏธ๋์ด ์ฅ์ ์๋ฏธ: ๋์คํฌ ์ฅ์น์ ๊ฒฐํจ์ผ๋ก ๋์คํฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๋ถ ํน์ ์ ์ฒด๊ฐ ์์๋ ์ํ ์์ธ: ๋์คํฌ ํค๋์ ์์์ด๋ ๊ณ ์ฅ ๋ฑ
2-3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฅ ์ฅ์น์ ์ข ๋ฅ
ํ๋ฐ์ฑvolatile ์ ์ฅ ์ฅ์น(์๋ฉธ์ฑ)
- ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์์ค๋จ
- ex) ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฑ
๋นํ๋ฐ์ฑnonvolatile ์ ์ฅ ์ฅ์น(๋น์๋ฉธ์ฑ)
- ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ๋ฐ์ดํฐ ์์ค์ด ์์
- ๋์คํฌ ํค๋ ์์ ๊ฐ์ ์ ์ฅ ์ฅ์น ์์ฒด์ ์ด์์ด ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์์ค ๋ ์ ์์
- ex) ๋์คํฌ, ์๊ธฐ ํ ์ดํ CD/DVD ๋ฑ
์์ stable ์ ์ฅ ์ฅ์น
- ๋นํ๋ฐ์ฑ ์ ์ฅ ์ฅ์น๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ๋ณต์ฌ๋ณธ ์ฌ๋ฌ๊ฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ค ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ๋ฐ์ดํฐ๊ฐ ์์ค ๋์ง ์๊ณ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ ๊ฐ๋ฅ
2-4. ๋ฐ์ดํฐ ์ด๋ ์ฐ์ฐ
- ๋์คํฌ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๋ฐ์ดํฐ ์ด๋ ์ฐ์ฐ - input / output
- ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ ธ์ ์ฒ๋ฆฌํ ๋ค์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋์คํฌ๋ก ๋ณด๋ด๋ ์์ ์ด ํ์ํจ
- ๋ธ๋ก(block) ๋จ์๋ก ์ํ๋จ
- disk block: ๋์คํฌ์ ์๋ ๋ธ๋ก;
- buffer block: ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ธ๋ก;
- ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก๊ทธ๋จ ๋ณ์ ๊ฐ์ ๋ฐ์ดํฐ ์ด๋ ์ฐ์ฐ - read / write
- ์์ฉ ํ๋ก๊ทธ๋จ์์ ํธ๋์ญ์ ์ ์ํ์ ์ง์ํ๋ฉด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ ๋ธ๋ก์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ก๊ทธ๋จ์ ๋ณ์๋ก ๊ฐ์ ธ์ค๊ณ , ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ๋ณ์ ๊ฐ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ ๋ธ๋ก์ผ๋ก ์ฎ๊ธฐ๋ ์์ ์ด ํ์ํจ
์์
2-5. ํ๋ณต์ด๋?
- ์ฅ์ ๊ฐ ๋ฐ์ํ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฅ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ๋ชจ์์ด ์๊ณ ์ผ๊ด๋ ์ํ๋ก ๋ณต๊ตฌ์ํค๋ ๊ฒ
- ํธ๋์ญ์ ์ ํน์ฑ์ ๋ณด์ฅํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ผ๊ด๋ ์ํ๋ก ์ ์งํ๊ธฐ ์ํด ํ์์ ์ธ ๊ธฐ๋ฅ
- ํ๋ณต ๊ด๋ฆฌ์(recovery manager)๊ฐ ๋ด๋น
- ์ฅ์ ๋ฐ์์ ํ์งํ๊ณ , ์ฅ์ ๊ฐ ํ์ง๋๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ์ ๊ณต
2-6. ํ๋ณต์ ์ํ ์ฐ์ฐ๊ณผ ํ์ผ
๋ฐ์ดํฐ ํ๋ณต์ ํต์ฌ ์๋ฆฌ๋ ๋ฐ์ดํฐ ์ค๋ณต
- ๋ฐ์ดํฐ๋ฅผ ๋ณ๋์ ์ฅ์์ ๋ณต์ฌํด๋๊ณ , ๋ฌธ์ ๋ฐ์ ์ ๋ณต์ฌ๋ณธ์ ์ด์ฉํ์ฌ ์๋์ ์ํ๋ก ๋ณต์ํ๋ ๊ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ณต์ ์ํด ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ
- ๋คํ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด๋ฅผ ๋ค๋ฅธ ์ ์ฅ ์ฅ์น์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ณต์ฌํ๋ ๋ฐฉ๋ฒ;
- ๋ก๊ทธ: ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณ๊ฒฝ ์ฐ์ฐ์ด ์คํ ๋ ๋๋ง๋ค ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด์ ๊ฐ๊ณผ ์ดํ์ ๊ฐ์ ๋ณ๋์ ํ์ผ์ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ;
- ๋ก๊ทธ ํ์ผ: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ณ๊ฒฝ ์ฐ์ฐ๊ณผ ๊ด๋ จํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ด์ ๊ณผ ์ดํ์ ๊ฐ์ ๊ธฐ๋กํ ํ์ผ
- ๋ก๊ทธ ๋ ์ฝ๋: ๋ก๊ทธ ํ์ผ์ ๋ ์ฝ๋ ๋จ์๋ก ํธ๋์ญ์ ์ํ๊ณผ ํจ๊ป ๊ธฐ๋ก
- ๋ก๊ทธ ๋ ์ฝ๋์ 4๊ฐ์ง ์ข ๋ฅ
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ ๊ฐ์ง ํ๋ณต ๋ฐฉ๋ฒ
- redo: ๋ก๊ทธ์ ๊ธฐ๋ก๋ ๋ณ๊ฒฝ ์ฐ์ฐ ํ์ ๊ฐ์ ์ด์ฉํ์ฌ ๋ณ๊ฒฝ ์ฐ์ฐ์ ์ฌ์คํํ๋ค.
- undo: ๋ก๊ทธ์ ๊ธฐ๋ก๋ ๋ณ๊ฒฝ ์ฐ์ฐ ์ด์ ์ ๊ฐ์ ์ด์ฉํ์ฌ ๋ณ๊ฒฝ ์ฐ์ฐ์ ์ทจ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต๊ตฌํ๋ค.
๋ก๊ทธ ๊ธฐ๋ก์ ์: ๊ณ์ข ์์ก์ด 10,000์์ธ X๊ฐ ๊ณ์ข ์์ก์ด 0์์ธ Y์๊ฒ 5,000์ ์ด์ฒด
2-7. ํ๋ณต ๊ธฐ๋ฒ
์ฆ์ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ
- ํธ๋์ญ์ ์ํ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฆ์ ๋ฐ์
- ์ฅ์ ๋ฐ์์ ๋๋นํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ณ๊ฒฝ์ ๋ํ ๋ด์ฉ์ ๋ก๊ทธํ์ผ์ ๊ธฐ๋ก
- ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฐ์ฐ์ด ์คํ๋๋ฉด, ๋ก๊ทธ ํ์ผ์ ๋ก๊ทธ ๋ ์ฝ๋๋ฅผ ๋จผ์ ๊ธฐ๋กํ ๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ์ฐ์ฐ์ ๋ฐ์
- ์ฅ์ ๋ฐ์ ์์ ์ ๋ฐ๋ผ redo๋ undo ์ฐ์ฐ์ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต๊ตฌ
์ฐ์ฐ ์ ์ฉ ๋ฐฉ๋ฒ
- ํธ๋์ญ์ ์๋ฃ๋๊ธฐ ์ ์ผ ๊ฒฝ์ฐ (๋ก๊ทธ ํ์ผ์ <Ti, start> ๋ ์ฝ๋๋ ์กด์ฌํ์ง๋ง <Ti, commit> ๋ ์ฝ๋๋ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ): ํด๋น ํธ๋์ญ์ ์ undo ์ฐ์ฐ ์ํ
- ์๋ฃ๋ ์ดํ๋ฉด (๋ก๊ทธ ํ์ผ์ <Ti, start>๊ณผ <Ti, commit> ๋ ์ฝ๋๊ฐ ๋ชจ๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ): ํด๋น ํธ๋์ญ์ ์ redo ์ฐ์ฐ ์ํ
์ง์ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ
- ํธ๋์ญ์ ์ด ์ํ๋๋ ๋์ค ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ (์ฆ์ ๋ฐ์ํ์ง ์๊ณ ) ๋ก๊ทธ์๋ง ๊ธฐ๋กํด๋๊ณ , ๋ถ๋ถ ์๋ฃ๋ ํ์ ๋ก๊ทธ์ ๊ธฐ๋ก๋ ๋ด์ฉ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋ฒ์ ๋ฐ์
- ํธ๋์ญ์ ์ํ ์ค์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ก๊ทธ์ ๊ธฐ๋ก๋ ๋ด์ฉ์ ๋ฒ๋ฆฌ๊ธฐ๋ง ํ๋ฉด ์๋ ์ํ๋ฅผ ๊ทธ๋๋ก ์ ์งํ๊ฒ ๋จ
์ฐ์ฐ ์ ์ฉ ๋ฐฉ๋ฒ
- ํธ๋์ญ์
์ํ ์ค์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ก๊ทธ์ ๊ธฐ๋ก๋ ๋ด์ฉ์ ๋ฒ๋ฆฌ๊ธฐ๋ง ํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ ์ํ๋ฅผ ๊ทธ๋๋ก ์ ์งํ๊ฒ ๋จ
- ์ง์ญ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ์์๋ undo ์ฐ์ฐ์ ํ์์์
- ๋ก๊ทธ ๋ ์ฝ๋์ ๋ณ๊ฒฝ ์ด์ ๊ฐ์ ๊ธฐ๋กํ ํ์๊ฐ ์์ผ๋ฏ๋ก <T1, X, new_value> ๋ก ๋ ์ฝ๋ ํ์์ด ๋ณํจ
- ํธ๋์ญ์ ์๋ฃ๋๊ธฐ ์ ์ผ ๊ฒฝ์ฐ (๋ก๊ทธ ํ์ผ์ <Ti, start> ๋ ์ฝ๋๋ ์กด์ฌํ์ง๋ง <Ti, commit> ๋ ์ฝ๋๋ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ): ๋ก๊ทธ ๋ฌด์ํ๊ณ ๋ฒ๋ฆผ
- ์๋ฃ๋ ์ดํ๋ฉด (๋ก๊ทธ ํ์ผ์ <Ti, start>๊ณผ <Ti, commit> ๋ ์ฝ๋๊ฐ ๋ชจ๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ): ํด๋น ํธ๋์ญ์ ์ redo ์ฐ์ฐ ์ํ
๊ฒ์ฌ ์์ ํ๋ณต ๊ธฐ๋ฒ
- ๋ก๊ทธ ๊ธฐ๋ก์ ์ด์ฉํ๋, ์ผ์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ๊ฒ์ฌ ์์ (checkpoint)์ ๋ง๋ฆ
- ์ฅ์ ๊ฐ ๋ฐ์ ์ ๊ฐ์ฅ ์ต๊ทผ ๊ฒ์ฌ ์์ ์ด์ ์ ํธ๋์ญ์ ์๋ ํ๋ณต ์์ ์ ์ํํ์ง ์๊ณ , <checkpoint L> ๋ก๊ทธ ๋ ์ฝ๋ ์ดํ์ ๊ธฐ๋ก์ ๋ํด์๋ง ํ๋ณต ์์ (์ฆ์ ๊ฐฑ์ ๋๋ ์ง์ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ)์ ์ด์ฉํด ์ํ
- ๋ก๊ทธ ์ ์ฒด๋ฅผ ๋์์ผ๋ก ํ๋ณต ๊ธฐ๋ฒ์ ์ ์ฉํ ๋ ๋ฐ์ํ ์ ์๋ ๋นํจ์จ์ฑ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
- ๊ฒ์ฌ ์์ ์ผ๋ก ์์ ๋ฒ์๊ฐ ์ ํด์ง๋ฏ๋ก ๋ถํ์ํ ํ๋ณต ์์ ์ด ์์ด ์๊ฐ์ด ๋จ์ถ๋จ
๋ฏธ๋์ด ํ๋ณต ๊ธฐ๋ฒ
- ๋์คํฌ์ ๋ฐ์ํ ์ ์๋ ์ฅ์ ์ ๋๋นํ ํ๋ณต ๊ธฐ๋ฒ
- ๋คํ(๋ณต์ฌ๋ณธ) ์ด์ฉ
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด์ฉ์ ์ผ์ ์ฃผ๊ธฐ๋ง๋ค ๋ค๋ฅธ ์์ ํ ์ ์ฅ ์ฅ์น์ ๋ณต์ฌ
- ๋์คํฌ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด?
- ๋คํ๋ฅผ ์ด์ฉํ์ฌ ์ฅ์ ๋ฐ์ ์ด์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ก ๋ณต๊ตฌ
- ๋ก๊ทธ์ ๋ด์ฉ์ ํ ๋๋ก redo ์ฐ์ฐ ์คํ
3 ๋ณํ ์ ์ด
3-1. ๋ณํ ์ํ๊ณผ ๋ณํ ์ ์ด๋?
๋ณํ ์ํ
- ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์์ ๊ณต์ ํ ์ ์๋๋ก ์ฌ๋ฌ ๊ฐ์ ํธ๋์ญ์ ์ ๋์์ ์ํํ๋ ๊ฒ์ ์๋ฏธ
- ์ฌ๋ฌ ํธ๋์ญ์ ๋ค์ด ์ฐจ๋ก๋ก ๋ฒ๊ฐ์ ์ํ๋๋ interleaving ๋ฐฉ์์ผ๋ก ์งํ๋๋ค.
๋ณํ ์ ์ด
๋ณํ ์ํ ์ ๊ฐ์ ๋ฐ์ดํฐ์ ์ ๊ทผํ์ฌ ์ฐ์ฐ์ ์คํํด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๊ณ ์ ํํ ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ํธ๋์ญ์ ์ ์ํ์ ์ ์ดํ๋ ๊ฒ์ ์๋ฏธ
3-2. ๋ณํ ์ํ ์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์
- ๋ณํ ์ํ์ ํน๋ณํ ์ ์ด ์์ด ์งํํ ๊ฒฝ์ฐ ๋ฐ์๋๋ค.
๊ฐฑ์ ๋ถ์ค
- ํ๋์ ํธ๋์ญ์ ์ด ์ํํ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋ฎ์ด์จ ๋ณ๊ฒฝ ์ฐ์ฐ์ด ๋ฌดํจํ๋๋ ๊ฒ
- ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์ ์ํ๋๋๋ผ๋ ๊ฐฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๊ณ ๋ง์น ํธ๋์ญ์ ์ด ์์ฐจ์ ์ผ๋ก ์ํํ ๊ฒ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ์ ์ป์ ์ ์์ด์ผ ํจ.
๋ชจ์์ฑ(inconsistency)
- ํ๋์ ํธ๋์ญ์ ์ด ์ฌ๋ฌ ๊ฐ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฐ์ฐ์ ์คํํ ๋ ์ผ๊ด์ฑ ์๋ ์ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์ฐ์ฐ์ ์คํํด์ ๋ชจ์๋ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ๋ ๊ฒ
- ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์ ์ํ๋์ด๋ ๋ชจ์์ฑ์ด ๋ฐ์๋์ง ์๊ณ , ์์ฐจ์ ์ผ๋ก ์ํ๊ณผ ๊ฐ์ ๊ฐ์ ์ป์ด์ผ ํจ
์ฐ์ ๋ณต๊ท(cascading rollback)
- ํธ๋์ญ์ ์ด ์๋ฃ๋๊ธฐ ์ ์ ์ฅ์ ๊ฐ ๋ฐ์ํ์ฌ rollback์ฐ์ฐ์ ์ํํ๋ฉด, ์ด ํธ๋์ญ์ ์ด ์ฅ์ ๋ฐ์ ์ ์ ๋ณ๊ฒฝํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ๊ฐ ๋ณ๊ฒฝ ์ฐ์ฐ์ ์คํํ ๋ ๋ค๋ฅธ ํธ๋์ญ์ ์๋ rollback์ฐ์ฐ์ ์ฐ์์ ์ผ๋ก ์คํํด์ผ ํ๋ค๋ ๊ฒ
- ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์ ์ํ๋๋๋ผ๋ ์ฐ์ ๋ณต๊ท๊ฐ ๋ฐ์ํ์ง ์๊ณ ์์ฐจ์ ์ผ๋ก ์ํํ ๊ฒ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ ๊ฐ์ ์ป์ ์ ์์ด์ผ ํจ
3-3. ํธ๋์ญ์ ์ค์ผ์ฅด
- ํธ๋์ญ์ ๋ค์ ์ฐ์ฐ์ ์คํํ๋ ์์
์ง๋ ฌserial ์ค์ผ์ฅด
- ์๋ฏธ
- ์ธํฐ๋ฆฌ๋น ๋ฐฉ์์ ์ด์ฉํ์ง ์๊ณ ๊ฐ ํธ๋์ญ์ ๋ณ๋ก ์ฐ์ฐ๋ค์ ์์ฐจ์ ์ผ๋ก ์คํ์ํค๋ ๊ฒ
- ํน์ง
- ๋ค๋ฅธ ํธ๋์ญ์ ์ ๋ฐฉํด๋ฅผ ๋ฐ์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์ํ๋๋ฏ๋ก ํญ์ ๋ชจ์์ด ์๋ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ฒ ๋จ.
- ๋ค์ํ ์ง๋ ฌ ์ค์ผ์ค์ด ๋ง๋ค์ด์ง ์ ์๊ณ , ์ง๋ ฌ ์ค์ผ์ค๋ง๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋๋ ์ต์ข ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅผ ์ ์์ง๋ง ์ง๋ ฌ ์ค์ผ์ค์ ๊ฒฐ๊ณผ๋ ๋ชจ๋ ์ ํํจ
- ์ธํฐ๋ฆฌ๋น ๋ฐฉ์์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ณํ์ํ์ด๋ผ๊ณ ๋ ํ ์ ์์
๋น์ง๋ ฌnonserial ์ค์ผ์ฅด
- ์๋ฏธ
- ์ธํฐ๋ฆฌ๋น ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ํธ๋์ญ์ ์ ๋ณํํด์ ์ํ์ํค๋ ๊ฒ
- ํน์ง
- ํ๋์ ํธ๋์ญ์ ์๋ฃ ์ ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ํ์ด ๊ฐ๋ฅํ๋ค.
- ์คํ ์์์ ๋ฐ๋ผ ๋ค์ํ ๋น์ง๋ ฌ ์ค์ผ์ฅด์ด ๋ง๋ค์ด์ง๊ณ , ๊ฐฑ์ ๋ถ์ค, ๋ชจ์์ฑ, ์ฐ์ ๋ณต๊ท ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๊ฒฐ๊ณผ์ ์ ํ์ฑ์ ๋ณด์ฅํ ์ ์์
๋ค์ํ ๋น์ง๋ ฌ ์ค์ผ์ค ์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๋น์ง๋ ฌ ์ค์ผ์ค์ ์์
์ง๋ ฌ ๊ฐ๋ฅserializable ์ค์ผ์ฅด
- ์๋ฏธ
- ๋น์ง๋ ฌ ์ค์ผ์ค ์ค์์ ์ํ ๊ฒฐ๊ณผ๊ฐ ๋์ผํ ์ง๋ ฌ ์ค์ผ์ค์ด ์๋ ๊ฒ
- ํน์ง
- ์ธํฐ๋ฆฌ๋น ๋ฐฉ์์ผ๋ก ๋ณํ ์ํํ๋ฉด์๋ ์ง๋ ฌ ์ค์ผ์ฅด์ ๋ฐ๋ผ ์ํํ ๊ฒ๊ณผ ๊ฐ์ด ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์
- ์ง๋ ฌ ๊ฐ๋ฅ ์ค์ผ์ค์ธ์ง ํ๋จํ๋ ๊ฒ์ ๊ฐ๋จํ ์์ ์ด ์๋๋ฏ๋ก ์ง๋ ฌ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฅํ๋ ๋ณํ ์ ์ด ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์
3-4 ๋ณํ ์ ์ด ๊ธฐ๋ฒ
์๋ฏธ
- ๋ณํ ์ํํ๋ฉด์๋ ์ง๋ ฌ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ๊ธฐ๋ฒ
๋ฐฉ๋ฒ
- ๋ชจ๋ ํธ๋์ญ์ ์ด ์ค์ํ๋ฉด ์ง๋ ฌ ๊ฐ๋ฅ์ฑ์ด ๋ณด์ฅ๋๋ ๊ท์ฝ์ ์ ์ํ๊ณ , ํธ๋ ์ญ์ ๋ค์ด ์ด ๊ท์ฝ์ ๋ฐ๋ฅด๋๋ก ํจ
๋ํ์ ์ธ ๋ณํ ์ ์ด ๊ธฐ๋ฒ
- ๋กํน ๊ธฐ๋ฒ
3-5 ๋กํน ๊ธฐ๋ฒ (๋ํ์ ์ธ ๋ณํ ์ ์ด ๊ธฐ๋ฒ)
๊ธฐ๋ณธ ์๋ฆฌ
- ํ ํธ๋์ญ์ ์ด ๋จผ์ ์ ๊ทผํ ๋ฐ์ดํฐ์ ๋ํ ์ฐ์ฐ์ ๋๋ผ ๋๊น์ง๋ ๋ค๋ฅธ ํธ๋์ญ ์ ์ด ๊ทธ ๋ฐ์ดํฐ์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ์ํธ ๋ฐฐ์ (mutual exclusion)ํจ
๋ฐฉ๋ฒ
- ๋ณํ ์ํ๋๋ ํธ๋์ญ์
๋ค์ด ๊ฐ์ ๋ฐ์ดํฐ์ ๋์์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก lock๊ณผ unlock ์ฐ์ฐ์ ์ด์ฉํด ์ ์ด
- lock: ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ์ ๋ํ ๋ ์ ๊ถ์ ์์ฒญํ๋ ์ฐ์ฐ
- unlock: ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ์ ๋ํ ๋ ์ ๊ถ์ ๋ฐํํ๋ ์ฐ์ฐ
๊ธฐ๋ณธ ๋กํน ๊ท์ฝ
- ํธ๋์ญ์
์ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํด ๋จผ์ lock ์ฐ์ฐ์ ์คํํด ๋
์ ๊ถ์ ํ๋ํจ
- read ๋๋ write ์ฐ์ฐ์ ์คํํ๊ธฐ ์ lock ์ฐ์ฐ์ ์คํ
- ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ํด ์ด๋ฏธ lock ์ฐ์ฐ์ด ์คํ๋ ๋ฐ์ดํฐ์๋ ๋ค์ lock ์ฐ์ฐ์ ์คํํ ์ ์์
- ๋ ์ ๊ถ์ ํ๋ํ ๋ฐ์ดํฐ์ ๋ํ ๋ชจ๋ ์ฐ์ฐ์ ์ํ์ด ๋๋๋ฉด ํธ๋์ญ์ ์ unlock ์ฐ์ฐ์ ์คํํด์ ๋ ์ ๊ถ์ ๋ฐ๋ฉํด์ผ ํจ
๋กํน ๋จ์
- lock์ฐ์ฐ์ ์คํํ๋ ๋์ ๋ฐ์ดํฐ์ ํฌ๊ธฐ
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ถํฐ ๋ฆด๋ ์ด์ , ํฌํ, ์์ฑ๊น์ง๋ ๊ฐ๋ฅํจ
- ๋กํน ๋จ์๊ฐ ์ปค์ง ์๋ก ๋ณํ์ฑ์ ๋ฎ์์ง์ง๋ง ์ ์ด๊ฐ ์ฝ๊ณ , ๋กํน ๋จ์๊ฐ ์์์ง์๋ก ์ ์ด๊ฐ ์ด๋ ต์ง๋ง ๋ณํ์ฑ์ ๋์์ง
๊ธฐ๋ณธ ๋กํน ๊ท์ฝ์ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํ ๋ฐฉ๋ฒ
- ํธ๋์ญ์ ๋ค์ด ๊ฐ์ ๋ฐ์ดํฐ์ ๋์์ read ์ฐ์ฐ์ ์คํํ๋ ๊ฒ์ ํ์ฉํจ
- lock ์ฐ์ฐ์ ๋ ๊ฐ์ง ์ข
๋ฅ๋ก ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํจ
- shared lock
- ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ์ ๊ณต์ฉ lock ์ฐ์ฐ์ ์คํํ๋ฉด (๊ฐ์ ํธ๋์ญ์ ์ด) ํด๋น ๋ฐ์ดํฐ์ read ์ฐ์ฐ์ ์คํํ ์๋ ์์ง๋ง write ์ฐ์ฐ์ ์คํํ ์ ์์
- ๋ค๋ฅธ ํธ๋์ญ์ ๋ ๊ณต์ฉ lock ์ฐ์ฐ์ ๋์์ ์คํํ ์ ์์ (๋ฐ์ดํฐ์ ๋ํ ์ฌ์ฉ๊ถ์ ์ฌ๋ฌ ํธ๋์ญ์ ์ด ํจ๊ป ๊ฐ์ง ์ ์์)
- exclusive lock
- ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ์ ์ ์ฉ lock ์ฐ์ฐ์ ์คํํ๋ฉด (๊ฐ์ ํธ๋์ญ์ ์ด) ํด๋น ๋ฐ์ดํฐ์ read ์ฐ์ฐ๊ณผ write ์ฐ์ฐ์ ๋ชจ๋ ์คํํ ์ ์๋ค.
- ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ด๋ ํ lock์ฐ์ฐ๋ ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค. (์ ์ฉ lock ์ฐ์ฐ์ ์คํํ ํธ๋์ญ์ ์ ํด๋น ๋ฐ์ดํฐ์ ๋ํ ๋ ์ ๊ถ์ ๊ฐ์ง)
- shared lock
๋ฌธ์ ์
ํ์ง๋ง ์์ ๊ธฐ๋ณธ ๋กํน ๊ท์ฝ๋ง์ผ๋ก๋ lock๊ณผ unlock์ฐ์ฐ์ ์ํ ์์ ์ ๊ดํ ๋ชจ์์ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ํธ๋์ญ์ T1์ด ๋ฐ์ดํฐ X์ ๋๋ฌด ๋นจ๋ฆฌ unlock ์ฐ์ฐ์ ์คํํ์ฌ ํธ๋์ญ์ T2๊ฐ ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
2๋จ๊ณ ๋กํน ๊ท์ฝ์ ํตํด ํด๊ฒฐํ ์ ์๋ค.
2๋จ๊ณ ๋กํน ๊ท์ฝ
์๋ฏธ
- ๊ธฐ๋ณธ ๋กํน ๊ท์ฝ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ํธ๋์ญ์ ์ ์ง๋ ฌ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด lock๊ณผ unlock ์ฐ์ฐ์ ์ํ ์์ ์ ๋ํ ์๋ก์ด ๊ท์ฝ์ ์ถ๊ฐํ ๊ฒ
๋ฐฉ๋ฒ
- ํธ๋์ญ์
์ด lock๊ณผ unlock ์ฐ์ฐ์ ํ์ฅ ๋จ๊ณ์ ์ถ์ ๋จ๊ณ๋ก ๋๋์ด ์คํ
- ํธ๋์ญ์ ์ด ์ฒ์ ์ํ๋๋ฉด ํ์ฅ ๋จ๊ณ๋ก ๋ค์ด๊ฐ lock ์ฐ์ฐ๋ง ์คํ ๊ฐ๋ฅ
- unlock ์ฐ์ฐ์ ์คํํ๋ฉด ์ถ์ ๋จ๊ณ๋ก ๋ค์ด๊ฐ unlock ์ฐ์ฐ๋ง ์คํ ๊ฐ๋ฅ
- ํธ๋์ญ์ ์ ์ฒซ ๋ฒ์งธ unlock ์ฐ์ฐ ์คํ ์ ์ ํ์ํ ๋ชจ๋ lock ์ฐ์ฐ์ ์คํํด์ผ ํจ
ํ์ฅ ๋จ๊ณ: ํธ๋์ญ์ ์ด lock์ฐ์ฐ๋ง ์คํํ๊ณ , unlock์ฐ์ฐ์ ์คํ ํ ์ ์๋ ๋จ๊ณ ์ถ์ ๋จ๊ณ: ํธ๋์ญ์ ์ด unlock์ฐ์ฐ๋ง ์คํํ๊ณ lock์ ์คํ ๋ถ๊ฐ๋ฅ
2๋จ๊ณ ๋กํน ๊ท์ฝ์ ์ค์ํ์ฌ ์ง๋ ฌ ๊ฐ๋ฅ์ฑ์ด ๋ณด์ฅ๋ ์ค์ผ์ค ์
๋ฌธ์ ์
- ๋ค๋ง ๊ต์ฐฉ์ํ(deadlock)์ด ๋ฐ์ํ ์ ์๋ค.
- ๊ต์ฐฉ ์ํ๋: ํธ๋์ญ์ ๋ค์ด ์๋๊ฐ ๋ ์ ํ๊ณ ์๋ ๋ฐ์ดํฐ์ unlock ์ฐ์ฐ์ด ์คํ๋๊ธฐ๋ฅผ ์๋ก ๊ธฐ๋ค๋ฆฌ๋ฉด์ ํธ๋์ญ์ ์ ์ํ์ ์ค๋จํ๊ณ ์๋ ์ํ;
- ์ด๋ ์ฒ์๋ถํฐ ๋ฐ์ํ์ง ์๋๋ก ์๋ฐฉํ๊ฑฐ๋, ๋นจ๋ฆฌ ํ์งํ์ฌ ํ์ํ ์กฐ์น๋ฅผ ์ทจํด์ผํจ.
'DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
9์ฅ ์ ๊ทํ (0) | 2021.06.20 |
---|---|
IE ํ๊ธฐ๋ฒ (0) | 2021.06.20 |
8์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ (0) | 2021.06.20 |
7์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด SQL (0) | 2021.04.17 |
6์ฅ ๊ด๊ณ ๋ฐ์ดํฐ ์ฐ์ฐ (0) | 2021.04.17 |
5์ฅ ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ (0) | 2021.03.17 |