๐ชก ์๊ธฐํ ์ฒ ๊ฐ๊ด
โจ๋ชจ๋ธ๋ง์ ์ ์
DBMS๋ง๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ์๊ฐ ์กฐ๊ธ์ฉ ๋ค๋ฅด๋ค.
์ค๋ผํด์ ๋์คํฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์งํฉ (Datafile, Redo Log FIle, Control File ๋ฑ) ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ์ง์นญํ๊ณ , SGC(System Global Area) ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ๊ณผ ์ด๋ฅผ ์์ธ์คํ๋ ํ๋ก๊ทธ๋จ ์งํฉ์ ํฉ์ณ์ ์ธ์คํด์ค(Instance)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ ํ๋์ ์ธ์คํด์ค๊ฐ ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง์ ์์ธ์คํ๋ ํ์์ด์ง๋ง, RAC(Real Application Cluster)ํ๊ฒฝ์์๋ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ก์ธ์คํ ์ ์๋ค. ๋ฐ๋๋ก, ํ๋์ ์ธ์คํด์ค๊ฐ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ธ์คํ ์๋ ์๋ค.
SQL Server๋ ํ๋์ ์ธ์คํด์ค๋น ์ต๊ณ 32,767๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก amrster, model, msdb, tmepdb ๋์ผ์ด ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง๋ค์ด์ง๊ณ , ์ฌ๊ธฐ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐ ์์ฑํ๋ ๊ตฌ์กฐ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ๋ ๋ง๋ค ๋๋ง๋ค ์ฃผ ๋ฐ์ดํฐ ํ์ผ(mdf)๊ณผ ํธ๋์ญ์ ๋ก๊ทธ ํ์ผ(ldf)์ด ํ๋์ฉ ์๊ธฐ๊ณ , ์ ์ฅํ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ ๋ณด์กฐ(Non-primary) ๋ฐ์ดํฐ ํ์ผ์ ์ถ๊ฐํ ์ ์๋ค(ndf)
๐งถ ํ๋ก์ธ์ค
โจ ํ๋ก์ธ์ค?
SQL Server๋ ์ฐ๋ ๋ ๊ธฐ๋ฐ ์ํคํ ์ฒ์ด๋ฏ๋ก ํ๋ก์ธ์ค ๋์ ์ ์ฐ๋ ๋๋ฅผ ์ฐ๋ ๊ฒ์ด ์ ํฉํ๋ค. SQL Server ๋ฟ๋ง ์๋๋ผ Oracle Window ๋ฒ์ ์์๋ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ์ง๋ง, ํ๋ก์ธ์ค์ ๊ตฌ๋ถํด๊ฐ๋ฉฐ ์ค๋ช ํ๋ฉด ๋ณต์กํ๊ธฐ ๋๋ฌธ์ 'ํ๋ก์ธ์ค' ๋ก ํต์นญํด ์ฌ์ฉํ ๊ฒ์ด๋ค.
ํ๋ก์ธ์ค๋ ์๋ฒ ํ๋ก์ธ์ค(Server Processes)์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(Background Processes) ์งํฉ์ผ๋ก ๋๋์ด์ง๋ค. ์๋ฒ ํ๋ก์ธ์ค๋ ์ฌ์ฉ์๊ฐ ๋์ง๋ ๋ช ๋ น์ ์ฒ๋ฆฌํ๊ณ , ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ ๋ค์์ ์ผ์ ์ฒ๋ฆฌํ๋ค.
๐ก์๋ฒ ํ๋ก์ธ์ค(Server Processes)
์๋ฒ ํ๋ก์ธ์ค๋ ์ฌ์ฉ์ ํ๋ก์ธ์ค์ ํต์ ์ ํตํด ๊ฐ์ข ๋ช ๋ น์ ์ฒ๋ฆฌํ๊ณ , SQL Server์์๋ Worker ์ฐ๋ ๋๊ฐ ๊ฐ์ ์ญํ ์ ๋ด๋นํ๋ค.
SQL์ ํ์ฑํ๊ณ ํ์ํ๋ฉด ์ต์ ํ๋ฅผ ์ํํ๋ฉฐ, ์ปค์๋ฅผ ์ด์ด SQL์ ์คํํ๋ฉฐ ๋ธ๋ก์ ์ฝ๊ณ ์ฝ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํด์ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค๋ฉฐ ๋คํธ์ํฌ๋ฅผ ํตํด์ ์ ์กํ๋ ์์ ์ ์ ๋ถ ์๋ฒ ํ๋ก์ธ์ค๊ฐ ์คํํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์ค์ค๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๊ตฌํ๋์ง ์์ ๊ธฐ๋ฅ, ์๋ฅผ ๋ค๋ฉด ๋ฐ์ดํฐ ํ์ผ๋ก๋ถํฐ DB ๋ฒํผ ์บ์๋ก ๋ธ๋ก ์ ์ฌ๋ฅผ ํ๊ฑฐ๋ Dirty ๋ธ๋ก์ ๋ฐ์ด๋์ผ๋ก Free ๋ธ๋ก์ ํ๋ณดํ๋ ์ผ, ๊ทธ๋ฆฌ๊ณ Redo ๋ก๊ทธ ๋ฒํผ๋ฅผ ๋น์ฐ๋ ์ผ ๋ฑ์ OS, I/O ์๋ธ์์คํ , ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ์ฒ๋ฆฌํ ์ ์๋๋ก Call์ ํตํด ์์ฒญํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ ํ๋ก์ธ์ค์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ ๋ชจ๋ ๋ค๋ฅด์ง๋ง, ์ค๋ผํด์ ๊ฒฝ์ฐ๋ ์๋ฒ ๋ฐฉ์๊ณผ ๊ณต์ ์๋ฒ ๋ฐฉ์์ด ์๋ค.
๐โฌ์ ์ฉ ์๋ฒ(Dedicated Server) ๋ฐฉ์
์ฒ์ ์ฐ๊ฒฐ์์ฒญ์ ๋ฐ๋ ๋ฆฌ์ค๋๊ฐ ํ๋ก์ธ์ค(WIndow์์๋ ์ฐ๋ ๋)๋ฅผ ์์ฑํ๊ณ , ์ด ์๋ฒ ํ๋ก์ธ์ค๊ฐ ๋จ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์ํด ์ ์ฉ(Dedicated)์๋น์ค๋ฅผ ์ ๊ณตํ๋ค๋ ์ ์ด ํน์ง์ด๋ค. ์ ์ฉ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์, SQL์ ์ํํ ๋๋ง๋ค ์ฐ๊ฒฐ ์์ฒญ์ ๋ฐ๋ณตํ๊ฒ ๋๋ฉด ์๋ฒ ํ๋ก์ธ์ค์ ์์ฑ๊ณผ ํด์ ๋ ๋ฐ๋ณต์ ํ๊ฒ ๋๊ธฐ ๋๋ฌธ์ DBMS์ ํฐ ๋ถ๋ด์ ์ฃผ๊ณ , ์ฑ๋ฅ๋ ๊ทธ๋งํผ ๋จ์ด์ง๊ฒ ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ์ฉ ์๋ฒ ๋ฐฉ์์ ์ฌ์ฉํ๋ OLTP์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ Connection Pooling ๊ธฐ๋ฒ์ ํ์์ ์ผ๋ก ์ฌ์ฉํด์ผ๋ง ํ๋ค.
๐ฃ๊ณต์ ์๋ฒ(Shared Server) ๋ฐฉ์
๊ณต์ ์๋ฒ๋ ๊ทธ๋๋ก ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ ์ฌ์ฉ์ ์ธ์ ์์ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ์์ ์๋ Connection Pooling ๊ธฐ๋ฒ์ ๊ตฌํํด๋์ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ๋์ฐ๊ณ , ๋ฐ๋ณต ์ฌ์ฌ์ฉํ๋ค๊ณ ๋ณด๋ฉด ์ฝ๋ค.
- Java๋ฅผ ์๊ฐํด๋ณด๋ฉด ๊ฐ๊ฐ์ Class๋ฅผ ๊ณ์ํด์ ํธ์ถํ๋ ๊ฒ ์๋๋ผ, ํธ์ถ์ ์ํ Service๋ฅผ ๋ง๋ค๊ณ ๊ทธ๊ฒ์ ๊ณ์ํด์ ํ์ฉํด ์ฌ์ฌ์ฉ์ฑ์ ๋์ธ๋ค๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค. ์กฐ๊ธ ๋ ๋ค์ด๊ฐ๋ฉด, Disptcher Servlet์ ์๊ฐํด๋ณด์.
๊ณต์ ์๋ฒ ๋ฐฉ์์ผ๋ก ์ ์์ ํ๊ฒ ๋๋ฉด, ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ ์๋ฒ ํ๋ก์ธ์ค์ ์ง์ ํต์ ํ์ง ์๊ณ Disptcher ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์น๊ฒ ๋๋ค. ์ฌ์ฉ์ ๋ช ๋ น์ด Disptcher ์๊ฒ ์ ๋ฌ๋๋ฉด, ์ด๋ฅผ SGA์ ์๋ ์์ฒญ ํ(Request Quese)์ ๋ฑ๋กํ๋ค. ์ดํ ๊ฐ์ฅ ๋จผ์ ๊ฐ์ฉํด์ง ์๋ฒ ํ๋ก์ธ์ค๊ฐ ์์ฒญ ํ์ ์๋ ์ฌ์ฉ์ ๋ช ๋ น์ ๊บผ๋ด ์ฒ๋ฆฌํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์๋ต ํ(Response Queue)์ ๋ฑ๋กํ๋ค. ์๋ต ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ DIspatcher๋ ๊ฒฐ๊ณผ ๋ฐ๊ฒฌ ์ ์ฌ์ฉ์ ํ๋ก์ธ์ค์๊ฒ ์ ๋ฌํ๋ค.
๐ก๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(Background Processes)
๐น ํ์ผ ๊ตฌ์กฐ
โจ๋ฐ์ดํฐ ํ์ผ
Oracle๊ณผ SQL Server ๋ชจ๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ฐ์ดํฐ ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ๊ด๋ฆฌํ๋ค. ์ด๋ฅผ ์ํด ๊ณต๊ฐ์ ํ ๋น ๋ฐ ๊ด๋ฆฌํ๋ ๋ ผ๋ฆฌ ๊ตฌ์กฐ๋ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ง๋ง ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์กด์ฌํ๋ค
๐ฃ๋ธ๋ก(=ํ์ด์ง)
๋๋ถ๋ถ์ DBMS์์ I/O๋ ๋ธ๋ก ๋จ์๋ก ์ด๋ฃจ์ด์ง๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ธ ๋์ ๋ ผ๋ฆฌ์ ๋จ์๊ฐ ๋ธ๋ก์ด๋ค.
Oracle์์๋ 2kb, 4kb, 8kb, 16kb, 32kb, 64kb์ ๋ค์ํ ๋ธ๋ก ํฌ๊ธฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ง๋ง, SQL Server์์๋ 8kb ๋จ์ผ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค๋ ํน์ง์ด ์๋ค.
๋ธ๋ก ๋จ์๋ก I/Oํ๋ค๋ ๊ฒ์ ๊ฒฐ๊ตญ ํ๋์ ๋ ์ฝ๋์์ ํ๋์ ์นผ๋ผ๋ง์ ์ฝ์ผ๋ ค๊ณ ํ ๋๋ ๋ ์ฝ๋๊ฐ ์ํ ๋ธ๋ก ์ ์ฒด๋ฅผ ์ฝ๊ฒ ๋๋ค๋ ๊ฒ์ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ SQL ์ฑ๋ฅ์ ์ข์ฐํ๋ ๊ฐ์ฅ ์ค์ํ ์ฑ๋ฅ ์งํ๋ ์์ธ์คํ๋ ๋ธ๋ก์ ๊ฐ์์ด๋ฉฐ, ์ตํฐ๋ง์ด์ ์ ํ๋จ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋ ๊ฒ ๋ํ ์์ธ์ค๋ฅผ ์ํ ๋ธ๋ก ๊ฐ์๋ผ๊ณ ํ ์ ์๋ค.
๐ค์ต์คํ ํธ(Extent)
ํ ์ด๋ธ ์คํ์ด์ค๋ก๋ถํฐ ๊ณต๊ฐ์ ํ ๋นํ๋ ๋จ์๋ฅผ ๋งํ๋ค.
ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๋ค ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง ๊ฒฝ์ฐ, ํด๋น ์ค๋ธ์ ํธ๊ฐ ์ํ ํ ์ด๋ธ ์คํ์ด์ค(๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ฐ์ดํฐ ํ์ผ)๋ก ๋ถํฐ ์ถ๊ฐ ๊ณต๊ฐ ํ ๋น์ ๋ฐ๊ฒ ๋๋๋ฐ, ์ด๋ ์ ํด์ง ์ต์คํ ํธ ํฌ๊ธฐ์ ์ฐ์ ๋ธ๋ก ํ ๋น์ ๋ฐ๋๋ค. ์๋ฅผ ๋ค์ด์, ๋ธ๋ก ํฌ๊ธฐ๊ฐ 8kb์ธ ์ํ์์ 64kb ๋จ์๋ก ์ต์คํ ํธ๋ฅผ ํ ๋นํ๋๋ก ์ ์ํ๋ค๋ฉด, ๊ณต๊ฐ์ด ๋ถ์กฑํ ๋๋ง๋ค ํ ์ด๋ธ ์คํ์ด์ค๋ก๋ถํฐ 8๊ฐ์ ์ฐ์๋ ๋ธ๋ก์ ์ฐพ์ (๋ง์ฝ, ์ฐพ์ง ๋ชปํ๋ฉด ์๋ก ์์ฑํ๋ค) ์ธ๊ทธ๋จผํธ์ ํ ๋นํ๋ค. ์ต์คํ ํธ ๋ด์ ๋ธ๋ก์ ๋ ผ๋ฆฌ์ ์ผ๋ก๋ ์ธ์ ํ์ง๋ง, ์ต์คํ ํธ๋ผ๋ฆฌ ์๋ก ์ธ์ ํ์ง ์๋๋ค. ๊ทธ๋ฌ๋๊น, ์ด๋ค ์ธ๊ทธ๋จผํธ์ 2๊ฐ์ ์ต์คํ ํธ๊ฐ ํ ๋น๋์์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ํ์ผ ๋ด์์๋ ์๋ก ๋จผ ๊ฑฐ๋ฆฌ์ ์์นํ ์ ์๋ค๋ ๋ง์ด๋ค.
Oracle์ ํ ์ต์คํ ํธ์ ์ํ ๋ชจ๋ ๋ธ๋ก์ ๋จ์ผ ์ค๋ธ์ ํธ๊ฐ ์ฌ์ฉํ์ง๋ง, SQL Server๋ 2๊ฐ ์ด์์ ์ค๋ธ์ ํธ๊ฐ ๋๋ ์ ์ฌ์ฉํ ์๋ ์๋ค.
๐์ธ๊ทธ๋จผํธ
SQL Server์์๋ ์ธ๊ทธ๋จผํธ๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ์ง ์์ง๋ง, ํ๊ณผ๊ณผ ์ธ๋ฑ์ค ๊ตฌ์กฐ์ ์ค๋ธ์ ํธ๊ฐ ์ฌ๊ธฐ์ ์ํ๋ค.
์ธ๊ทธ๋จผํธ๋ ํ ์ด๋ธ, ์ธ๋ฑ์ค, Undo์ฒ๋ผ ์ ์ฅ ๊ณต๊ฐ์ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ธ์ ํธ์ด๋ค. ์ ์ฅ ๊ณต๊ฐ์ ํ์๋ก ํ๋ค๋ ๋ฏ์ ๊ฒฐ๊ตญ ํ ๊ฐ ์ด์์ ์ต์คํ ํธ๋ฅผ ์ฌ์ฉํจ์ ๋ปํ๋ค. ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ ๋, ๋ด๋ถ์ ์ผ๋ก ๊ฐ๊ฐ์ ์ธ๊ทธ๋จผํธ๊ฐ ์์ฑ๋๋ค. ์ด์ ๊ฐ์ด ์ค๋ธ์ ํธ๋ค์ ์ธ๊ทธ๋จผํธ์ 1:1 ๋์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง, ํํฐ์ ์ ์์ธ์ ์ผ๋ก 1:m ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ์ฆ, ํํฐ์ ํ ์ด๋ธ(๋๋ ์ธ๋ฑ์ค) ๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด, ๋ด๋ถ์ ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ์ธ๊ทธ๋จผํธ๋ฅผ ์์ฑํ๊ฒ ๋๋ค. ํ ์ธ๊ทธ๋จผํธ๋ ์์ ์ด ์ํ ํ ์ด๋ธ ์คํ์ด์ค ๋ด์ ์ฌ๋ฌ ๋ฐ์ดํฐ ํ์ผ์ ๊ฑธ์ณ ์ ์ฅ๋ ์ ์๋ค. ์ฆ, ์ธ๊ทธ๋จผํธ์ ํ ๋น๋ ์ต์คํ ํธ๊ฐ ์ฌ๋ฌ ๋ฐ์ดํฐ ํ์ผ์ ํฉ์ด์ ธ์ ์ ์ฅ๋๋ ๊ฒ์ด๋ฉฐ, ๊ทธ๋์ผ ๋์คํฌ ๊ฒฝํฉ์ ์ค์ด๋ฉด์ I/O ๋ถ์ฐ ํจ๊ณผ๋ฅผ ์ธ์ ์ ์๋ค.
๐โฌํ ์ด๋ธ ์คํ์ด์ค
ํ ์ด๋ธ ์คํ์ด์ค๋ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ด๋ ์ฝํ ์ด๋๋ก, ์ฌ๋ฌ ๋ฐ์ดํฐ ํ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
SQL Server์ ํ์ผ ๊ทธ๋ฃน์ด Oracle ํ ์ด๋ธ ์คํ์ด์ค์ ํด๋น๋๋ค๊ณ ๋ณผ ์ ์๋ค.
๋ฐ์ดํฐ๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ ํ์ผ๋ก ์ ์ฅ๋์ง๋ง, ์ฌ์ฉ์๋ ๋ฐ์ดํฐ ํ์ผ์ ์ง์ ์ ํํ์ง ์๋๋ค. ์ฆ, ์ฌ์ฉ์๋ ์ธ๊ทธ๋จผํธ๋ฅผ ์ํด์ ํ ์ด๋ธ ์คํ์ด์ค๋ฅผ ์ง์ ํ ๋ฟ ์ค์ ๊ฐ์ ์ ์ฅ ๋ฐ ๋ฐ์ดํฐ ํ์ผ์ ์ ํํ๊ณ ์ต์คํ ํธ๋ฅผ ํ ๋นํ๋ ๊ฒ์ DBMS์ ๋ชซ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ ์ธ๊ทธ๋จผํธ๋ ์์์ ์ธ๊ธํ์๋ฏ ์ ํํ ํ ํ ์ด๋ธ ์คํ์ด์ค์๋ง ์ํ์ง๋ง, ํ ํ ์ด๋ธ ์คํ์ด์ค์๋ ์ฌ๋ฌ ์ธ๊ทธ๋จผํธ๊ฐ ์กด์ฌํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ํน์ ์ธ๊ทธ๋จผํธ์ ํ ๋น๋ ๋ชจ๋ ์ต์คํ ํธ๋ ํด๋น ์ธ๊ทธ๋จผํธ์ ๊ด๋ จ๋ ํ ์ด๋ธ ์คํ์ด์ค ๋ด์์๋ง ์ฐพ์์ง๋ค. ์ฆ, ํ ์ธ๊ทธ๋จผํธ๊ฐ ์ฌ๋ฌ ํ ์ด๋ธ ์คํ์ด์ค์ ๊ฑธ์ณ์ ์ ์ฅ์ ๋ถ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
๐๏ธ์์ ๋ฐ์ดํฐ ํ์ผ
์์(Temporary) ๋ฐ์ดํฐ ํ์ผ์ ํน๋ณํ ์ฉ๋๋ก ์ฌ์ฉ๋๋๋ฐ, ๋๋์ ์ ๋ ฌ ๋๋ ํด์ ์์ ์ ์ํํ๋ค ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง ๊ฒฝ์ฐ ์ค๊ฐ์ ๊ฒฐ๊ณผ ์งํฉ์ ์ ์ฅํ๋ ๊ฒ์ผ๋ก ์ฌ์ฉ๋๋ค. ๋ง ๊ทธ๋๋ก ์์๋ก ์ ์ฅ๋์๋ค๊ฐ ์๋์ผ๋ก ์ญ์ ๋๊ธฐ ๋๋ฌธ์ Redo ์ ๋ณด๋ฅผ ์์ฑํ์ง ์๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ก ๋์ค์ ํ์ผ์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ๋ณต๊ตฌ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค. ์ฆ ๋ฐฑ์ ๋ํ ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค.
Oracle์์๋ ์์ ํ ์ด๋ธ ์คํ์ด์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑ ํ, ์ฌ์ฉ์๋ง๋ค ๋ณ๋์ ์์ ํ ์ด๋ธ ์คํ์ด์ค๋ฅผ ์ง์ ํด์ค ์ ์๋ค.
SQL Server์์๋ ๋จ ํ๋์ tempdb ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ณ , ์ ์ญ ๋ฆฌ์์ค๋ก ์์คํ ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ฌ์ฉ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
๐๋ก๊ทธ ํ์ผ
DB ๋ฒํผ ์บ์์ ๊ฐํด์ง๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋กํ๋ ๊ฒ์ผ๋ก, ์ด ํ์ผ์ Oracle์์๋ 'Redo ๋ก๊ทธ' ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, SQL Server์์๋ 'ํธ๋์ญ์ ๋ก๊ทธ' ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ณ๊ฒฝ๋ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ ๋ธ๋ก์ ๋์คํฌ ์์ ๋ฐ์ดํฐ ๋ธ๋ก์ ๊ธฐ๋กํ๋ ์์ ์ Random I/O๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ๋๋ฆฌ๋ค. ๋ฐ๋ฉด, ๋ก๊ทธ ๊ธฐ๋ก์ Append ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ๊ทธ ์๋๊ฐ ๊ต์ฅํ ๋น ๋ฅด๋ค. ๋ฐ๋ผ์, ๋๋ถ๋ถ์ DBMS์์๋ ๋ฒํผ ๋ธ๋ก์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ์ผ์ผํ ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋กํ๋ ๊ฒ ์๋๋ผ ์ฐ์ ๋ก๊ทธ ํ์ผ์ Append ๋ฐฉ์์ผ๋ก ๋น ๋ฅด๊ฒ ๊ธฐ๋กํ๋ ๋ฐฉ์์ ์ฑํํ๋ค. ํ์ ๋ฒํผ ๋ธ๋ก๊ณผ ๋ฐ์ดํฐ ํ์ผ ๊ฐ ๋๊ธฐํ๋ ์ ์ ํ ์๋จ(DBWR, Checkpoint)์ ์ด์ฉํ์ฌ ๋์ค์ ๋ฐฐ์น ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๋ค. ์ฌ์ฉ์ ๊ฐฑ์ ๋ด์ฉ์ด ๋ฉ๋ชจ๋ฆฌ ์์ ๋ฒํผ ๋ธ๋ก์๋ง ๊ธฐ๋ก๋ ์ฑ๋ก ์์ง ๋์คํฌ์ ์ค์ง์ ๊ธฐ๋ก์ด ๋์ง ์์๋๋ผ๋ Redo ๋ก๊ทธ๋ฅผ ๋ฏฟ๊ณ ๋น ๋ฅด๊ฒ ์ปค๋ฐ์ ์๋ฃํ๋ค๋ ์๋ฏธ์์ ์ด๋ฅผ 'Fast Commit' ๋งค์ปค๋์ฆ์ด๋ผ๊ณ ํ๋ค. ์ธ์คํด์ค ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ก๊ทธ ํ์ผ์ ์ด์ฉํด ์ธ์ ๋ ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํ๋ฏ๋ก ์์ฌํ๊ณ ์ปค๋ฐ์ ์๋ฃํ ์ ์๋ ๊ฒ์ด๋ค.
- Online Redo Log
์บ์์ ์ ์ฅ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ง ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋ก๋์ง ์์ ์ํ์์, ๋ค์ํ ์ด์๋ก ์ธ์คํด์ค๊ฐ ๋น์ ์ ์ข ๋ฃ๊ฐ ๋์ ๋์ ์ฌ์ฉ์๋ ๊ทธ๋๊น์ง์ ์์ ๋ด์ฉ์ ๋ชจ๋ ์๊ฒ ๋๋ค. ์ด๋ฌํ ํธ๋์ญ์ ์์์ ๋ฐ์ดํฐ ์ ์ค์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ๋ง์ง๋ง ์ฒดํฌํฌ์ธํธ ์ดํ๋ถํฐ ์ฌ๊ณ ๋ฐ์ ์ง์ ๊น์ง์ ์ํ๋ ํธ๋์ญ์ ์์ Redo ๋ก๊ทธ๋ก ์ฌํํ๋ ๊ฒ์ด๋ฉฐ, ์ด๋ฅผ '์บ์ ๋ณต๊ตฌ' ๋ผ๊ณ ํ๋ค. Online Redo ๋ก๊ทธ๋ ์ต์ ๋ ๊ฐ ์ด์์ ํ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ํ์ฌ์ฌ์ฉ ์ค์ธ ํ์ผ์ด ๊ฝ ์ฐจ๋ฉด ๋ค์ ํ์ผ๋ก ๋ก๊ทธ ์ค์์นญ์ ๋ฐ์์ํจ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ํ์ผ์ด ๊ฝ ์ฐจ๋ฉด ๋ค์ ์ฒซ๋ฒ์งธ ํ์ผ๋ถํฐ ์ฌ์ฌ์ฉํ๋ ๋ผ์ด๋ ๋ก๋น ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- ํธ๋์ญ์ ๋ก๊ทธ
ํธ๋์ญ์ ๋ก๊ทธ๋ Oracle์ Online Redo ๋ก๊ทธ์ ๋์๋๋ SQL Server์ ๋ก๊ทธ ํ์ผ์ด๋ค. ์ฃผ ๋ฐ์ดํฐ ํ์ผ, ์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง๋ค ํธ๋์ญ์ ๋ก๊ทธ ํ์ผ์ด ํ๋์ฉ ์์ฑ๋๋ฉฐ, ํ์ฅ์๋ ldf์ด๋ค. ํธ๋์ญ์ ๋ก๊ทธ ํ์ผ์ ๋ด๋ถ์ ์ผ๋ก '๊ฐ์ ๋ก๊ทธ ํ์ผ' ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ ์์ ๋จ์์ ์ธ๊ทธ๋จผํธ๋ก ๋๋์ด์ง๊ณ , ์ด ๊ฐ์๊ฐ ๋๋ฌด ๋ง์์ง์ง ์๋๋ก(์กฐ๊ฐํ ๋ฐ์ ๋ฐฉ์ง) ์ต์ ์ ์ง์ ํ๋ ๊ฒ์ด ์ข๋ค.
- Archived(=Offline) Redo ๋ก๊ทธ
Archived Redo ๋ก๊ทธ๋ Oracle์์ Online Redo ๋ก๊ทธ๊ฐ ์ฌ์ฌ์ฉ๋๊ธฐ ์ , ๋ค๋ฅธ ์์น๋ก ๋ฐฑ์ ํด๋ ํ์ผ์ ๋งํ๋ค. ๋์คํฌ๊ฐ ๊นจ์ง๋ ๋ฑ์ ๋ฌผ๋ฆฌ์ ์ ์ฅ ๋งค์ฒด์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ค.
๐๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ์์คํ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ๊ณผ ํ๋ก์ธ์ค ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ๊ตฌ๋ถ๋๋ค.
โจ์์คํ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ
์์คํ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ ๊ทธ๋๋ก ์ฌ๋ฌ ํ๋ก์ธ์ค(๋๋ ์ค๋ ๋)๊ฐ ๋์์ ์์ธ์ค ํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก, Oracle์์๋ 'System Clobal Area(SGA)', SQL Server ์์๋ 'Memory Pool'์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ ์บ์ ์์ญ์ ๋งค์ฐ ๋ค์ํ์ง๋ง, ๋ชจ๋ DBMS๊ฐ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๋ ์บ์ ์์ญ์ผ๋ก๋ DB ๋ฒํผ ์บ์, ๊ณต์ ํ, ๋ก๊ทธ ๋ฒํผ๊ฐ ์๋ค. ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ทธ ์ธ์ Large Pool, Java Pool ๋ฑ์ ํฌํจํ๊ณ , ์์คํ ๊ตฌ์กฐ์ ์ ์ด ๊ตฌ์กฐ๋ฅผ ์บ์ฑํ๋ ์์ญ ๋ํ ํฌํจ๋๋ค. ์์คํ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฌ๋ฌ ํ๋ก์ธ์ค์ ๊ณต์ ๋๊ธฐ์ ๋ด๋ถ์ ์ผ๋ก Latch, buffer Lock, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์บ์ Lock/Pin ๊ฐ์ ์์ธ์ค ์ง๋ ฌํ ๋ฉ์ปค๋์ฆ์ด ์ฌ์ฉ๋๋ค
๐กํ๋ก์ธ์ค ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ ์์ญ
Oracle์ ํ๋ก์ธ์ค ๊ธฐ๋ฐ ์ํคํ ์ฒ์ด๊ธฐ ๋๋ฌธ์ ์์ ๋ง์ ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฐ์ง ์ ์๋๋ฐ, ์ด๋ฅผ 'Process Global Area(PGA)' ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๊ณ ์ธ์ ๊ณผ ์ปค์์ ๋ํ ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.
์ฐ๋ ๋ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๋ SQL Server๋ ํ๋ก์ธ์ค ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฐ์ง์ง ์๋๋ค.
๐ค DB Buffer Cache
DB ๋ฒํผ ์บ์๋ ๋ฐ์ดํฐ ํ์ผ๋ก๋ถํฐ ์ฝ์ด๋ค์ธ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ด๋ ์บ์ ์์ญ์ด๋ค. ์ธ์คํด์ค์ ์ ์ํ ๋ชจ๋ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ ์๋ฒ ํ๋ก์ธ์ค๋ฅผ ํตํด์ DB ๋ฒํผ ์บ์์ ๋ฒํผ ๋ธ๋ก์ ๋์์ ์์ธ์คํ ์ ์๋ค. ์ผ๋ถ Direct Path Read ๋ฉ์ปค๋์ฆ์ด ์๋ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๋ฉด, ๋ชจ๋ ๋ธ๋ก ์ฝ๊ธฐ๋ ๋ฒํผ ์บ์๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค. ์ฆ, ์ฝ๊ณ ์ ํ๋ ๋ธ๋ก์ ๋จผ์ ๋ฒํผ ์บ์์์ ์ฐพ์๋ณด๊ณ ์์ ๋ ๋์คํฌ์์ ์ฝ๋ ๊ฒ์ด๋ค.
๋์คํฌ์์ ์ฝ์ ๋์๋ ๋จผ์ ๋ฒํผ ์บ์์ ์ ์ฌํ ํ์ ์ฝ๋๋ค. ๋ฐ์ดํฐ ๋ณ๊ฒฝ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฒํผ ์บ์์ ์ ์ฌ๋์ด์๋ ๋ธ๋ก์ ํตํด ์ด๋ฃจ์ด์ง๋ฉฐ, ๋ณ๊ฒฝ๋ ๋ธ๋ก(Dirty ๋ฒํผ ๋ธ๋ก)์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋กํ๋ ์์ ์ DBWR ํ๋ก์ธ์ค์ ๋ชซ์ด๋ค.
๋์คํฌ I/O๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์์ธ์ค ์์ด ์์ง์ด๋ฉด์ ํค๋๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ ๋ฐ๋ฉด, ๋ฉ๋ชจ๋ฆฌ I/O๋ ์ ๊ธฐ์ ์ ํธ์ ๋ถ๊ณผํ๊ธฐ ๋๋ฌธ์ ๋์คํฌ I/O์ ๋น๊ตํ ์ ์์ ์ ๋๋ก ๋น ๋ฅด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ํ์์ ์์๋ผ๊ณ ๋ณผ ์ ์๋ค.
ใ๐ ๋ฒํผ ๋ธ๋ก์ ์ํ
ใ ใ ๋ชจ๋ ๋ฒํผ ๋ธ๋ก์ ์๋ ์ธ ๊ฐ์ง์ ์ํ ์ค ํ๋์ ๋์ฌ์๋ค.
ใ ใ - Free ๋ฒํผ : ์ธ์คํด์ค ๊ธฐ๋ ํ ์์ง ๋ฐ์ดํฐ๊ฐ ์ฝํ์ง ์์ ๋น์ด์๋ ์ํ๊ฑฐ๋, ๋ฐ์ดํฐ๊ฐ ๋ด๊ฒผ์ง๋ง ๋ฐ์ดํฐ ํ์ผ๊ณผ ์๋ก ๋๊ธฐํ๋ ์ํ์ด๊ธฐ์ ์ธ์ ๋ ์ง ๋ฎ์ด ์จ๋ ๋ฌด๋ฐฉํ ๋ฒํผ ๋ธ๋ก. ๋ฐ์ดํฐ ํ์ผ๋ก๋ถํฐ ์๋ก์ด ๋ธ๋ก์ ๋ก๋ฉํ๊ธฐ ์ํด์๋ ์ฐ์ Free ๋ฒํผ๋ฅผ ํ๋ณดํด์ผ ํ๋ค. Free ์ํ์ธ ๋ฒํผ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ฉด ๊ทธ ์๊ฐ Dirty ๋ฒํผ๋ก ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ค
ใ ใ - Dirty ๋ฒํผ : ๋ฒํผ์ ์บ์๋ ์ดํ ๋ณ๊ฒฝ์ด ๋ฐ์ํ์ง๋ง, ์์ง ๋์คํฌ์ ๊ธฐ๋ก๋์ง ์์ ๋ฐ์ดํฐ ํ์ผ ๋ธ๋ก๊ณผ ๋๊ธฐํ๊ฐ ํ์ํ ๋ฒํผ ๋ธ๋ก์ ๋งํ๋ค. ์ด ๋ฒํผ ๋ธ๋ก๋ค์ด ๋ค๋ฅธ ๋ฐ์ดํฐ ๋ธ๋ก์ ์ํด ์ฌ์ฌ์ฉ๋๋ ค๋ฉด ๋์คํฌ์ ๋จผ์ ๊ธฐ๋ก๋์ด์ผ ํ๋ฉฐ, ๊ธฐ๋ก๋๋ ์๊ฐ Free ๋ฒํผ๋ก ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ค
ใ ใ - Pinned ๋ฒํผ : ์ฝ๊ธฐ ๋๋ ์ฐ๊ธฐ ์์ ์ด ํ์ฌ ์งํ ์ค์ธ ๋ฒํผ ๋ธ๋ก์ ๋งํ๋ค.
ใ๐ LRU ์๊ณ ๋ฆฌ์ฆ
ใใ๋ฒํผ ์บ์๋ ์ ํํ ์์์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํด๋ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ DBMS๋ ์ฌ์ฉ๋น๋๊ฐ ๋์ ๋ฐ์ดํฐ ๋ธ๋ก ์์ฃผ๋ก ๋ฒํผ ์บ์๊ฐ ๊ตฌ์ฑ๋๋๋ก LRU(least recently used) ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค. ๋ชจ๋ ๋ธ๋ก ํค๋๋ฅผ LRU ์ฒด์ธ์ ์ฐ๊ฒฐํด ์ฌ์ฉ๋น๋ ์์ผ๋ก ์์น๋ฅผ ์ฎ๊ฒจ๊ฐ๋ค๊ฐ, Free ๋ฒํผ๊ฐ ํ์ํด์ง ๋๋ฉด ์์ธ์ค ๋น๋๊ฐ ๋ฎ์ ์ชฝ(LRU end) ๋ฐ์ดํฐ ๋ธ๋ก๋ถํฐ ๋ฐ์ด๋ด๋ ๋ฐฉ์์ด๋ค
๐ฎ ๊ณต์ ํ(Shared Pool)
๊ณต์ ํ์ ๋์ ๋๋ฆฌ ์บ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์บ์๋ก ๊ตฌ๋ถํ๋ฉฐ, ๋ฒํผ ์บ์์ฒ๋ผ LRU ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค. SQL Server์์ ๊ฐ์ ์ญํ ์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํ๋ก์์ ์บ์(Procedure Cache)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ๋์ ๋๋ฆฌ ์บ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์ ๋๋ฆฌ(Dictionary)๋ ์ํฐ๋ธ, ์ธ๋ฑ์ค ๊ฐ์ ์ค๋ธ์ ํธ๋ ๋ฌผ๋ก ํ ์ด๋ธ ์คํ์ด์ค, ๋ฐ์ดํฐ ํ์ผ, ์ธ๊ทธ๋จผํธ, ์ต์คํ ํธ, ์ฌ์ฉ์, ์ ์ฝ์ ๊ดํ ๋ฉํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง ๊ทธ๋๋ก ๋์ ๋๋ฆฌ ์ ๋ณด๋ฅผ ์บ์ฑํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๋ค. '์ฃผ๋ฌธ' ํ ์ด๋ธ์ ์๋ก ๋ค๋ฉด, ์ ๋ ฅํ ์ฃผ๋ฌธ ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅ๋์๋ค๊ฐ ๋ฒํผ ์บ์๋ฅผ ๊ฒฝ์ ํด ์ฝํ์ง๋ง, ํ ์ด๋ธ ๋ฉํ ์ ๋ณด๋ ๋์ ๋๋ฆฌ์ ์ ์ฅ๋๋ค๊ฐ ๋์ ๋๋ฆฌ ์บ์๋ฅผ ๊ฒฝ์ ํด ์ฝํ๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์บ์
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์บ์(Library Cache)๋ ์ฌ์ฉ์๊ฐ ์ํํ SQL๋ฌธ๊ณผ ์คํ๊ณํ, ์ ์ฅ ํ๋ก์์ ๋ฅผ ์ ์ฅํด๋๋ ์บ์ ์์ญ์ด๋ค.
์ฌ์ฉ์๊ฐ ๋ช ๋ น์ด๋ฅผ ํตํด ๊ฒฐ๊ณผ์งํฉ์ ์๊ตฌํ๋ฉด, ์ด๋ฅผ ์ต์ ์ผ๋ก ์ํํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ์์ฑํ ์ผ์ข ์ ํ๋ก์์ ์ ๊ฐ๋ค.
์ฌ์ฉ์๊ฐ ์ฟผ๋ฆฌ ๊ตฌ๋ฌธ์ ๋ถ์ํด ๋ฌธ๋ฒ์ ์ค๋ฅ์ ์คํ ๊ถํ ๋ฑ์ ์ฒดํฌํ ๋ค, ์ต์ ํ ๊ณผ์ ์ ๊ฑฐ์ณ์ ์คํ ๊ณํ์ ๋ง๋ค๊ณ , SQL ์คํ ์์ง์ด ์ดํดํ ์ ์๋ ํฌ๋งทํ ํ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์ด๋ฌํ ๊ณผ์ ์ด ๋ฐ๋ณต ์ํ๋ ๋๋ง๋ค ํด๋น ์์ ์ ๊ณ์ํด์ ์ฌ์คํํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด์ ๊ฐ์ ๊ฒ์ ์ ์ฅํ๋ ์บ์ ๊ณต๊ฐ์ ๋ง๋ค๊ณ , ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์๋ค.
๐๋ก๊ทธ ๋ฒํผ(Log Buffer)
๋ก๊ทธ ์ํธ๋ฆฌ์ ๊ฒฝ์ฐ ๋ก๊ทธ ํ์ผ์ ๋ฐ๋ก ๊ธฐ๋กํ๋ ๊ฒ์ด ์๋๋ผ, ๋จผ์ ๋ก๊ทธ ๋ฒํผ์ ๊ธฐ๋กํ๋ค.
์๋ฒ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ ๋ธ๋ก ๋ฒํผ์ ๋ณ๊ฒฝ์ ํ๊ธฐ ์ ์, Redo ๋ก๊ทธ ๋ฒํผ์ ๋จผ์ ๊ธฐ๋กํด๋๋ฉด ์ฃผ๊ธฐ์ ์ผ๋ก LGWR ํ๋ก์ธ์ค๊ฐ Redo ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋กํ๋ค. ์ด์ ๊ฐ์ Oracle์ Redo ๋ก๊ทธ, Redo ๋ก๊ทธ ๋ฒํผ์ ๋๋น๋๋ ๊ฐ๋ ์ด SQL Server์ ํธ๋์ญ์ ๋ก๊ทธ, ๋ก๊ทธ ์บ์์ด๋ค
๋ณ๊ฒฝ์ด ๊ฐํด์ง Dirty ๋ฒํผ๋ฅผ ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋กํ๊ธฐ ์ , ํญ์ ๋ก๊ทธ ๋ฒํผ๋ฅผ ๋จผ์ ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋กํด์ผ ํ๋ ๊ฒ์ธ๋ฐ, ์ธ์คํด์ค ์ฅ์ ๊ฐ ๋ฐ์ํ ๋ ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋ก๋ ๋ด์ฉ์ ์ฌํํด ์บ์ ๋ธ๋ก์ ๋ณต๊ตฌํ๊ณ ์ต์ข ์ ์ผ๋ก ์ปค๋ฐ๋์ง ์์ ํธ๋์ญ์ ์ ๋กค๋ฐฑํ๋ ๊ณผ์ ์์ ๋ก๊ทธ ํ์ผ์ ์๋ ๋ณ๊ฒฝ ๋ด์ญ์ด ์ด๋ฏธ ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋ก๋์ด ์์ผ๋ฉด ์ฌ์ฉ์๊ฐ ์ต์ข ์ปค๋ฐํ์ง ์์ ํธ๋์ญ์ ์ด ์ปค๋ฐ๋๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ๊ธฐ ๋๋ฌธ์ด๋ค.
'DBMS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ์ดํฐ๋ฒ ์ด์ค I/O ์๋ฆฌ (0) | 2024.04.12 |
---|---|
SQL ํ์ฑ ๋ถํ (0) | 2024.04.09 |
์กฐ์ธ ์ํ ์๋ฆฌ (1) | 2024.04.05 |
์ธ๋ฑ์ค ๊ธฐ๋ณธ (0) | 2024.04.04 |
์ตํฐ๋ง์ด์ ์ ์คํ๊ณํ (0) | 2024.04.04 |