Skip to content

WebStudysss/RealMySQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š Real MySQL 8.0 Study

๐Ÿ—“ ์ง„ํ–‰ ๊ธฐ๊ฐ„

2025.08.20 ~ 2025.09.04

๐ŸŽฏ ์Šคํ„ฐ๋”” ๋ชฉํ‘œ

MySQL ํ•ต์‹ฌ ๋™์ž‘ ์›๋ฆฌ(์Šคํ† ๋ฆฌ์ง€ ์—”์ง„, ํŠธ๋žœ์žญ์…˜, ์ธ๋ฑ์Šค, ์˜ตํ‹ฐ๋งˆ์ด์ €, ์‹คํ–‰๊ณ„ํš ๋“ฑ) ์‹ฌํ™” ์ดํ•ด

๋ฐœํ‘œ๋ฅผ ํ†ตํ•ด ๊ฐ์ž ํ•™์Šต ๋‚ด์šฉ์„ ์ •๋ฆฌ ๋ฐ ๊ณต์œ 

๐Ÿ“– ์ง„ํ–‰ ๋ฐฉ์‹

  • ๋งค์ฃผ 2~3๊ฐœ ์ฑ•ํ„ฐ๋ฅผ ์ฝ๊ณ  ๋ฐœํ‘œ
  • ๋ฐœํ‘œ์ž๋Š” ๋ฐœํ‘œ์ž๋ฃŒ/์ •๋ฆฌ๋ณธ ์ž‘์„ฑ
  • ์งˆ์˜์‘๋‹ต ๋ฐ ํ† ๋ก 

๐Ÿ“‘ ์ฑ•ํ„ฐ๋ณ„ ์ •๋ฆฌ

4์žฅ. ์•„ํ‚คํ…์ฒ˜

  • ์ฃผ์š” ๊ฐœ๋…
  1. MySQL ์—”์ง„ (๋จธ๋ฆฌ)
    1-1. ์ปค๋„ฅ์…˜ ํ•ธ๋“ค๋Ÿฌ: ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ๊ด€๋ฆฌ, ์ธ์ฆ ์ฒ˜๋ฆฌ
    1-2. SQL ํŒŒ์„œ & ์ „์ฒ˜๋ฆฌ๊ธฐ: SQL ๋ฌธ๋ฒ• ๊ฒ€์ฆ, ๊ตฌ๋ฌธ ํŠธ๋ฆฌ ์ƒ์„ฑ
    1-3. ์˜ตํ‹ฐ๋งˆ์ด์ €: ์—ฌ๋Ÿฌ ์‹คํ–‰ ๊ฒฝ๋กœ ์ค‘ ์ตœ์ ์˜ ์‹คํ–‰๊ณ„ํš ์„ ํƒ (๋น„์šฉ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”)
    1-4. ์ฟผ๋ฆฌ ์‹คํ–‰๊ธฐ: ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ๋งŒ๋“  ๊ณ„ํš์„ ์‹ค์ œ ์‹คํ–‰

  2. ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ (์†๋ฐœ)
    2-1. ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ œ๋กœ ๋””์Šคํฌ์— ์ฝ๊ณ  ์“ฐ๋Š” ๋ชจ๋“ˆ
    2-2. MyISAM, InnoDB, Memory ๋“ฑ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ตฌ์กฐ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅ
    2-3. InnoDB๋Š” ํŠธ๋žœ์žญ์…˜, MVCC, ์™ธ๋ž˜ํ‚ค ์ง€์› / MyISAM์€ ๋‹จ์ˆœ ๊ตฌ์กฐ, ๋น ๋ฅธ ์ฝ๊ธฐ

  3. ํ”Œ๋Ÿฌ๊ทธ์ธ ์•„ํ‚คํ…์ฒ˜
    3-1. ์ธ์ฆ, ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„, UDF ๋“ฑ ๋ชจ๋“ˆํ˜• ํ™•์žฅ ์ง€์›
    3-2. ๋‹ค๋ฅธ DBMS์™€ ์ฐจ๋ณ„ํ™”๋˜๋Š” MySQL์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•

  4. ๋ฒ„ํผ ํ’€ & ์บ์‹œ ๊ณ„์ธต
    4-1. InnoDB ๋ฒ„ํผ ํ’€: ๋ฐ์ดํ„ฐ/์ธ๋ฑ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹ฑ
    4-2. ์ฟผ๋ฆฌ ์บ์‹œ(8.0๋ถ€ํ„ฐ ์ œ๊ฑฐ): ์บ์‹œ ์ผ๊ด€์„ฑ ๋ฌธ์ œ๋กœ ํ์ง€๋จ

  • ํ•ต์‹ฌ ํ† ๋ก 
  1. Community ๋ฒ„์ „์—๋Š” Thread Pool์ด ์—†๋Š”๋ฐ, ๋™์ ‘ ํญ์ฃผ ์ƒํ™ฉ์—์„œ ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์„๊นŒ?
    (โ†’ ProxySQL, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปค๋„ฅ์…˜ ํ’€, Scale-out ๋“ฑ์œผ๋กœ ๋ณด์™„)

  2. MySQL์ด โ€œ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ตฌ์กฐโ€๋ฅผ ์ฑ„ํƒํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ?
    (โ†’ ๋‹ค์–‘ํ•œ ์›Œํฌ๋กœ๋“œ์— ๋งž์ถฐ ์ตœ์  ์—”์ง„์„ ์„ ํƒ ๊ฐ€๋Šฅ, ๋ฒ”์šฉ DBMS๋กœ ํ™•์žฅ์„ฑ ํ™•๋ณด)

  3. InnoDB๊ฐ€ ๋””ํดํŠธ๊ฐ€ ๋œ ์ง€๊ธˆ, MyISAM ๊ฐ™์€ ์—”์ง„์„ ์—ฌ์ „ํžˆ ๊ณ ๋ คํ•  ํ•„์š”๊ฐ€ ์žˆ์„๊นŒ?

  • ๋ฐœํ‘œ์ž: ์„ฑ์ค€, ์ƒ์ˆ˜

5์žฅ. ํŠธ๋žœ์žญ์…˜๊ณผ ์ž ๊ธˆ

  • ์ฃผ์š” ๊ฐœ๋…: ACID, MVCC, Isolation Level
  • ํ•ต์‹ฌ ํ† ๋ก : Undo/Redo Log ๊ด€๋ฆฌ์™€ ์„ฑ๋Šฅ Trade-off
  • ๋ฐœํ‘œ์ž: ์„ฑ์ค€, ์ƒ์ˆ˜

6์žฅ. ๋ฐ์ดํ„ฐ ์••์ถ•

  • ์ฃผ์š” ๊ฐœ๋…
  1. InnoDB ํŽ˜์ด์ง€ ์••์ถ• vs ํ…Œ์ด๋ธ” ์••์ถ•
  2. ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜ (zlib, LZ4)๊ณผ ๋””์Šคํฌ ๊ณต๊ฐ„ ์ ˆ์•ฝ ํšจ๊ณผ
  • ์••์ถ•์ด ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ (์ฝ๊ธฐ ์„ฑ๋Šฅ โ†‘ / ์“ฐ๊ธฐ ์„ฑ๋Šฅ โ†“ ๊ฐ€๋Šฅ)
  • ํ•ต์‹ฌ ํ† ๋ก 
  1. OLTP ํ™˜๊ฒฝ์—์„œ ์••์ถ•์„ ์ ์šฉํ•  ๊ฒฝ์šฐ TPS ์ €ํ•˜ vs ์ €์žฅ๊ณต๊ฐ„ ์ ˆ์•ฝ์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„
  2. SSD ๊ธฐ๋ฐ˜ ์Šคํ† ๋ฆฌ์ง€์—์„œ ์••์ถ•์ด ์—ฌ์ „ํžˆ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š”๊ฐ€?
  • ๋ฐœํ‘œ์ž: ์„ฑ์ค€, ์ƒ์ˆ˜

7์žฅ. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”

  • ์ฃผ์š” ๊ฐœ๋…
  1. MySQL Keyring ํ”Œ๋Ÿฌ๊ทธ์ธ: keyring_file, keyring_okv, keyring_encrypted_file
  2. ํ…Œ์ด๋ธ”์ŠคํŽ˜์ด์Šค ์•”ํ˜ธํ™”, Redo/Undo ๋กœ๊ทธ ์•”ํ˜ธํ™”, ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ ์•”ํ˜ธํ™”
  3. TDE (Transparent Data Encryption) ๊ฐœ๋…
  • ํ•ต์‹ฌ ํ† ๋ก 
  1. DB ์ž์ฒด ์•”ํ˜ธํ™” vs ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ ์•”ํ˜ธํ™”
  2. GDPR/๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ• ๋Œ€์‘ ์‹œ ์–ด๋””๊นŒ์ง€ DB ์•”ํ˜ธํ™”๊ฐ€ ํ•„์š”ํ• ๊นŒ?

๋ฐœํ‘œ์ž: ์„ฑ์ค€, ์ƒ์ˆ˜

8์žฅ. ์ธ๋ฑ์Šค

  • ์ฃผ์š” ๊ฐœ๋…
  1. B-Tree ์ธ๋ฑ์Šค, ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค, ๋ณด์กฐ ์ธ๋ฑ์Šค ๊ตฌ์กฐ
  2. ์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค, ๋ฃจ์Šค ์ธ๋ฑ์Šค ์Šค์บ”, MRR/Index Condition Pushdown
  3. ์ธ๋ฑ์Šค ์„ค๊ณ„ ์›์น™: ์นด๋””๋„๋ฆฌํ‹ฐ, ์„ ํƒ๋„, ์กฐํ•ฉ ์ธ๋ฑ์Šค
  • ํ•ต์‹ฌ ํ† ๋ก 
  1. ์‹ค๋ฌด์—์„œ LIKE '%keyword' ๊ฒ€์ƒ‰ โ†’ ์ธ๋ฑ์Šค ๋ฏธํ™œ์šฉ ๋ฌธ์ œ
  2. Elasticsearch vs MySQL ์ธ๋ฑ์Šค ํ™œ์šฉ ๋น„๊ต
  • MogoDB, PostgreSQL ์™€ ๋น„๊ต ๋ฐ ๊ฐ ์žฅ๋‹จ์  ๋ฐ ํŠน์ง• ์ •๋ฆฌ
  • ๋ฐœํ‘œ์ž: ์„ฑ์ค€, ์ƒ์ˆ˜

9์žฅ. ์˜ตํ‹ฐ๋งˆ์ด์ €์™€ ํžŒํŠธ

  • ์ฃผ์š” ๊ฐœ๋…
  1. ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์‹คํ–‰๊ณ„ํš์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ์‹
  2. ํ†ต๊ณ„ ์ •๋ณด์™€ ๋น„์šฉ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”
  3. ์˜ตํ‹ฐ๋งˆ์ด์ € ํžŒํŠธ (USE INDEX, STRAIGHT_JOIN, SQL_CALC_FOUND_ROWS)
  • ํ•ต์‹ฌ ํ† ๋ก 
  1. ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ๋น„ํšจ์œจ์ ์ธ ์‹คํ–‰๊ณ„ํš์„ ์„ ํƒํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ๊ฐœ์ž…ํ•  ๊ฒƒ์ธ๊ฐ€?
  2. ํžŒํŠธ ๋‚จ์šฉ ์‹œ ์œ ์ง€๋ณด์ˆ˜ ๋ฌธ์ œ
  • ๋ฐœํ‘œ์ž: ์„ฑ์ค€, ์ƒ์ˆ˜

10์žฅ. ์‹คํ–‰๊ณ„ํš

  • ์ฃผ์š” ๊ฐœ๋…
  1. EXPLAIN ์ถœ๋ ฅ ํ•ด์„: type, key, rows, filtered
  2. EXPLAIN FORMAT=JSON ๊ณผ ์˜ตํ‹ฐ๋งˆ์ด์ € Trace
  3. ์‹คํ–‰๊ณ„ํš ์บ์‹œ ๋ฐ Reuse
  • ํ•ต์‹ฌ ํ† ๋ก 
  1. EXPLAIN๋งŒ์œผ๋กœ ํŠœ๋‹ ํŒ๋‹จ ๊ฐ€๋Šฅํ• ๊นŒ?
  2. ๋Œ€๊ทœ๋ชจ ์ฟผ๋ฆฌ ํŠœ๋‹ ์‹œ ์‹ค์ธก ๋ชจ๋‹ˆํ„ฐ๋ง (performance_schema, sys ์Šคํ‚ค๋งˆ) ํ•„์š”์„ฑ
  • ๋ฐœํ‘œ์ž: ์„ฑ์ค€, ์ƒ์ˆ˜

๐Ÿ’ก ์ „์ฒด ์ธ์‚ฌ์ดํŠธ

  • ๋‹จ์ˆœ ๊ธฐ๋Šฅ ์Šต๋“์ด ์•„๋‹ˆ๋ผ ์„ฑ๋Šฅ/์•ˆ์ •์„ฑ/ํ™•์žฅ์„ฑ ๊ด€์ ์œผ๋กœ ์ดํ•ด๊ฐ€ ๊นŠ์–ด์ง

  • ์‹ค์ œ ํ”„๋กœ์ ํŠธ ์„ค๊ณ„/์šด์˜ ์‹œ ์ ์šฉํ•  ํฌ์ธํŠธ ๋„์ถœ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors