Shadow Paging
Shadow Paging์ DB ๊ตฌํ์ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ๋ก ์ค ํ๋๋ค.
Copy on write๋ฅผ ์์ฉํด์ ์์์ฑ๊ณผ ๋ด๊ตฌ์ฑ์ ๊ตฌํํ๋ค.
์์ฆ์ DB ์์คํ
๋ค์ ์ด๊ฒ๋ณด๋ค๋ WAL ๊ฐ์ ๋ก๊ทธ ๊ธฐ๋ฐ์ ์์์ฑ ์ ์ง ๊ธฐ๋ฒ์ ์ฃผ๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ์ฌ์ค์ ๊ฑฐ์ ์ฌ์๋ ๋ฐฉ๋ฒ๋ก ์ด๊ธด ํ๋ค.
https://blog.naver.com/sssang97/223233122052
๊ธฐ๋ณธ ์๋ฆฌ
์๋ฆฌ๋ ๋๋ต ์ด๋ ๋ค.
https://www.geeksforgeeks.org/shadow-paging-dbms/
-
๋ฐ์ดํฐ์ ๋ํ ์์ ์์ฒญ์ด ๋ฐ์ํ๋ฉด ์๋ณธ์ ๋ณต์ ํด์ shadow page๋ผ๋ row๋ฅผ ๋ง๋ ๋ค.
-
commit/rollback์ด ๋๊ธฐ ์ ์ ์์ ์ shadow page์ ๋ํด์๋ง ์ฒ๋ฆฌ๋๊ณ , ์๋ณธ์๋ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
-
commit์ด ๋๋ค๋ฉด ์์ ์ด ๊ฐํด์ง shadow page๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ฐธ์กฐ๋ง ๊ต์ฒดํ๋ค.
-
rollback์ด ๋๋ค๋ฉด shadow page๋ฅผ ํ๊ธฐํ๋ฉด ๋๋ค.
๊ฐ๊ฐ์ ์ฐ๊ธฐ๋ shadow page๋ก ์ธํด ๊ฒฉ๋ฆฌ๋๋ฏ๋ก ๋ฌด์ธ๊ฐ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์๋ก ์ํฅ์ ์ฃผ์ง ์๋๋ค. ์ด๋ฅผ ํตํด ๋ด๊ตฌ์ฑ์ ๊ตฌํํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋์์ฑ๊ณผ ์์ฐจ์ฑ์ ๊ณ ๋ คํ์ง ์๋๋ค๋ ์ ์ ํ์์๋ atomicํ commit๊ณผ rollback ๋์์ ๊ฐ์ฅ ๋จ์ํ๊ฒ ๊ตฌํํ ์ ์๋ค.
๋ฒ๋ ค์ง ์ด์
-
๋์์ฑ ์ฐ๊ธฐ ๋ํ ์ฒ๋ฆฌ๊ฐ ๋งค์ฐ ์ด๋ ต๋ค.
ํ๋ฒ์ ์ฌ๋ฌ๊ฐ์ ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ๋ฉด ๊ฐ๊ฐ์ shadow page๊ฐ ์๊ธธํ ๋ฐ, ์ด๊ฑธ ๋ฌด์จ ์๋ก ๋ณํฉํ๊ฒ ๋๊ฐ? ์ฌ๊ธฐ์๋ถํฐ shadow page๊ฐ ์๋ํ๋ ๋จ์์ฑ์ด ํ๊ดด๋๋ ๊ฒ์ด๋ค. -
์ฑ๋ฅ ๋ฌธ์
๋์คํฌ ์ก์ธ์ค ์ธก๋ฉด์์๋ ์ข ๋๋ฆด ์ ์๋ค.
๋์คํฌ I/O๋ ์ค์ ๋ก ๋์คํฌ์ ์์๋๋ก ์ ์ฅ๋์ด์์ด์ผ ์์ฐจ I/O๋ก ๋น ๋ฅด๊ฒ ์ฝ์ด์ฌ ์๊ฐ ์๋๋ฐ, shadow paging์ ์ฌ์ฉํ๋ฉด ๊ฐ๊ฐ์ page๋ค์ด ์ฌ๋ฐฉ์ ํฉ๋ฟ๋ ค์ง ์ฑ๋ก ์ ์ฅ๋ ์๊ฐ ์๋ค. ํ์ค์บ์ด ์์ด๋๋ ๊ฒ์ด๋ค.
์ฐธ์กฐ
https://en.m.wikipedia.org/wiki/Shadow_paging
https://www.geeksforgeeks.org/shadow-paging-dbms/