๐Ÿ“š Databases/RealMySQL 8.0

8.1 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค๋ž€?

iseunghan 2023. 4. 3. 22:10
๋ฐ˜์‘ํ˜•

8.1 ๋””์Šคํฌ ์ฝ๊ธฐ ๋ฐฉ์‹

HDD vs SSD

  • ์ˆœ์ฐจ I/O ๋ฐฉ์‹์€ ์‚ฌ์‹ค SSD๊ฐ€ HDD๋ณด๋‹ค ์กฐ๊ธˆ ๋น ๋ฅด๊ฑฐ๋‚˜ ๊ฑฐ์˜ ๋น„์Šทํ•œ ์„ฑ๋Šฅ์„ ๋ณด์ธ๋‹ค.
  • ํ•˜์ง€๋งŒ, ๋žœ๋ค I/O์—์„œ๋Š” ๋Œ€๋žต 5000๋ฐฐ ์ •๋„ ๋น ๋ฅด๋‹ค.

๋žœ๋ค I/O, ์ˆœ์ฐจ I/O๋ž€?

  • ์ˆœ์ฐจ I/O๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„์„œ 1 ๋ฒˆ ์‹œ์Šคํ…œ์—๊ฒŒ ์š”์ฒญ์„ ํ•œ๋‹ค.
    • ์ฆ‰, ๋””์Šคํฌ ํ—ค๋”๋ฅผ 1 ๋ฒˆ ์›€์ง์˜€๋‹ค.
  • ๋žœ๋ค I/O๋Š” ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ๋งˆ๋‹ค ์‹œ์Šคํ…œ์—๊ฒŒ ์š”์ฒญ์„ ํ•œ๋‹ค.
    • ์ฆ‰, ๋””์Šคํฌ ํ—ค๋”๋ฅผ n ๋ฒˆ ์›€์ง์˜€๋‹ค.

๊ฒฐ๊ตญ, ์ˆœ์ฐจ I/O๋Š” ๋žœ๋ค I/O๋ณด๋‹ค ๊ฑฐ์˜ 3๋ฐฐ์ •๋„ ๋น ๋ฅด๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ, ์ฟผ๋ฆฌ๋ฅผ ํŠœ๋‹ํ•˜๋Š” ๊ฒƒ์€ ๋žœ๋ค I/O๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•จ์ด๋‹ค.

8.2 ์ธ๋ฑ์Šค๋ž€?

๋ชฉ์ฐจ์™€ ๋งŽ์ด ํ˜ผ๋™์„ ํ•˜๋Š”๋ฐ ์ด ๋‘˜์€ ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค. (์ฐธ๊ณ )

์•„๋ž˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ, ‘์ฐพ์•„๋ณด๊ธฐ’์™€ ๊ฐ™์ด ํ•ด๋‹น ๋‚ด์šฉ์„ ์•Œ๊ณ ์‹ถ์œผ๋ฉด ๋ช‡ ํŽ˜์ด์ง€๋กœ ๊ฐ€๋ผ ์ง€๋ฆ„๊ธธ์ฒ˜๋Ÿผ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด ์ธ๋ฑ์Šค์ด๋‹ค.

-ใ„ฑ-
๊ฐœ ... 5p
๊ฐ๋‚˜๋ฌด ... 10p
-ใ„ด-
๋‚˜๋น„ ... 11p
...

DBMS ์ธ๋ฑ์Šค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ,

  • ์ปฌ๋Ÿผ์˜ ๊ฐ’(key)๊ณผ ํ•ด๋‹น ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋œ ์ฃผ์†Œ(value)์˜ ์Œ์„ ์ธ๋ฑ์Šค๋กœ ๋งŒ๋“ค์–ด ๋‘๋Š” ๊ฒƒ์ด๋‹ค.
  • ํ•ด๋‹น ์ธ๋ฑ์Šค๋Š” ใ„ฑ, ใ„ด, ใ„ท ์ˆœ์œผ๋กœ ๋ฏธ๋ฆฌ ์ •๋ ฌํ•ด์„œ ๋ณด๊ด€ํ•œ๋‹ค.
  • SortedList ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๊ฐ™๋‹ค.

์ธ๋ฑ์Šค๋Š”..

DBMS์—์„œ ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ(INSERT, UPDATE, DELETE) ์„ฑ๋Šฅ์„ ํฌ์ƒํ•˜๊ณ  ์ฝ๊ธฐ ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ํ…Œ์ด๋ธ”์˜ ์ธ๋ฑ์Šค๋ฅผ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ• ์ง€ ๋ง์ง€๋Š” ์ €์žฅ ์†๋„๋ฅผ ์–ด๋””๊นŒ์ง€ ํฌ์ƒํ•  ์ˆ˜ ์žˆ๊ณ , ์ฝ๊ธฐ ์†๋„๋ฅผ ์–ด๋Š ์ •๋„๊นŒ์ง€ ๋น ๋ฅด๊ฒŒ ํ•„์š”๋กœ ํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. WHERE ์ ˆ์— ๋“ค์–ด๊ฐ„๋‹ค๊ณ  ๋ฌด์กฐ๊ฑด ์ธ๋ฑ์Šค๋กœ ์ง€์ •ํ•˜๋ฉด ์—ญํšจ๊ณผ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

MySQL ์ธ๋ฑ์Šค๋Š” B-Tree ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. ๋‹ค์Œ ์‹œ๊ฐ„์—๋Š” B-Tree์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•