์ 1์ . ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํคํ ์ฒ
1. ์ํคํ ์ฒ ๊ฐ๊ด
๊ฐ. Oracle ์ํคํ ์ฒ
- Oracle์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database)๋ ๋์คํฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์งํฉ (Datafile, Redo Log File, Control File ๋ฑ)
- SGA ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ๊ณผ ์ด๋ฅผ ์์ธ์คํ๋ ํ๋ก์ธ์ค ์งํฉ์ ํฉ์ณ์ ์ธ์คํด์ค(Instance)๋ผ๊ณ ํ๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ ์ธ์คํด์ค๊ฐ ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง ์ก์ธ์คํ์ง๋ง, RAC(Real Appliacation Cluster) ํ๊ฒฝ์์๋ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ก์ธ์คํ ์ ์๋ค.
- ํ๋์ ์ธ์คํด์ค๊ฐ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ก์ธ์คํ ์๋ ์๋ค.

๋. SQL Server
- SQL Server๋ ํ๋์ ์ธ์คํด์ค ๋น ์ต๊ณ 32,767๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํด ์ฌ์ฉํ ์ ์๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก master, model, msdb, tempdb ๋ฑ์ ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง๋ค์ด์ง๋ฉฐ, ์ฌ๊ธฐ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐ๋ก ์์ฑํ๋ ๊ตฌ์กฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋๋ฅผ ๋ง๋ค ๋๋ง๋ค ์ฃผ(Primary ๋๋ Main) ๋ฐ์ดํฐ ํ์ผ๊ณผ ํธ๋์ญ์ ๋ก๊ทธ ํ์ผ์ด ํ๋์ฉ ์๊ธฐ๋๋ฐ, ์ ์๋ ํ์ฅ์๊ฐ mdf์ด๊ณ ํ์๋ ldf์ด๋ค.
- ์ ์ฅํ ๋ฐ์ดํฐ๊ฐ ๋ง์ผ๋ฉด ๋ณด์กฐ(Non-Primary) ๋ฐ์ดํฐ ํ์ผ์ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ, ํ์ฅ์๋ ndf์ด๋ค.

2. ํ๋ก์ธ์ค
- SQL Server๋ ์ฐ๋ ๋(Thread) ๊ธฐ๋ฐ ์ํคํ ์ฒ์ด๋ฏ๋ก ํ๋ก์ธ์ค ๋์ ์ฐ๋ ๋๋ผ๋ ํํ์ ์จ์ผ ํ๋ค.
- ํ๋ก์ธ์ค๋ ์๋ฒ ํ๋ก์ธ์ค(Server Process)์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(Background Process) ์งํฉ์ผ๋ก ๋๋๋ค.
- ์๋ฒ ํ๋ก์ธ์ค : ์ ๋ฉด์ ๋์ ์ฌ์ฉ์๊ฐ ๋์ง๋ ๊ฐ์ข ๋ช ๋ น ์ฒ๋ฆฌ
- ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค : ๋ค์์ ์ฃผ์ด์ง ์ญํ ์ํ
๊ฐ. ์๋ฒ ํ๋ก์ธ์ค (Server Process)
- ์๋ฒ ํ๋ก์ธ์ค๋ ์ฌ์ฉ์ ํ๋ก์ธ์ค์ ํต์ ํ๋ฉด์ ์ฌ์ฉ์์ ๊ฐ์ข ๋ช ๋ น์ ์ฒ๋ฆฌ
- SQL Server์์๋ Worker Thread๊ฐ ๊ฐ์ ์ญํ ์ ๋ด๋น
- SQL์ ํ์ฑํ๊ณ ํ์ ์ ์ต์ ํ๋ฅผ ์ํํ๋ฉฐ, ์ปค์๋ฅผ ์ด์ด SQL์ ์คํํ๋ฉด์ ๋ธ๋ก์ ์ฝ๊ณ , ์ฝ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํด์ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ ๊ฒฐ๊ณผ์งํฉ์ ๋ง๋ค์ด ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๋ ์ผ๋ จ์ ์์ ์ ๋ชจ๋ ์ฒ๋ฆฌ
- ์ค์ค๋ก ์ฒ๋ฆฌํ๋๋ก ๊ตฌํ๋์ง ์์ ๊ธฐ๋ฅ(ex. ๋ฐ์ดํฐ ํ์ผ๋ก๋ถํฐ DB ๋ฒํผ ์บ์๋ก ๋ธ๋ก์ ์ ์ฌํ๋์ผ, Dirty ๋ธ๋ก์ ์บ์์์ ๋ฐ์ด๋์ผ๋ก์จ Free ๋ธ๋ก์ ํ๋ณดํ๋ ์ผ, Redo ๋ก๊ทธ ๋ฒํผ๋ฅผ ๋น์ฐ๋ ์ผ ๋ฑ)์ OS, I/O ์๋ธ์์คํ , ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ๋์ ์ฒ๋ฆฌํ๋๋ก ์์คํ Call์ ํตํด ์์ฒญ
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ ํ๋ก์ธ์ค์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ DBMS๋ง๋ค ๋ค๋ฅด์ง๋ง Oracle์ ์๋ก ๋ค๋ฉด ์ ์ฉ ์๋ฒ ๋ฐฉ์๊ณผ ๊ณต์ ์๋ฒ ๋ฐฉ์, ๋ ๊ฐ์ง๊ฐ ์๋ค.
1) ์ ์ฉ ์๋ฒ (Dedicated Server) ๋ฐฉ์
- ์ฒ์ ์ฐ๊ฒฐ ์์ฒญ์ ๋ฐ๋ ๋ฆฌ์ค๋๊ฐ ์๋ฒ ํ๋ก์ธ์ค(Window ํ๊ฒฝ์์๋ ์ฐ๋ ๋)๋ฅผ ์์ฑํด์ฃผ๊ณ , ์ด ์๋ฒ ํ๋ก์ธ์ค
๊ฐ ๋จ ํ๋์ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ฅผ ์ํด ์ ์ฉ(Dedicated) ์๋น์ค๋ฅผ ์ ๊ณต
- ๋ง์ฝ SQL์ ์ํํ ๋๋ง๋ค ์ฐ๊ฒฐ ์์ฒญ์ ๋ฐ๋ณตํ๋ฉด ์๋ฒ ํ๋ก์ธ์ค์ ์์ฑ๊ณผ ํด์ ๋ ๋ฐ๋ณตํ๊ฒ ๋๋ฏ๋ก DBMS์
๋งค์ฐ ํฐ ๋ถ๋ด์ ์ฃผ๊ณ ์ฑ๋ฅ์ ํฌ๊ฒ ๋จ์ด๋จ๋ฆฐ๋ค.
- ๋ฐ๋ผ์ ์ ์ฉ ์๋ฒ ๋ฐฉ์์ ์ฌ์ฉํ๋ OLTP์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ Connection Pooling ๊ธฐ๋ฒ์ ํ์์ ์ผ๋ก ์ฌ์ฉ
ํด์ผ ํ๋ค. (ex. 50๊ฐ์ ์๋ฒ ํ๋ก์ธ์ค์ ์ฐ๊ฒฐ๋ 50๊ฐ์ ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ฅผ ๊ณต์ ํด์ ๋ฐ๋ณต ์ฌ์ฌ์ฉํ๋ ๋ฐฉ์)

2) ๊ณต์ ์๋ฒ (Shared Server) ๋ฐฉ์
- ํ๋์ ์๋ฒ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ ์ฌ์ฉ์ ์ธ์ ์ด ๊ณต์ ํ๋ ๋ฐฉ์
- Connection Pooling ๊ธฐ๋ฒ์ DBMS ๋ด๋ถ์ ๊ตฌํํด ๋์ ๊ฒ๊ณผ ์ ์ฌ. ์ฆ, ๋ฏธ๋ฆฌ ์ฌ๋ฌ ๊ฐ์ ์๋ฒ ํ๋ก์ธ์ค๋ฅผ ๋์
๋๊ณ ์ด๋ฅผ ๊ณต์ ํด์ ๋ฐ๋ณต ์ฌ์ฌ์ฉ
- ๊ณต์ ์๋ฒ ๋ฐฉ์์ผ๋ก Oracle์ ์ ์ํ๋ฉด ์ฌ์ฉ์ ํ๋ก์ธ์ค๋ ์๋ฒ ํ๋ก์ธ์ค์ ์ง์ ํต์ ํ์ง ์๊ณ Dispatcher
ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์น๋ค.
- ์ฌ์ฉ์ ๋ช ๋ น์ด Dispatcher์๊ฒ ์ ๋ฌ๋๋ฉด Dispatcher๋ ์ด๋ฅผ SGA์ ์๋ ์์ฒญ ํ(Request Queue)์ ๋ฑ๋ก.
์ดํ ๊ฐ์ฅ ๋จผ์ ๊ฐ์ฉํด์ง ์๋ฒ ํ๋ก์ธ์ค๊ฐ ์์ฒญ ํ์ ์๋ ์ฌ์ฉ์ ๋ช ๋ น์ ๊บผ๋ด์ ์ฒ๋ฆฌํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์๋ต ํ
(Response Queue)์ ๋ฑ๋ก
- ์๋ต ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ Dispatcher๊ฐ ์๋ต ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ์ฌ์ฉ์ ํ๋ก์ธ์ค์๊ฒ ์ ์ก

๋. ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค (Background Process)

- Checkpoint / Database Checkpoint thread : ์ข ๋ ์์ธํ ์ค๋ช ํ๋ฉด, Write Ahead Logging ๋ฐฉ์(๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ์ ๋ก๊ทธ๋ถํฐ ๋จ๊ธฐ๋ ๋ฉ์ปค๋์ฆ)์ ์ฌ์ฉํ๋DBMS๋ Redo ๋ก๊ทธ์ ๊ธฐ๋กํด ๋ ๋ฒํผ ๋ธ๋ก์ ๋ํ ๋ณ๊ฒฝ์ฌํญ ์ค ํ์ฌ ์ด๋๊น์ง๋ฅผ ๋ฐ์ดํฐ ํ์ผ์ ๊ธฐ๋กํ๋์ง ์ฒดํฌํฌ์ธํธ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ค. ์ด๋ ๋ฒํผ ์บ์์ ๋ฐ์ดํฐ ํ์ผ์ด ๋๊ธฐํ๋ ์์ ์ ๊ฐ๋ฆฌํค๋ฉฐ, ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ง์ง๋ง์ผ๋ก ์ฒดํฌํฌ์ธํธ ์ดํ ๋ก๊ทธ ๋ฐ์ดํฐ๋ง ๋์คํฌ์ ๊ธฐ๋กํจ์ผ๋ก์จ ์ธ์คํด์ค๋ฅผ ๋ณต๊ตฌํ ์ ์๋๋ก ํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค. ์ด ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ ์ฃผ๊ธฐ๊ฐ ๊ธธ์๋ก ์ฅ์ ๋ฐ์ ์ ์ธ์คํด์ค ๋ณต๊ตฌ ์๊ฐ๋ ๊ธธ์ด์ง๋ค.
3. ํ์ผ ๊ตฌ์กฐ
๊ฐ. ๋ฐ์ดํฐ ํ์ผ

- Oracle๊ณผ SQL Server ๋ชจ๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ฐ์ดํฐ ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ค. ๊ณต๊ฐ์ ํ ๋นํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ง๋ง ์ฝ๊ฐ์ ์ฐจ์ด๋ ์๋ค.
1) ๋ธ๋ก(=ํ์ด์ง)
- ๋๋ถ๋ถ DBMS์์ I/O๋ ๋ธ๋ก ๋จ์๋ก ์ด๋ฃจ์ด์ง๋ค.
- ๋ธ๋ก์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ธ ๋์ ๋ ผ๋ฆฌ์ ์ธ ๋จ์
- Oracle์ ๋ธ๋ก(Block), SQL Server๋ ํ์ด์ง(Page)
- Oracle์ 2KB, 4KB, 8KB, 16KB, 32KB, 64KB ๋ฑ์ ๋ค์ํ ๋ธ๋ก ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, SQL Server์์๋
8KB ๋จ์ผ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
- ๋ธ๋ก ๋จ์๋ก I/Oํ๋ค๋ ๊ฒ์, ํ๋์ ๋ ์ฝ๋์์ ํ๋์ ์นผ๋ผ๋ง์ ์ฝ์ผ๋ ค ํ ๋๋ ๋ ์ฝ๋๊ฐ ์ํ ๋ธ๋ก ์ ์ฒด๋ฅผ
์ฝ๊ฒ๋จ์ ๋ปํ๋ค.
- SQL ์ฑ๋ฅ์ ์ข์ฐํ๋ ๊ฐ์ฅ ์ค์ํ ์ฑ๋ฅ์งํ๋ ์ก์ธ์คํ๋ ๋ธ๋ก ๊ฐ์์ด๋ฉฐ, ์ตํฐ๋ง์ด์ ์ ํ๋จ์ ๊ฐ์ฅ ํฐ ์ํฅ
์ ๋ฏธ์น๋ ๊ฒ๋ ์ก์ธ์คํด์ผ ํ ๋ธ๋ก ๊ฐ์๋ค.
- ์๋ฅผ ๋ค์ด, ์ตํฐ๋ง์ด์ ๊ฐ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด ํ ์ด๋ธ์ ์ก์ธ์คํ ์ง ์๋๋ฉด Full Table Scan ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ
์์ด ๊ฐ์ฅ ์ค์ํ ํ๋จ ๊ธฐ์ค์ ์ฝ์ด์ผ ํ ๋ ์ฝ๋ ์๊ฐ ์๋๋ผ ์ฝ์ด์ผ ํ๋ ๋ธ๋ก ๊ฐ์๋ค.
2) ์ต์คํ ํธ (Extent)
- ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋จ์๋ ๋ธ๋ก์ด์ง๋ง, ํ ์ด๋ธ ์คํ์ด์ค๋ก๋ถํฐ ๊ณต๊ฐ์ ํ ๋นํ๋ ๋จ์๋ ์ต์คํ ํธ๋ค.
- ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๋ค๊ฐ ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง๋ฉด ํด๋น ์ค๋ธ์ ํธ๊ฐ ์ํ ํ ์ด๋ธ ์คํ์ด์ค(๋ฌผ๋ฆฌ์
์ผ๋ก๋ ๋ฐ์ดํฐ ํ์ผ)๋ก๋ถํฐ ์ถ๊ฐ์ ์ธ ๊ณต๊ฐ์ ํ ๋น๋ฐ๋๋ฐ, ์ด ๋ ์ ํด์ง ์ต์คํ ํธ ํฌ๊ธฐ์ ์ฐ์๋ ๋ธ๋ก์ ํ ๋น๋ฐ
๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋ธ๋ก ํฌ๊ธฐ๊ฐ 8KB์ธ ์ํ์์ 64KB ๋จ์๋ก ์ต์คํ ํธ๋ฅผ ํ ๋นํ๋๋ก ์ ์ํ๋ค๋ฉด, ๊ณต๊ฐ์ด ๋ถ์กฑํ ๋๋ง
๋ค ํ ์ด๋ธ ์คํ์ด์ค๋ก๋ถํฐ 8๊ฐ์ ์ฐ์๋ ๋ธ๋ก์ ์ฐพ์(์ฐพ์ง ๋ชปํ๋ฉด ์๋ก ์์ฑ) ์ธ๊ทธ๋จผํธ์ ํ ๋นํด ์ค๋ค.
- ์ต์คํ ํธ ๋ด ๋ธ๋ก์ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ธ์ ํ์ง๋ง, ์ต์คํ ํธ๋ผ๋ฆฌ ์๋ก ์ธ์ ํ์ง๋ ์๋๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ค ์ธ๊ทธ๋จผํธ
์ ์ต์คํ ํธ 2๊ฐ๊ฐ ํ ๋น๋๋๋ฐ, ๋ฐ์ดํฐ ํ์ผ ๋ด์์ ์ด ๋์ด ์๋ก ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์์ ์ ์๋ค.
- Oracle์ ๋ค์ํ ํฌ๊ธฐ์ ์ต์คํ ํธ๋ฅผ ์ฌ์ฉํ์ง๋ง SQL Server์์ 8๊ฐ ํ์ด์ง์ ์ต์คํ ํธ๋ง์ ์ฌ์ฉํ๋ค. ํ์ด
์ง ํฌ๊ธฐ๋ 8KB๋ก ๊ณ ์ ๋์ด์์ผ๋ฏ๋ก ์ต์คํ ํธ๋ ํญ์ 64KB์ธ ์ ์ด๋ค.
- Oracle์ ํ ์ต์คํ ํธ์ ์ํ ๋ชจ๋ ๋ธ๋ก์ ๋จ์ผ ์ค๋ธ์ ํธ๊ฐ ์ฌ์ฉํ์ง๋ง, SQL Server์์๋ 2๊ฐ ์ด์ ์ค๋ธ์ ํธ
๊ฐ ๋๋์ด ์ฌ์ฉํ ์๋ ์๋ค. SQL Server๋ ๋ค์ 2๊ฐ์ง ํ์ ์ ์ต์คํ ํธ๋ฅผ ์ฌ์ฉํ๋ค.
- ๊ท ์ผ(Uniform) ์ต์คํ ํธ : 64KB ์ด์์ ๊ณต๊ฐ์ ํ์๋ก ํ๋ ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค๋ฅผ ์ํด ์ฌ์ฉ๋๋ฉฐ, 8๊ฐ ํ์ด์ง ๋จ์๋ก ํ ๋น๋ ์ต์คํ ํธ๋ฅผ ๋จ์ผ ์ค๋ธ์ ํธ๊ฐ ๋ชจ๋ ์ฌ์ฉํ๋ค.
- ํผํฉ(Mixed) ์ต์คํ ํธ : ํ ์ต์คํ ํธ์ ํ ๋น๋ 8๊ฐ ํ์ด์ง๋ฅผ ์ฌ๋ฌ ์ค๋ธ์ ํธ๊ฐ ๋๋์ด ์ฌ์ฉํ๋ ํํ๋ค. ๋ชจ๋ ํ ์ด๋ธ์ด ์ฒ์์๋ ํผํฉ ์ต์คํ ํธ๋ก ์์ํ์ง๋ง 64KB๋ฅผ ๋์ผ๋ฉด์ 2๋ฒ์งธ๋ถํฐ ๊ท ์ผ ์ต์ค๋ฝ๋ฅด๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค.
'Database > SQLD & SQLP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SQLD] ์ 4์ . ๊ด๊ณ(Relationship) - 2. ๊ด๊ณ์ ๋ถ๋ฅ (0) | 2019.05.26 |
|---|---|
| [SQLD] ์ 4์ . ๊ด๊ณ(Relationship) - 1. ๊ด๊ณ์ ๊ฐ๋ (0) | 2019.05.26 |
| [SQLD] ์ 3์ . ์์ฑ(Attribute) - 6. ์์ฑ์ ๋ช ๋ช (Naming) (0) | 2019.05.26 |
| [SQLD] ์ 3์ . ์์ฑ(Attribute) - 5. ๋๋ฉ์ธ(Domain) (0) | 2019.05.26 |
| [SQLD] ์ 3์ . ์์ฑ(Attribute) - 4. ์์ฑ์ ๋ถ๋ฅ (0) | 2019.05.26 |