[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋์์ฑ ์ ์ด(Currency Control)
๐งช Computer Science/Database
๋์์ฑ์ ์ด
- ๋ค์ค ์ฌ์ฉ์ ํ๊ฒฝ์์ ๋ ์ด์์ ํธ๋์ญ์ ์ด ๋์์ ์ํ๋ ๋, ์ผ๊ด์ฑ์ ํด์น์ง ์๋๋ก ํธ๋์ญ์ ์ ๋ฐ์ดํฐ ์ ๊ทผ ์ ์ด
- ๋ค์ค ์ฌ์ฉ์ ํ๊ฒฝ์ ์ง์ํ๋ DBMS์ ๊ฒฝ์ฐ, ๋ฐ๋์ ์ง์ํด์ผ ํ๋ ๊ธฐ๋ฅ
๊ฐฑ์ ์์ค(Lost Update)
- ํ๋์ ํธ๋์ญ์ ์ด ๊ฐฑ์ ํ ๋ด์ฉ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋ฎ์ด์์ผ๋ก์จ ๊ฐฑ์ ์ด ๋ฌดํจํ๊ฐ ๋๋ ๊ฒ์ ์๋ฏธ
- ๋ ๊ฐ์ ํธ๋์ญ์ ์ด ํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋์์ ๊ฐฑ์ (Update)ํ ๋ ๋ฐ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ ๋ฐ์ํ๋ฉด ์๋๋ ํ์
๋ชจ์์ฑ(Inconsistency)
- ๋ค๋ฅธ ํธ๋์ญ์ ๋ค์ด ํด๋น ํญ๋ชฉ ๊ฐ์ ๊ฐฑ์ ํ๋ ๋์ ํ ํธ๋์ญ์ ์ด ๋ ๊ฐ์ ํญ๋ชฉ ๊ฐ ์ค ์ด๋ค ๊ฒ์ ๊ฐฑ์ ๋๊ธฐ ์ ์ ๊ฐ์ ์ฝ๊ณ ๋ค๋ฅธ ๊ฒ์ ๊ฐฑ์ ๋ ํ์ ๊ฐ์ ์ฝ๊ฒ ๋์ด ๋ฐ์ดํฐ์ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ๋ ์ํฉ
์ฐ์ ๋ณต๊ท(Cascading Rollback)
- ๋ ํธ๋์ญ์ ์ด ๋์ผํ ๋ฐ์ดํฐ ๋ด์ฉ์ ์ ๊ทผํ ๋ ๋ฐ์
- ํ ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ ํ ๋ค์ ์คํจํ์ฌ Rollback ์ฐ์ฐ์ ์ํํ๋ ๊ณผ์ ์์ ๊ฐฑ์ ๊ณผ Rollback ์ฐ์ฐ์ ์คํํ๊ณ ์๋ ์ฌ์ด์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ ์ฌ์ฉํ ๋ ๋ฐ์ํ ์ ์๋ ๋ฌธ์
ํธ๋์ญ์ ์ค์ผ์ค(Transaction Schedule)
- ์ง๋ ฌ ์ค์ผ์ค(Serial Schedule)
- ํ๋์ ํธ๋์ญ์ ์ด ์๋ฃ๋์ด์ผ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ํ
- ๋น์ง๋ ฌ ์ค์ผ์ค(Nonserial Schedule)
- ํธ๋์ญ์ ์ ์ง๋ ฌ ์ํ ์์์ ์๊ด์์ด ๋ณํ ์ํํ๋ ์ค์ผ์ค
- ์ง๋ ฌ ๊ฐ๋ฅ ์ค์ผ์ค(Serializable Schedule)
- ์๋ก ์ํฅ์ ์ฃผ์ง ์๋ ์ง๋ ฌ ์ค์ผ์ค์์ ๋น์ง๋ ฌ์ ์ผ๋ก ์ํ
๋ฝ(Lock)
- ํธ๋์ญ์ ๋ค์ด ๋์ผํ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋ํด ์์์ ์ธ ๋ณํ ์ ๊ทผ์ ํ์ง ๋ชปํ๋๋ก ์ ์ดํ๋ ๊ฒ
- ์ฝ๊ธฐ๋ฅผ ํ ๋ ์ฌ์ฉํ๋ ๊ณต์ ๋ฝ(LS, Shared Lock)๊ณผ ์ฝ๊ณ ์ฐ๊ธฐ๋ฅผ ํ ๋ ์ฌ์ฉํ๋ ๋ฒ ํ๋ฝ(LX, Exclusive Lock)์ผ๋ก ๋๋๋ค.
2๋จ๊ณ ๋ฝํน
- ๋กํน ๋จ์: ๋กํน ๊ธฐ๋ฒ์์ ์ฌ์ฉํ๋ lock ์ฐ์ฐ์ ๋์
- 2๋จ๊ณ ๋กํน ๊ท์ฝ: ๋ฝ์ ๊ฑธ๊ณ ํด์ ํ๋ ์์ ์ ์ ํ์ ๋์ง ์์ผ๋ฉด ๋ ๊ฐ์ ํธ๋์ญ์ ์ด ๋์์ ์คํ๋ ๋ ์ผ๊ด์ฑ์ด ๊นจ์ง ์ ์์ด ๋กํน ๋จ๊ณ๋ฅผ 2๊ฐ๋ก ๊ตฌ๋ถํ์ฌ ์ด๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ
- ํ์ฅ ๋จ๊ณ(Growing Phase): ํธ๋์ญ์ ์ ์๋ก์ด lock ์ฐ์ฐ๋ง ํ ์ ์๊ณ , unlock ์ฐ์ฐ์ ํ ์ ์๋ ๋จ๊ณ
- ์ถ์ ๋จ๊ณ(Shrinking Phase): ํธ๋์ญ์ ์ unlock ์ฐ์ฐ๋ง ํ ์ ์๊ณ , lock ์ฐ์ฐ์ ํ ์ ์๋ ๋จ๊ณ
- ํธ๋์ญ์ ๋ค์ด lockํ๋ ์๊ฐ๊ณผ unlock์ ํ๋ ์๊ฐ์ ๊ตฌ๋ถํ์ฌ ์ํ
๋ฐ๋๋ฝ(Deadlock, ๊ต์ฐฉ์ํ)
- ๋ ๊ฐ ์ด์์ ํธ๋์ญ์ ์ด ๊ฐ๊ฐ ์์ ์ ๋ฐ์ดํฐ์ ๋ํ์ฌ ๋ฝ์ ํ๋ํ๊ณ ์๋๋ฐฉ ๋ฐ์ดํฐ์ ๋ํ์ฌ ๋ฝ์ ์์ฒญํ๋ฉด ๋ฌดํ ๋๊ธฐ ์ํ์ ๋น ์ง ์ ์๋ ํ์
'๐งช Computer Science > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํ๋ณต(Recovery) (0) | 2021.07.07 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํธ๋์ญ์ ๊ณ ๋ฆฝ ์์ค(Transaction Isolation Level) (0) | 2021.07.07 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํธ๋์ญ์ (Transaction) (0) | 2021.07.06 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ ๊ทํ(Normalization) / ์ด์ํ์, ํจ์์ข ์์ฑ, ์ ๊ทํ (0) | 2021.07.06 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง(Data Modeling) (0) | 2021.07.04 |