001. DBMS Architecture - llighter/database GitHub Wiki

SQL ๋ ˆ๋ฒจ์—…

Detailed DBMS Architecture Database Management Systems (CS 564)

DBMS์—์„œ ์ผ์–ด๋‚˜๋Š” ๋‹ค์–‘ํ•œ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

1. ์ฟผ๋ฆฌ ํ‰๊ฐ€ ์—”์ง„(Query Evaluation Engine)

  • ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ SQL ๊ตฌ๋ฌธ์„ ๋ถ„์„ํ•˜๊ณ  ์–ด๋–ค ์ˆœ์„œ๋กœ ๊ธฐ์–ต์žฅ์น˜์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
  • ์ด๋•Œ ๊ฒฐ์ •๋˜๋Š” ๊ณ„ํš์„ ์‹คํ–‰ ๊ณ„ํš(Explain Plan) ์ด๋ผ ๋ถ€๋ฅธ๋‹ค.
  • ์ด๋Ÿฌํ•œ ์‹คํ–‰ ๊ณ„ํš์— ๊ธฐ๋ฐ˜์„ ๋‘ฌ์„œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ ‘๊ทผ ๋ฉ”์„œ๋“œ(access method) ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  • ์„ฑ๋Šฅ๊ณผ ๊นŠ์€ ๊ด€๋ จ์ด ์žˆ์Œ

2. ๋ฒ„ํผ ๋งค๋‹ˆ์ €(Buffer Manager)

  • DBMS์—์„œ๋Š” ๋ฒ„ํผ๋ผ๋Š” ํŠน๋ณ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ™•๋ณดํ•ด๋‘”๋‹ค.
  • ์ด ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ฒ„ํผ ๋งค๋‹ˆ์ € ์ด๋‹ค.
  • cf. ๋””์Šคํฌ ์šฉ๋Ÿ‰ ๋งค๋‹ˆ์ €

3. ๋””์Šคํฌ ์šฉ๋Ÿ‰ ๋งค๋‹ˆ์ €(Disk Space Manager)

  • ์–ด๋””์— ์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ• ์ง€๋ฅผ ๊ด€๋ฆฌ
  • ๋ฐ์ดํ„ฐ์˜ ์ฝ๊ณ  ์“ฐ๊ธฐ๋ฅผ ์ œ์–ด

4. ํŠธ๋žœ์žญ์…˜ ๋งค๋‹ˆ์ €์™€ ๋ฝ ๋งค๋‹ˆ์ €(Transaction Manager and Rock Manager)

  • ์ƒ์šฉ ์‹œ์Šคํ…œ์—์„œ๋Š” DB๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์ˆ˜์˜ ์‚ฌ๋žŒ์ด ๋™์‹œ์— ์ ‘๊ทผ
  • ์ด๋•Œ ๊ฐ๊ฐ์˜ ์ฒ˜๋ฆฌ๋Š” DBMS ๋‚ด๋ถ€์—์„œ ํŠธ๋žœ์žญ์…˜ ๋‹จ์œ„๋กœ ๊ด€๋ฆฌ
  • ํŠธ๋žœ์žญ์…˜์˜ ์ •ํ•ฉ์„ฑ ์œ ์ง€ ๋ฐ ์‹คํ–‰
  • ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์— ๋ฝ์„ ๊ฑธ์–ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์š”์ฒญ์„ ๋Œ€๊ธฐ์‹œํ‚ด

5. ๋ฆฌ์ปค๋ฒ„๋ฆฌ ๋งค๋‹ˆ์ €(Recovery Manager)

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ๋ฐฑ์—…, ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚ฌ์„ ๋•Œ ๋ณต๊ตฌ