๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (123)

DevLog ๐Ÿ˜ถ

[Real MySQL 8.0] InnoDB์˜ ์ธ๋ฑ์Šค์™€ ๋ฝ, ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” InnoDB์˜ ์ธ๋ฑ์Šค์™€ ๋ฝ์˜ ์ƒ๊ด€๊ด€๊ณ„์™€ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ๐ŸŒฑ ์ธ๋ฑ์Šค์™€ ๋ฝ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ๋ ˆ์ฝ”๋“œ ๋ฝ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ฒผ๋‹ค.innoDB์˜ ๊ฒฝ์šฐ ๋ ˆ์ฝ”๋“œ ์ž์ฒด๋ฅผ ์ž ๊ทธ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š”, ์ธ๋ฑ์Šค์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ž ๊ทผ๋‹ค.์ธ๋ฑ์Šค๋ฅผ ์ž ๊ทธ๊ธฐ ๋•Œ๋ฌธ์— ๋ ˆ์ฝ”๋“œ ๊ฒ€์ƒ‰ ์‹œ ๋ฐœ๊ฒฌ๋œ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ์˜ ๋ฝ์„ ๊ฑธ๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, crew ํ…Œ์ด๋ธ”์— age = 23์ธ ์‚ฌ๋žŒ์ด 100๋ช…์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ์ด๋•Œ, age์—๋Š” ์ธ๋ฑ์Šค๊ฐ€, name์—๋Š” ์ธ๋ฑ์Šค๊ฐ€ ๊ฑธ๋ ค์žˆ์ง€ ์•Š์€ ์ƒํƒœ๋‹ค.SELECT COUNT(*) FROM crew WHERE age = 23; # result: 100 ํ•˜์ง€๋งŒ, age = 23์ด๋ฉด์„œ name = 'journey'์ธ ๊ฒฐ๊ณผ๋Š” 1๊ฐœ๋งŒ ๋‚˜์˜จ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.SELEC..

๐Ÿ“–/Real MySQL 8.0 2023. 6. 19. 00:51
[Network] ์„œ๋ฒ„์˜ ํŒจํ‚ท ์ˆ˜์‹  ๋™์ž‘ ์•Œ์•„๋ณด๊ธฐ

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „ ๋“œ๋””์–ด ๊ธฐ๋‚˜๊ธด ํŒจํ‚ท ์—ฌํ–‰์˜ ๋งˆ์ง€๋ง‰์ด๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์›น ์„œ๋ฒ„์ธก์—์„œ ์–ด๋–ค ์‹์œผ๋กœ ํŒจํ‚ท์„ ๋ฐ›์•„์˜ค๋Š”์ง€ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค! ํด๋ผ์ด์–ธํŠธ์—์„œ ํŒจํ‚ท์„ ์ „์†กํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์€ ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ์–ด๋ ต์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ๐ŸŒฑ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ํŒจํ‚ท์ด ์„œ๋ฒ„๋กœ ๋„์ฐฉํ•œ ์งํ›„ ๋‹ค์‹œ ๋Œ์•„์™€์„œ, ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ธ ํŒจํ‚ท์ด ์„œ๋ฒ„๋กœ ๋„์ฐฉํ•œ ์งํ›„ ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ์•Œ์•„๋ณด์ž. (์ด ๋ถ€๋ถ„์€ ํฌ๊ฒŒ ์ค‘์š”ํ•œ ๊ฑด ์•„๋‹ˆ๋ผ์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€๊ณ ์ž ํ•œ๋‹ค.) ์šฐ์„ , ์„œ๋ฒ„ ์ธก์œผ๋กœ ๋“ค์–ด์˜จ ํŒจํ‚ท์˜ ๊ฒฝ์šฐ ์‚ฌ์‹ค '์ „๊ธฐ ์‹ ํ˜ธ'์˜ ํ˜•ํƒœ๋กœ ๋“ค์–ด์˜จ๋‹ค. ์ „๊ธฐ ์‹ ํ˜ธ๋Š” LAN ์–ด๋Œ‘ํ„ฐ์—์„œ ์ˆ˜์‹ ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ 1๊ณผ 0์˜ ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. ์œ„ ๊ทธ๋ฆผ์€ ์ „๊ธฐ ์‹ ํ˜ธ์—์„œ ๋””์ง€ํ„ธ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜๋˜์—ˆ์„ ๋•Œ ํŒจํ‚ท์˜ ํ˜•ํƒœ์ด๋‹ค. ๋ณ€๊ฒฝ๋œ ๋””์ง€..

โœ๏ธ/Network 2023. 6. 17. 01:03
[์šฐํ…Œ์ฝ” 5๊ธฐ] ๋ ˆ๋ฒจ 2 ๋ ˆ๋ฒจ ์ธํ„ฐ๋ทฐ ์ •๋ฆฌ ๋ฐ ๊ฐ์ • ํšŒ๊ณ 

โœ”๏ธ ๋ ˆ๋ฒจ ๋กœ๊ทธ ๋ ˆ๋ฒจ 2 ๋ฐฉํ•™ ์‹œ์ž‘ํ•œ ์ง€ ์กฐ๊ธˆ ๋์ง€๋งŒ... ใ…Žใ…Ž ๋’ค๋Šฆ๊ฒŒ ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ง€๋‚œ ๋ ˆ๋ฒจ 1 ์ธํ„ฐ๋ทฐ ๋•Œ์— ๋น„ํ•ด์„œ ๋ ˆ๋ฒจ 2์˜ ์ธํ„ฐ๋ทฐ๋Š” ๋” ๋งŽ์€ ์ธ์›์ด ์ง„ํ–‰ํ–ˆ๋‹ค. (ํ•˜์ง€๋งŒ ์ž„ํŒฉํŠธ๋ฃธ์—์„œ ํ•˜๋‹ค ๋ณด๋‹ˆ ์—„์ฒญ ๋ณต์ž‘๋ณต์ž‘ํ•œ ๋Š๋‚Œ์ด์—ˆ๋‹น) ํ•จ๊ป˜ํ•œ ํฌ๋ฃจ๋“ค์€ ์„ฑํ•˜, ๋ฐ•์Šคํ„ฐ, ๋ฃจ์นด, ๊นƒ์งฑ, ํ—™ํฌ, ์ด์˜ค, ๋‘๋‘ ์ด๊ณ , ์ฝ”์น˜๋‹˜์€ ๋ธŒ๋ฆฌ์˜€๋‹ค. ๐Ÿ’ช ์ €๋ฒˆ์—๋Š” 2์ผ์ฐจ์— ์ธํ„ฐ๋ทฐ์˜€์–ด์„œ ์ค€๋น„ํ•  ์‹œ๊ฐ„์ด ๋„‰๋„‰ํ–ˆ๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” 1์ผ์ฐจ์— ๊ฑธ๋ฆฐ ๋ฐ”๋žŒ์— ์ค€๋น„ํ•  ์‹œ๊ฐ„๋„ ๋ณ„๋กœ ์—†์—ˆ๋‹ค ใ…Žใ…Žใ…Ž ๋ ˆ๋ฒจ ๋กœ๊ทธ / ๋ ˆ๋ฒจ ์ธํ„ฐ๋ทฐ ์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™” www.notion.so ๋…ธ์…˜์— ๋ ˆ๋ฒจ ์ธํ„ฐ๋ทฐ๋ฅผ ์ค€๋น„ํ•˜๋ฉฐ ์—ด์‹ฌํžˆ ์ •๋ฆฌํ–ˆ์—ˆ๋‹ค. ๋ ˆ๋ฒจ 2์—์„œ ๋ฐฐ์šด ๊ฒŒ ์›Œ๋‚™ ์ค‘๊ตฌ๋‚œ๋ฐฉํ•ด์„œ ๊ทธ๋Ÿฐ๊ฐ€... ์ตœ๋Œ€ํ•œ ์Šคํ”„๋ง์— ๋Œ€ํ•œ ๊ฒƒ๋งŒ ๊ณต๋ถ€ํ•˜๊ณ  ๊ฐ”๋‹ค. ๋ธ”๋กœ๊ทธ์— ํ•œ ๋ฒˆ ๋” ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๋…ธ์…˜์ด..

[์šฐํ…Œ์ฝ” 5๊ธฐ] ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํ˜‘์—… ๋ฏธ์…˜ ํšŒ๊ณ 

๋ผ์˜จ, ์ฅฌ๋‹ˆ, ์„ธ์ธ, ์ตธํŒŒ๋ž‘ ์ง„ํ–‰ํ–ˆ๋˜ ๋ ˆ๋ฒจ 2 ๋งˆ์ง€๋ง‰ ๋ฏธ์…˜, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํ˜‘์—… ๋ฏธ์…˜์ด๋‹ค! ํ”„๋ก ํŠธ ํฌ๋ฃจ๋ถ„๋“ค์ด๋ž‘๋„ ํ•จ๊ป˜ ํ•  ์ˆ˜ ์žˆ์—ˆ์–ด์„œ ๋„ˆ๋ฌด ์žฌ๋ฐŒ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค ๐Ÿ˜Š ์ด๋ฒˆ ๋ฏธ์…˜์€ ์ €๋ฒˆ์— ์ง„ํ–‰ํ–ˆ๋˜ ๋ฏธ์…˜์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•˜๋‹ค ๋ณด๋‹ˆ๊นŒ ์ฝ”๋“œ์ ์ธ ๋ถ€๋ถ„๋ณด๋‹ค, ๋ฐฐํฌ ์ชฝ์„ ๋” ์‹ ๊ฒฝ์ผ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋งˆ์ง€๋ง‰ ๋ฏธ์…˜์ธ ๋งŒํผ ์ •๋ง ๋งŽ์ด ๋ฐฐ์› ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค ใ…Žใ…Ž โœ”๏ธ ์ž‘์„ฑํ•œ ์ฝ”๋“œ GitHub - Cl8D/jwp-shopping-order: ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ๋ ˆ๋ฒจ 2 ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํ˜‘์—… ๋ฏธ์…˜ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค ๋ ˆ๋ฒจ 2 ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํ˜‘์—… ๋ฏธ์…˜ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ. Contribute to Cl8D/jwp-shopping-order development by creating an account on GitHub. github.com โœ”๏ธ PR [2๋‹จ๊ณ„ - ์ฃผ๋ฌธ ๊ธฐ๋Šฅ..

[Real MySQL 8.0] InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ์•Œ์•„๋ณด๊ธฐ - 3ํŽธ (Buffer Pool - on disk structures)

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” InnoDB์˜ ์ „๋ฐ˜์ ์ธ ์•„ํ‚คํ…์ฒ˜ ์ค‘์—์„œ ๋””์Šคํฌ ์˜์—ญ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€๊ณ ์ž ํ•œ๋‹ค. ๐ŸŒฑ Tablespaceํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํฐ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„์ด๋ฉฐ, Segment -> Extent -> Page -> Row์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. MySQL์—์„œ ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค๋Š” ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ์„œ 5๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๊ฐ€๋Šฅํ•œ๋ฐ, ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. - System tablespace - File-Per-Table tablespace - General Tablespace - Temporary Tablespace - Undo Tablespace ๐ŸŒฑ System tablespaceSystem tablespace์˜ ๊ฒฝ์šฐ My..

๐Ÿ“–/Real MySQL 8.0 2023. 6. 15. 13:52
[Real MySQL 8.0] InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ์•Œ์•„๋ณด๊ธฐ - 2ํŽธ (Buffer Pool - in memory structures)

๐ŸŒฑ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” InnoDB์˜ ์ „๋ฐ˜์ ์ธ ์•„ํ‚คํ…์ฒ˜ ์ค‘์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ์ƒ๋‹นํžˆ ๋ณต์žกํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๋žต์ ์ธ ๋‚ด์šฉ๋งŒ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋„ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๐ŸŒฑ InnoDB ๋ฒ„ํผ ํ’€ (Buffer Pool)์œ„ ๊ทธ๋ฆผ์€ MySQL 8.0 ๊ธฐ์ค€ InnoDB ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ฆผ์ด๋‹ค. ์ด์ค‘์—์„œ ๋ฒ„ํผ ํ’€์˜ ๊ฒฝ์šฐ InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๋ถ€๋ถ„์ด๋‹ค. ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ, ์ธ๋ฑ์Šค ์ •๋ณด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹œ๋„ ํ•ด๋‘˜ ์ˆ˜ ์žˆ๊ณ , ์“ฐ๊ธฐ ์ž‘์—…์„ ์ง€์—ฐ์‹œ์ผœ์„œ ์ผ๊ด„ ์ฒ˜๋ฆฌ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.๐Ÿ’ก ๊ทธ๋ ‡๋‹ค๋ฉด ํฌ๊ธฐ๋Š” ์–ด๋Š ์ •๋„๋กœ ์„ค์ •ํ•ด์•ผ ํ• ๊นŒ? ๋ณดํ†ต OS ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด 8๊ธฐ๊ฐ€ ์ดํ•˜๋ผ๋ฉด 50% ์ •๋„๋งŒ ๋ฒ„ํผ ํ’€๋กœ ์„ค์ •ํ•˜๊ณ , ๋‚˜๋จธ์ง€๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•  ๊ณต๊ฐ„์œผ๋กœ ๋‚จ๊ฒจ๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋งŒ์•ฝ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋” ..

๐Ÿ“–/Real MySQL 8.0 2023. 6. 14. 21:48
[Real MySQL 8.0] InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ์•Œ์•„๋ณด๊ธฐ - 1ํŽธ (ํด๋Ÿฌ์Šคํ„ฐ๋ง / ์™ธ๋ž˜ํ‚ค / MVCC)

๐ŸŒฑ InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ์•„ํ‚คํ…์ฒ˜MySQL์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์ธ 'InnoDB'์— ๋Œ€ํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์•Œ์•„๋ณด์ž.๊ทธ๋ฆผ์ด ๋ณต์žกํ•˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ์™ผ์ชฝ์€ ์ด์ „์— ๋ดค๋˜ MySQL ์—”์ง„์ด๊ณ , ์˜ค๋ฅธ์ชฝ์ด InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ ๊ตฌ์„ฑ๋„์ด๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” innoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์˜ ํŠน์ง•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. 1. PK์— ์˜ํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋ง๊ธฐ๋ณธ์ ์œผ๋กœ InnoDB์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์€ PK๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง๋˜์–ด ์ €์žฅ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ง๋œ๋‹ค๋Š” ๊ฒƒ์€, PK ๊ฐ’์ด ๋น„์Šทํ•œ ๋ ˆ์ฝ”๋“œ๋ผ๋ฆฌ ๋ฌถ์–ด์„œ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. PK ๊ฐ’์ด ๋ ˆ์ฝ”๋“œ์˜ ์ €์žฅ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ ์ค‘ํ•˜๊ฒŒ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ DBMS์—์„œ ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค์˜ ๋ฆฌํ”„ ๋…ธ๋“œ์—๋Š” ๋ฐ์ดํ„ฐ์˜ ์‹ค์งˆ์ ์ธ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๋“ค์–ด๊ฐ€์„œ, ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๋ฐ์ด..

๐Ÿ“–/Real MySQL 8.0 2023. 6. 11. 16:32