MySQL Storage Engine ์ข…๋ฅ˜

viramยท2022๋…„ 11์›” 17์ผ
0

๐Ÿ“šMySQLTUTORIAL ๊ณต์‹ ๋ฌธ์„œ
๐Ÿ“šMySQL ๊ณต์‹ ๋ฌธ์„œ

MySQL์—์„œ ์ œ๊ณตํ•˜๋Š” Storage Engine์—๋Š” ํฌ๊ฒŒ ๋‹ค์Œ์ด ์žˆ๋‹ค.

  • MyISAM
  • InnoDB
  • MERGE
  • MEMORY (HEAP)
  • ARCHIVE
  • CSV
  • FEDERATED

์šฐ๋ฆฌ๊ฐ€ MySQL์„ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” InnoDB๊ฐ€ ํ•ญ์ƒ ๋””ํดํŠธ๋กœ ์„ค์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ์—”์ง„์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์„ ํ•ด๋ณธ ๊ฒฝ์šฐ๋Š” ๋งŽ์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. (๋‚˜๋Š” ๊ทธ๋žฌ๋‹ค.) ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” MySQLTUTORIAL์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ๊ธฐ ์—”์ง„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•˜๊ณ , ์•ž์œผ๋กœ๋Š” DB ์—”์ง„์„ ์„ ํƒํ•  ๋•Œ ์ƒํ™ฉ์— ๋งž์ถฐ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

MyISAM

  • transaction safty๋ฅผ ๋ณด์žฅํ•ด ์ฃผ์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ๋™์‹œ์— ์ ‘์†ํ–ˆ์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, table-level locking์„ ํ•˜๋ฏ€๋กœ ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค.
  • ISAM์„ ๊ณ„์Šนํ•œ ์—”์ง„์œผ๋กœ, ์ €์žฅ๊ณต๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์••๋„์ ์œผ๋กœ ๋น ๋ฅธ ์†๋„๋ฅผ ์ž๋ž‘ํ•œ๋‹ค. ์ €์žฅ๊ณต๊ฐ„์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ธฐ ์œ„ํ•ด read-only๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์—๋Ÿฌ ์ฒดํ‚น / ์ž๊ฐ€ ๋ณต๊ตฌ ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉฐ DB๋ถ€ํŒ…์‹œ ์‹คํ–‰๋œ๋‹ค.
  • ์ตœ๋Œ€ 256TB์˜ DB๋ฅผ handleํ•  ์ˆ˜ ์žˆ๋‹ค.

InnoDB

  • ACID-compliant๋ฅผ ์ง€์›ํ•œ๋‹ค. ์ฆ‰, transaction safty๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ณด์žฅํ•œ๋‹ค.
  • FK, commit, rollback, roll-forward ๋ช…๋ น์„ ์ง€์›ํ•œ๋‹ค.
  • ์—๋Ÿฌ ์ฒดํ‚น / ์ž๊ฐ€ ๋ณต๊ตฌ ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉฐ DB๋ถ€ํŒ…์‹œ ์‹คํ–‰๋˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ตœ๋Œ€ 64TB์˜ DB๋ฅผ handleํ•  ์ˆ˜ ์žˆ๋‹ค.

MERGE

  • ์—ฌ๋Ÿฌ MyISAM ํ…Œ์ด๋ธ”์„ ํ•œ ํ…Œ์ด๋ธ”๋กœ ๋ชจ์€ ์‹œ์Šคํ…œ์ด๋‹ค. MRG_MyISAM์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.
  • ์ธ๋ฑ์Šค๊ฐ€ ์—†๊ณ , MERGE ์‹œ์Šคํ…œ์„ ์ด๋ฃจ๋Š” MyISAMํ…Œ์ด๋ธ” ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์ธ๋ฑ์Šค๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.
  • ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•  ๋•Œ ํš๊ธฐ์ ์ธ ์†๋„๋ฅผ ๋ณด์žฅํ•œ๋‹ค.
  • ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋Š” SELECT DELETE UPDATE INSERT๋ฐ–์— ์—†๋‹ค.

Memory

  • ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๊ณ , hash๋ฅผ ํ†ตํ•ด ์ธ๋ฑ์‹ฑ๋œ๋‹ค. ๊ทธ๋ž˜์„œ MyISAM๋ณด๋‹ค๋„ ๋น ๋ฅด๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋Š” ๋งŒํผ DB์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์ ์žฌ๊ฐ€ ํ•ด์ œ๋˜๋ฉด ์ €์žฅ๋œ ์ •๋ณด๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค.
  • HEAP์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

Archive

  • ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•„์นด์ด๋ธŒ ์šฉ๋„๋กœ, ํšจ์œจ์ ์ธ ์••์ถ•์„ ํ†ตํ•ด ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋กœ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์— ์“ฐ์ธ๋‹ค.
  • INSERT๋  ๋•Œ ๋ฐ”๋กœ ์••์ถ•ํ•˜๊ณ  ์ฝ์„ ๋•Œ์—๋Š” zlib๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ์••์ถ•์„ ํ‘ผ๋‹ค.
  • INSERT SELECT ๋‘ ๊ฐœ์˜ ๋ช…๋ น์–ด๋งŒ ์ œ๊ณตํ•˜๊ณ , ์ธ๋ฑ์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•„ ์–ธ์ œ๋‚˜ FULL TABLE SEARCH๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. REPLACE๋„ ์ œ๊ณตํ•˜๊ธฐ๋Š” ํ•œ๋‹ค.
    • ๋”ฐ๋ผ์„œ ํ•ด์‰ฌ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

CSV

  • .csvํŒŒ์ผ ๋งž๋‹ค. ์ด ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด์™€ ์‰ฝ๊ฒŒ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋‹ค.
  • NULL์„ ์ง€์›ํ•˜์ง€ ์•Š๊ณ , ์–ธ์ œ๋‚˜ FULL TABLE SCAN์„ ํ•œ๋‹ค.

FEDERATED

  • ๋กœ์ปฌ์—๋Š” ์•„๋ฌด๋Ÿฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ์›๊ฒฉ Federated ํ…Œ์ด๋ธ”์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค.
profile
์ทจ๋ฏธ๋กœ ๋ฒˆ์—ญํ•˜๊ณ  ์ง์—…์œผ๋กœ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€