์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋น์ฃผ๊ธฐ์ ํธ
- ํ๋ ์ ๊ตฌ์กฐ
- ๋ฐ์ดํฐ ์ ์ก
- ํญํด99
- ์ค๋ ๋
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- tcp ์ธ๊ทธ๋จผํธ
- ํ๋ก์ด๋์์
- ์ค๋ฅ์ ์ด
- ๊ฐ๋ฐ์์ทจ์
- mariadb
- tcp ํ๋กํ ์ฝ
- ์์๋ฒํธ
- reducible
- ์ฐ๋ถํฌdb
- leetcode
- ์ค๋ธ์
- til
- ํ ํฐ ๋ฒ์ค
- 99ํด๋ฝ
- git merge
- IEEE 802
- xv6
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ฃผ๊ธฐ์ ํธ
- ์ค๋ฅ๊ฒ์ถ
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- i-type
- well known ํฌํธ
- Today
- Total
Unfazedโ๏ธ๐ฏ
1.3 How to Test Serializability ๋ณธ๋ฌธ
Testing for Conflict Serializability
Precedence Graph Example 1
์ค์ผ์ค์ ๋ํ ์ ํ ๊ทธ๋ํ๋ฅผ ์์ฑํ ์์ ์ด๋ค. ์ ํ ๊ทธ๋ํ์ ์ฌ์ดํด์ด ์์ผ๋ฏ๋ก ํด๋น ์ค์ผ์ค์ ์ถฉ๋ ์ง๋ ฌ๊ฐ๋ฅ ์ค์ผ์ค์ด ์๋๋ค.
Precedence Graph Example 2
์ ํ ๊ทธ๋ํ์ ๋ํ ์ฐ๋ฆฌ์ ๊ด์ฌ์ ์ฌ์ดํด ์กด์ฌ ์ฌ๋ถ์ด๋ฏ๋ก, ์ค๋ณต๋๋ ์ฃ์ง๋ ๊ทธ๋ํ ์์ฑ ์์ ํ๊ธฐํ์ง ์์๋ ๋๋ค.
์ค์ผ์ค์ ์ํ ์ ํ ๊ทธ๋ํ์๋ ์ฌ์ดํด์ด ์์ผ๋ฏ๋ก ํด๋น ์ค์ผ์ค์ ์ถฉ๋ ์ง๋ ฌ๊ฐ๋ฅ ์ค์ผ์ค์ด๋ค.
Cycle detection in precedence graphs is cheap
T5 -> T1 -> T3 -> T2 -> T4
์ ํ ๊ทธ๋ํ๋ ๋ฐฉํฅ์ฑ ๊ทธ๋ํ์ด๋ฉฐ, ๋ฐฉํฅ์ฑ ๊ทธ๋ํ์์ ์ฌ์ดํด ์กด์ฌ ์ฌ๋ถ ํ๋ณ์ ๊ฐ๋จํ๊ณ ์ ๋ ดํ ์ฐ์ฐ์ด๋ค.
์์ ์ ๋ ฌ(topological sort)์ ๋ถ๋ถ ์์๋ฅผ ๊ฐ์ง๋ ๋ ธ๋(ํธ๋์ญ์ )์ ๋ํ์ฌ ๋ถ๋ถ ์์๋ฅผ ๋ง์กฑํ๋ฉด์ ์ ์ฒด ๋ ธ๋๋ฅผ ์ ๋ ฌํ๋ ๋ฐฉ์์ด๋ค. ์ค์ผ์ค 11 ์ ํ ๊ทธ๋ํ์๋ ์ด 5๊ฐ์ ๋ ธ๋๊ฐ ์์ผ๋ฉฐ ๋ ธ๋ ๊ฐ์๋ ๋ถ๋ถ ์์๊ฐ ๊ฒฐ์ ๋์ด ์๋ค. ์ค์ผ์ค 11 ์ ํ ๊ทธ๋ํ์ ๋ํ์ฌ ์์ ์ ๋ ฌ์ ํ๋ฉด T2, T3 ๊ฐ์๋ ์์๊ฐ ์์ผ๋ฏ๋ก 2๊ฐ ์ ๋ ฌ์ด ๋์ค๊ณ ๋ํ T5๋ ๋ค๋ฅธ ๋ ธ๋์ ์์๊ฐ ์์ผ๋ฏ๋ก 5๊ฐ์ง ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ฏ๋ก ์ด 10๊ฐ์ ์์์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค.
- T1 T2 T3 T4 T5 - T1 T2 T3 T5 T4
- T1 T2 T5 T3 T4 - T1 T5 T2 T3 T4
- T5 T1 T2 T3 T4 - T1 T3 T2 T4 T5
- T1 T3 T2 T5 T4 - T1 T3 T5 T2 T4
- T1 T5 T3 T2 T4 - T5 T1 T3 T2 T4
<T1,T2,T3,T4> T5 => T5๊ฐ 1,2,3,4์ ์ ํ๋ก ๋ค์ด๊ฐ ๊ฒฝ์ฐ 5๊ฐ์ง
<T1,T3,T2,T4> 5 => T5๊ฐ 1,2,3,4์ ์ ํ๋ก ๋ค์ด๊ฐ ๊ฒฝ์ฐ 5๊ฐ์ง
์ด 10๊ฐ์ง ์ง๋ ฌ ์ค์ผ์ค