Schedule๊ณผ Serializability
K๊ฐ H์๊ฒ H์๊ฒ 20๋ง์์ ์ด์ฒดํ ๋, H๋ ATM์์ ๋ณธ์ธ ๊ณ์ข์ 30๋ง์์ ์ ๊ธํ๋ค๋ฉด ์ ๋ง ์ฌ๋ฌ๊ฐ์ง ๊ฒฝ์ฐ์ ์๋ก ์คํ๋ ์ ์๋ค.

์ฌ๋ฌ ํธ๋์ญ์ ์ ์คํ ๊ฒฝ์ฐ์ ์ ์ค ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ํฉ์ด๋ผ๋ฉด, ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
3๋ฒ์์ K๊ฐ H์ 200๋ง์์ ์ฝ์๋๋ฐ ์ค๊ฐ์ H๊ฐ ์์ ์ ๊ณ์ข์ 30๋ง์์ ์ ๊ธํ ๊ฒ์ด๋ค.
K์ read ์์ ์๋ 200๋ง์ ์ด๊ธฐ๋๋ฌธ์ 20๋ง์์ ์ด์ฒดํ๊ณ commitํ๋ฉด H์ 30๋ง์์ ์ฌ๋ผ์ง๋ค.
์ด๋ฌํ ์ด์ ํ์์ Lost Update๋ผ๊ณ ํ๋ค.
schedule โ conflict operations โ conflict equivalent โ conflict serializable ์์๋ก ์ดํดํ๋ ค ํ๋ค.
Schedule
๊ทธ๋ฆผ์์ 1, 2, .. 5๋ฒ๊ณผ ๊ฐ์ ์ฐ์ฐ์ โoperationโ์ด๋ผ๊ณ ํ๋ค.
๋, ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์ ์คํ๋ ๋, ๊ฐ ํธ๋์ญ์ ์ ์ํ operation๋ค์ ์คํ ์์๋ฅผ ์ค์ผ์ค์ด๋ผ๊ณ ํ๋ค.
ํธ๋์ญ์
์ ์ค์ผ์ค์ โ์ฌ๋ฌ ํธ๋์ญ์
โ์ ๋์์ ์ฒ๋ฆฌํ๋ ์๊ฐ์ ์์
์์๋ฅผ ์๋ฏธํ๋ค.
์ฆ, ๊ทธ๋ฆผ ๋ง๊ณ ๋ ์คํ๋ ์ ์๋ ๋ค๋ฅธ ์ฌ๋ฌ ์ผ์ด์ค๊ฐ ์กด์ฌ ํ ํ ๋ฐ, ๊ทธ๊ฒ๋ค๋ ๋ชจ๋ ์ค์ผ์ค์ด๋ค.
๊ฐ ํธ๋์ญ์ ์ ์ํ๋ operation๋ค์ ์์๋ ๋ฐ๋์ง ์๋๋ค.
์ฝ๊ฒ ์ดํดํ๊ธฐ ์ํด์ ๋ ๊ฐ์ ๋์ผํ ์์ฒญ์ด ๋ค์ด์์ ๋, ํ๋์ ์ค์ผ์ค๋ง์ด ํ์ฑ๋๋ค๊ณ ์๊ฐํ๋ค.
์ด ๊ฒฝ์ฐ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์๋น์ค ๋ก์ง์ด ํ๋์ ํธ๋์ญ์ ์ ๊ฐ๊ณ ์์ ๊ฒฝ์ฐ๋ผ๊ณ ์๊ฐํ๋ค.
Serial Schedule
์ง๋ ฌ ์ค์ผ์ค์ DB์์ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๋๋ฐ ์์ด์ ์ฌ๋ฌ ํธ๋์ญ์ ์ด ์์ฐจ์ ์ผ๋ก ํ๋์ฉ ์คํํ๋ ์ค์ผ์ค์ ์๋ฏธํ๋ค.
์ฆ, ํธ๋์ญ์ ์ด ๋์์ ์คํ๋์ง ์๊ณ ํ ํธ๋์ญ์ ์ด ์๋ฃ๋ ํ ๋ค์ ํธ๋์ญ์ ์ด ์์๋๋ ๋ฐฉ์์ด๋ค.
๋ฐ๋ผ์ ๊ฐ ํธ๋์ญ์ ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฏ๋ก ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด ๋ณด์ฅ๋๋ค.
ํ์ง๋ง ํธ๋์ญ์ ์ ๋์์ ํธ๋์ญ์ ์ ์คํํ๋ ๊ธฐ๋ฅ์ ํ์ฉํ์ง ๋ชปํ์ฌ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์๋ค.
Non-Serial Schedule
๋น์ง๋ ฌ ์ค์ผ์ค์ ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์, ๋ณ๋ ฌ๋ก ์คํ๋๋๋ก ํ๋ ์ค์ผ์ค์ด๋ค.
๊ฐ์ ์๊ฐ์ด์ ๋ ๋ง์ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ๋์ด ์ฆ๊ฐํ๊ณ ์๋ต ์๊ฐ์ ๋จ์ถํ ์ ์์๊ฒ์ด๋ค.
ํ์ง๋ง ๋์์ฑ์ ์ ์ดํ๋ ๋ฉ์ปค๋์ฆ์ด ์๋ค๋ฉด ๋ฌด๊ฒฐ์ฑ์ด ๋ณด์ฅ๋์ง ์๊ณ ๊ทธ๋ฆผ์ฒ๋ผ ์ด์ ํ์์ด ๋ฐ์ํ ์ ์๋ค.
Conflict
์ถฉ๋์ DB ์์คํ ์์ ๋ ๊ฐ ์ด์์ ํธ๋์ญ์ ์ด ๋์ผํ ๋ฐ์ดํฐ์ ๋์์ ์ ๊ทผํ๋ ค๊ณ ํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ์ด๋ค.
๐ ๋ operation์ด 3๊ฐ์ง์ condition์ ๋ง์กฑํด์ผ conflict์ด๋ค.
์๋ก ๋ค๋ฅธ transaction
๊ฐ์ data์ ์ ๊ทผ
์ต์ ํ๋๋ write operation </aside>
์ถฉ๋ ์ ํ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ฝ๊ธฐ-์ฐ๊ธฐ (Read-Write)
ํ๋์ ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ๋ฅผ read ํ๋ ๋์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋์ผํ ๋ฐ์ดํฐ๋ฅผ write ํ๋ ๊ฒฝ์ฐ
์ฐ๊ธฐ-์ฝ๊ธฐ (Write-Read)
ํ๋์ ํธ๋์ญ์ ์ด write ํ๋ ๋์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋์ผํ ๋ฐ์ดํฐ๋ฅผ read ํ๋ ๊ฒฝ์ฐ
์ฐ๊ธฐ-์ฐ๊ธฐ (Write-Write)
๋ ๊ฐ ์ด์์ ํธ๋์ญ์ ์ด ๋์์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ write ํ๋ ๊ฒฝ์ฐ
์ถฉ๋์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ด๋ฐ๊ฒ ์์๋ค. ์์ง ๋ค๋ฃจ์ง ์์ ๊ฒ์ด๋ค.
์ ๊ธ (Locking)
ํ์์คํฌํ ์์
๋๊ด์ ๋์์ฑ ์ ์ด
์ง๋ ฌํ ๊ฐ๋ฅ์ฑ ๊ฒ์ฌ
Conflict Equivalent
๋ ๊ฐ์ ์ค์ผ์ค์ด ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด โconflict equivalentํ๋คโ ๋ผ๊ณ ํ๋ค.
2๊ฐ์ condition์ ๋ชจ๋ ๋ง์กฑํ๋ฉด conflict equivalent์ด๋ค.
๋ Schedule์ ๊ฐ์ ํธ๋์ญ์ ์ ๊ฐ์ง๋ค.
์ด๋ค conflicting operations์ ์์๋ ์์ชฝ schedule ๋ชจ๋ ๋์ผํ๋ค.
1๋ฒ ์กฐ๊ฑด์ ๋ฌด์จ ์๊ธฐ์ผ๊น?
๊ฐ์ ํธ๋์ญ์ ์ ๊ฐ์ง๋ค๋ ์๋ฏธ๋ ์ค์ผ์ค์ ํฌํจ๋ ํธ๋์ญ์ ๋ค์ด ๋์ผํ ํธ๋์ญ์ ์ด๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ฆ, ํธ๋์ญ์ T1, T2.. ๊ฐ ์ค์ผ์ค S1, S2์ ๋ชจ๋ ์กด์ฌํ๋ค๋ ๊ฒ์ด๋ค.
Ex)
T1 : R(1), W(1)
T2 : R(2), W(2)
S1 : T1(R(1), W(1)) โ T2(R(2), W(2))
S2 : T2(R(2), W(2)) โ T1(R(1), W(1))
์์๋ก ๋ํ๋์ง๋ง ์ค์ ๋ก ํธ๋์ญ์ ์ ์คํ ์์๋ ๋ค๋ฅผ ์ ์๋ค.
S1 : R(1) โ R(2) โ W(2) โ W(1)์ ๊ฐ์ด.
๊ทธ๋ผ 2๋ฒ ์กฐ๊ฑด์?
์ถฉ๋ ๋ฑ๊ฐ์ฑ์ ๋ ์ค์ผ์ค์ด ์ถฉ๋ํ๋ ์ฐ์ฐ์ ์์๊ฐ ๋์ผํ ๊ฒฝ์ฐ๋ฅผ ์๊ธฐํ๋ค.
์ฌ๊ธฐ์ ๋งํ๋ ๋์ผํ ํธ๋์ญ์ ์์๋ ํธ๋์ญ์ ์ ํธ์ถ ์์๋ฅผ ์๊ธฐํ๋ ๊ฒ์ด ์๋๋ผ, ์ถฉ๋์ด ๋ฐ์ํ๋ ์์ ์ ์์๋ฅผ ์๊ธฐํ๋ ๊ฒ์ด๋ค.
์ฆ, ๋ ์ค์ผ์ค์ด ์๋ก ๋ค๋ฅธ ์์๋ก ์คํ๋๋๋ผ๋ ๊ฒฐ๊ณผ๋ ๋์ผํ๋ค.
์ถฉ๋ ๋๋ฑ์ ์ค์ผ์ค์ด ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ ๋ณด์ฅํจ์ผ๋ก์จ DB ์์คํ ์ ๋์ ํธ๋์ญ์ ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ์ง๋ ฌํ ์ด์ ํ์์ ๋ฐฉ์งํ ์ ์๋ค.
์ง๋ ฌํ ์ด์ ํ์์ non-serial schedule์์ ๋ฐ์ํ๋ ์ด์ ํ์์ ์๊ธฐํ๋ค.
๐ Conflict serializable
์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด Conflict serializable ํ๋ค.
๋ค๋ฅธ Serial Schedule๊ณผ Confilct equivalent ์ผ ๋.
์ถฉ๋ ์ง๋ ฌ์ ์ง๋ ฌ ์ค์ผ์ค + ์ถฉ๋ ๋ฑ๊ฐ์ฑ์ด๋ค. ์ง๋ ฌ ์ค์ผ์ค์ ํธ๋์ญ์ ์ ์์ฐจ์ ์ผ๋ก ํ๋์ฉ ์คํํ๋ค๊ณ ํ๋ค.
๋ฐ๋ผ์ Conflict serializable์ ์ฌ๋ฌ ํธ๋์ญ์
์ด ๋์์ ์คํ๋๋๋ผ๋ ํธ๋์ญ์
์ด ์์ฐจ์ ์ผ๋ก ์คํ๋ ๊ฒ๊ณผ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํ ์ ์๋ ์ค์ผ์ค์ ์๊ธฐํ๋ค.
Ex)
T1 : r1(k) โ w1(k) โ r1(h) โ w1(h)
T2 : r2(h) โ w2(h)
schedule1 : r1(k) โ w1(k) โ r2(h) โ w2(h) โ t2 commit โ r1(h) โ w1(h) โ t1 commit
schedule2 : r2(h) โ w2(h) โ t2 commit โ r1(k) โ w1(k) โ r1(h) โ w1(h) โ t1 commit
์คํ ํ๋ฆ์ ๋ณด๋ฉด ์ค์ผ์ค 2๋ ํธ๋์ญ์ ์ด ์์ฐจ์ ์ผ๋ก ์คํ๋๋ ์ง๋ ฌ ์ค์ผ์ค์ด๋ค.
์ค์ผ์ค 1์ ๋ฑ ๋ด๋ ์ง๋ ฌ ์ค์ผ์ค์ด ์๋๊ณ non-serial schedule์ด๋ค. ํ์ง๋ง ์ถฉ๋ ์ง๋ ฌ ๊ฐ๋ฅ์ฑ ์กฐ๊ฑด์ ๋ง์กฑํ๊ธฐ ๋๋ฌธ์
Conflict serializable ํ๋ค.
UnRecoverable Schedule
์๋ ๊ทธ๋ฆผ์ ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ ๊น?

ํธ๋์ญ์ 2๋ฒ์ด ๋กค๋ฐฑ๋๋ฉด์ h๋ฅผ ๋ค์ 200๋ง์์ผ๋ก ๋๋ ค๋์ผ ํ๋ค. ํ์ง๋ง k๋ 100๋ง์์์ 20๋ง์์ด ์ฌ๋ผ์ก๋ค.
ํธ๋์ญ์ 2๋ฒ์ 5๋ฒ์ write(h) ์์ ์ด ๋กค๋ฐฑ์ผ๋ก ์ดํด ๋ ์ด์ ์ ํจํ์ง ์๊ธฐ ๋๋ฌธ์ ํธ๋์ญ์ 1๋ฒ์์์ 6, 7๋ฒ ์์ ๋ ๋กค๋ฐฑ ๋์ด์ผ ํ๋ค.
ํ์ง๋ง ํธ๋์ญ์ 1๋ฒ์ ์ด๋ฏธ commit ๋ ์ํ์ด์ง๋ง, ์์์ฑ(durability) ๋๋ฌธ์ ๋กค๋ฐฑ์ ํ ์ ์๋ค.
durability : ํ ๋ฒ commit๋ ํธ๋์ญ์ ์ rollback ๋ ์ ์๋ค.
์ด๋ ๊ฒ ์ค์ผ์ค ๋ด์์ ๋กค๋ฐฑ๋ ํธ๋์ญ์
์ด ์ํํ write ์์
์ commit๋ ๋ค๋ฅธ ํธ๋์ญ์
์ด ์ฝ์ ์ค์ผ์ค์ unrecoverable schedule ์ด๋ผ๊ณ ํ๋ค.
๋กค๋ฐฑ์ ํด๋ ์ด์ ์ํ๋ก ํ๋ณต์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์ค์ผ์ค์ DBMS๊ฐ ํ์ฉํด์๋ ์๋๋ค.
ํธ๋์ญ์ ์ค์ผ์ค์ด unrecoverable ์ํ๊ฐ ๋๋ฉด, ์ด๋ค ํธ๋์ญ์ ์ด ์คํจํ๊ฑฐ๋ ์ทจ์๋์์ ๋, DB๋ฅผ ์ผ๊ด์ฑ ์๋ ์ํ๋ก ๋ณต๊ตฌํ ์ ์๋ ๊ฒฝ์ฐ์ด๋ค. ํ๋ณต์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ recoverableํ ์ค์ผ์ค์ ํ์ฉ ํด์ผํ๋ค.
๐ค ๊ทธ๋ผ ์ด๋ค ์ค์ผ์ค์ด recoverable ํ ๊น?
Recoverable Schedule
ํ๋ณต ๊ฐ๋ฅํ ์ค์ผ์ค์ด ๋๊ธฐ ์ํด์๋ ํธ๋์ญ์ ์ commit ์์๊ฐ ์ค์ํ๋ค.
๊ทธ๋ฆผ์ ๋ณด๋ฉด ํธ๋์ญ์ 1๋ฒ์ด ํธ๋์ญ์ 2๋ฒ ์์์ operation์ ์ํํ๋ฉด์ ์์กดํ๊ณ ์๋ค.

2๋ฒ ํธ๋์ญ์ ์ด ๋จผ์ commit
๋ง์ฝ 2๋ฒ ํธ๋์ญ์ ์ด rollback ํ๋ค๋ฉด, ๋จผ์ ๋กค๋ฐฑํ๊ณ ํธ๋์ญ์ 1๋ฒ๋ ๊ฐ์ด abort ํ์ฌ ๋กค๋ฐฑ ์ํจ๋ค.
์ฆ, ํ ํธ๋์ญ์ ์ด ๋ค๋ฅธ ํธ๋์ญ์ ์ ๊ฒฐ๊ณผ๋ฅผ read ํ ๋, read ํ๋ ํธ๋์ญ์ ์ด ์ปค๋ฐ๋ ๊ฒฝ์ฐ์๋ง ํด๋น ํธ๋์ญ์ ์ด ์ปค๋ฐ๋ ์ ์๋๋ก ํ๋ค.
Cascading Rollback (Cascadeless Schedule)
recoverable์ ๋ ๋ฒ์งธ ๊ทธ๋ฆผ์ฒ๋ผ ํ๋์ ํธ๋์ญ์ ์ด rollback ํ๋ฉด, ์ด๋ฅผ ์์กดํ๋ ๋ค๋ฅธ ํธ๋์ญ์ ๋ rollback ํด์ผํ๋ค. ์ด๋ ์ฌ๋ฌ ํธ๋์ญ์ ์ rollbakc์ด โ์ฐ์์ โ์ผ๋ก ๋ฐ์ํ๋ฉด์ ์ฒ๋ฆฌํ๋ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค.

์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด write ์์ ์ ํ ํธ๋์ญ์ ์ด commit or rollback์ ํ ๋ค์ read๋ฅผ ์ํํ๋ ์ค์ผ์ค๋ง ํ์ฉํ์ ๋ผ๋ ๋ฐฉ๋ฒ์ด ๋์จ๋ค. ์ฆ, ํ ํธ๋์ญ์ ์ด ์ปค๋ฐ๋๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๊ทธ ํธ๋์ญ์ ์ด ์์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋๋ก ํ๋ ๋ฐฉ์์ด๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์ค๊ณํ ์ค์ผ์ค์ cascadeless schedule ์ด๋ผ๊ณ ํ๋ค.
Strict Schedule
๊ทธ๋ ๋ค๋ฉด ์์์ ์๊ฐํ cascadeless schedule์ ๋ฌธ์ ๊ฐ ์์๊น? ๐ค
Ex) 3๋ง์์ธ ํผ์๊ฐ ์๋ค. ํ์ง๋ง K๋ 1๋ง์์ผ๋ก ์์ ํ๊ณ , H๋ 2๋ง์์ผ๋ก ์์ ํ๋ ค๊ณ ํ๋ค.

๊ทธ๋ฆผ์ ์ค์ผ์ค์์ ํ ํธ๋์ญ์
์์ write๋ฅผ ํ๊ณ commit ํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์
์์ read ํ์ง ์๊ธฐ ๋๋ฌธ์ cascadeless schedule์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
ํ์ง๋ง ํธ๋์ญ์ 1๋ฒ์ด rollback ๋๋ฉด์ ํธ๋์ญ์ 2๋ฒ์ commit์ด ์ ์ฉ๋์ง ์๋๋ค. (๊ทธ๋๋ก 3๋ง์)
์ด๋ฅผ ๋ณด๊ฐํ ์ค์ผ์ค์ด Strict Schedule์ด๋ค. ์์ ์๋ ๊ทธ๋ฆผ์ Strict Schedule์ ์๋๋ค.
ํ ํธ๋์ญ์
์ด ์ปค๋ฐ๋๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ํธ๋์ญ์
์ด ๊ทธ ํธ๋์ญ์
์ด ์์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์๋ +์ธ์๋ ์๋๋ก ํ๋ ๋ฐฉ์์ด๋ค. (๐ฅ read, write ์ ๋ถ ๋ถ๊ฐ๋ฅ)
๊ทธ๋ผ Strict์ผ๋ก ๋ณ๊ฒฝํด๋ณด์.

Strict Schedule์ rollback ํ ๋ recovery๊ฐ ์ฝ๋ค.
Summary
์ฑ๋ฅ์ผ๋ก ์ธํด ์ฌ๋ฌ ํธ๋์ญ์ ๋ค์ ๋์์ ์คํํด์ผ ํ๋ค. (non-serial schedule)
ํ์ง๋ง ์ด๋ก์ธํด ์ด์ ํ์์ด ๋ฐ์ํ๋ ๊ฒ์ ํผํด์ผํ๋ค. ๋ฐ๋ผ์ conflict serializable (์ถฉ๋ ์ง๋ ฌ ๊ฐ๋ฅ์ฑ)ํ non-serial schedule์ ํ์ฉํ๋ค.
๊ทธ๋ผ ์ด๋ฅผ RDB์์ ์ด๋ป๊ฒ ๊ตฌํํ ๊น? ๐ค
์ฌ๋ฌ ํธ๋์ญ์ ์ด ์คํ๋ ๋๋ง๋ค ์ค์ผ์ค๋ค์ด conflict serializable ํ์ง ํ์ธํ๋ค.
โ ์ด ๋ฐฉ๋ฒ์ ์์ฒญ์ด ๋ง๋ค๋ฉด ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์๋ค.
์ฌ๋ฌ ํธ๋์ญ์ ์ ๋์์ ์คํํด๋ ์ค์ผ์ค์ด conflict serializable ํ๊ฒ ๋ณด์ฅํ๋
ํ๋กํ ์ฝ์ฌ์ฉ
โ ์์ conflict serializableํ ์ค์ผ์ค๋ง์ด ์คํ๋๋๋ก ๋ณด์ฅํ๋ ํ๋กํ ์ฝ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ.
์ด ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ค๊ณ ํ๋ค.
๊ทธ ์ด๋ค ์ค์ผ์ค๋ serializable ํ๊ฒ ๋์ํ๋๋ก ํ๋ ๊ฒ์ด concurrency control์ด๋ค.
์ด๊ฒ์ด ํธ๋์ญ์ ์ Isolation์ ์์ฑ์ด ๋ง์ด ์ฐ๊ด๋์ด ์๋ค. ๋๋ฌด ์๊ฒฉํ isolation์ ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์๋ค.
์ด๋ฅผ ์ํํ๋ ค๊ณ ํ ๊ฒ์ด isolation level์ด๋ค.

Last updated