์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

200์–ต๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ MySQL๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•  ๋•Œ ๊ณ ๋ คํ–ˆ๋˜ ๊ฐœ๋…๊ณผ ํŠœ๋‹ ๋ฐฉ๋ฒ•

๊ธฐ์กด MongoDB๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๋Š” 200์–ต๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ MySQL๋กœ ์ด์ „์„ ํ•˜๋ฉด์„œ ๊ณ ๋ คํ–ˆ๋˜ ๊ฐœ๋…๋“ค์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐฑ์—”๋“œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • MySQL ์‚ฌ์šฉ์‹œ์— ์ฃผ์˜ ํ•ด์•ผ ํ•  ์ 

  • MySQL์˜ ์ฟผ๋ฆฌ ์ž‘์„ฑ

  • MySQL์˜ ๋‹ค์–‘ํ•œ ์ œ์•ฝ ์กฐ๊ฑด

  • MySQL์˜ Lock

200์–ต๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ• ๊นŒ์š”?? ๐Ÿค”

์ €๋Š” ์ตœ๊ทผ ์‹ค๋ฌด์—์„œ MongoDB์— ์žˆ๋Š” 200์–ต๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ MySQL๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ง„ํ–‰์„ ํ•˜์˜€๊ณ  ์ด๋กœ์ธํ•ด ๋น„์šฉ ์ ˆ๊ฐ ๋ฐ ์ •๊ทœํ™”๋ฅผ ๋‹ฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด ์ •๋‹ต์€ ์—†์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ง„ํ–‰์ด ๋˜์—ˆ๋Š”์ง€ ๋” ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ์œ ๋ฌด๋ฅผ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋–„๋ฌธ์ด์ฃ .

ํ•˜์ง€๋งŒ ์ •์ƒ์ ์œผ๋กœ ๋ฌด์ค‘๋‹จ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌ ํ•˜์˜€๊ณ  ์ด๋Ÿฌํ•œ ๊ณผ์ •์—์„œ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๊ณ ๋ คํ–ˆ๋˜ ๋ถ€๋ถ„๊ณผ ์ฃผ์˜ํ–ˆ๋˜ ๋ถ€๋ถ„์„ ๊ณต์œ ๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด์„œ ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ DB์— ๋Œ€ํ•œ ๋งค๋ ฅ๊ณผ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ๊ณ ๋ฏผ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๊ฐ€์…จ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜์˜ ํŠน์ง•

๐Ÿ“Œ 100% ์ œ๊ฐ€ ๊ฒฝํ—˜ํ–ˆ๋˜ ๋ถ€๋ถ„์„ ์ฃผ์ œ๋กœ ์‚ผ๊ณ  ์žˆ์–ด์š”.

๐Ÿ“Œ ์ œ๊ฐ€ ๊ฒฝํ—˜ํ–ˆ๋˜ ๋ถ€๋ถ„์— ์ถ”๊ฐ€์ ์œผ๋กœ ์ œ๊ฐ€ ์•Œ๋ ค๋“œ๋ฆฌ๊ณ  ์‹ถ์€ ๋ถ€๋ถ„์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์š”.

๐Ÿ“Œ ๊ฐœ์ธ์ ์ธ ์„ค๋ช…์ด ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ์ œ๊ฐ€ ๋”ฐ๋กœ ์•Œ์•„๋ณด๊ณ  ์•Œ๋ ค๋“œ๋ ค์š”.

๐Ÿ“Œ ์‹ค์ œ ์‹ค๋ฌด์—์„œ ์žˆ์—ˆ๋˜ ๊ฒฝํ—˜์„ ์•Œ๋ ค๋“œ๋ ค์š”.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š”

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

DB๊ทธ๋ƒฅ ์ฟผ๋ฆฌ๋งŒ ์ž‘์„ฑํ•˜๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€์š”??

DB ์—”์ง€๋‹ˆ์–ด
์ด๋Ÿฐ๊ฒƒ๋“ค์„ ์•Œ๋ ค์ฃผ๊ณ  ๊ณต์œ ํ•˜๊ณ  ์‹ถ์–ด์š”.

์ทจ์—… ์ค€๋น„์ƒ
๊ฐœ๋ฐœ์ž๋กœ ์ทจ์—…์„ ์ค€๋น„ํ•ด์•ผํ•˜๋Š”๋ฐ RDB๊ฐ€ ๊ถ๊ธˆํ•ด์š”.

๊ฐ•์˜์—์„œ๋Š” ์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์–ด์š”. ๐Ÿค”

  1. Multi-Column Index [ ๋ณตํ•ฉ ์ธ๋ฑ์Šค ]

  2. Explain Query [ ์ฟผ๋ฆฌ ๋ถ„์„ ]

  3. Covering Index [ ์ธ๋ฑ์Šค ์ตœ์ ํ™” ]

  4. RDB vs ElasticSearch [ ์ƒ‰์ธ๊ณผ ์—ญ์ƒ‰์ธ ]

  5. ORDER BY [ ์ •๋ ฌ ์ตœ์ ํ™” ]

  6. INSERT [ ์‚ฝ์ž… ์ตœ์ ํ™” ]

  7. AUTO_INCREMENT LOCK [ AUTO_INCREMENT Lock ]

  8. Index Dive [ ์ฟผ๋ฆฌ ๊ณ„ํš ์ˆ˜๋ฆฝ ์ตœ์ ํ™” ]

  9. Prefix Index [ ์ธ๋ฑ์Šค ๊ฒฝ๋Ÿ‰ํ™” ]

  10. MySQL Lock [ MySQL์˜ ์ •ํ•ฉ์„ฑ๊ณผ ๋™์‹œ์„ฑ ]

  11. DeadLock [ ์ผ€์ด์Šค ๋ถ„์„์„ ํ†ตํ•œ DeadLock ์ดํ•ด ]

  12. No OFFSET [ ์ฟผ๋ฆฌ ํŠœ๋‹ ]

  13. Skip Locked [ Session ๊ด€๋ฆฌ ]

์ด ๊ฐ•์˜๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ

์Šคํƒ€ํŠธ์—…๋ถ€ํ„ฐ ๋ฉ”ํƒ€๋ฒ„์Šค ๋ฐ ํ”Œ๋žซํผ ์„œ๋น„์Šค ๊ฐœ๋ฐœ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜์„ ํ•˜์˜€๊ณ  ์ตœ๊ทผ๊นŒ์ง€ 200์–ต๊ฑด์˜ MongoDB๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋˜ ์„œ๋น„์Šค๋ฅผ MySQL๋กœ ์ด์ „ํ•˜์˜€๊ณ  ์ด์ œ๋Š” 200์–ต๊ฑด์˜ MySQL ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ํ”Œ๋žซํผ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ๊ฐ•์˜๋Š” MacOS ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. MySQL Workbench๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ ์„ค์น˜ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์€ ๊ฐ•์˜ ๐Ÿ’


ํ•ด๋‹น ๊ฐ•์˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ MySQL์— ์ง‘์ค‘์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ œ๊ฐ€ ๊ฒฝํ—˜ํ–ˆ๋˜ ๋ชจ๋“  ํšŒ์‚ฌ๋“ค์€ ํ•˜๋‚˜์˜ DB๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

  • ๋ฌผ๋ก  ์Šคํƒ€ํŠธ์—…์˜ ๊ฒฝ์šฐ์—๋Š” ํ•˜๋‚˜์˜ DB๋กœ ๊ตฌ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค.


์ƒํ™ฉ์ด๋‚˜ ๋ ˆ๊ฑฐ์‹œ ๋ฐ ํ™˜๊ฒฝ์— ๋งž์ถฐ์„œ ๋‹ค์–‘ํ•œ DB๋ฅผ ์„ ์ •ํ•˜์—ฌ ํ™œ์šฉ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‹ˆ MySQL๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•˜์‹ค ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ์„ ํ•ฉ๋‹ˆ๋‹ค.


๋งŒ์•ฝ NoSQL์˜ ๋Œ€ํ‘œ์ฃผ์ž์ธ MongoDB์— ๋Œ€ํ•ด์„œ ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์•„๋ž˜์— ์žˆ๋Š” ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ๋งŽ์€ ๋„์›€์ด ๋˜์‹ค ๊ฒ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • DB๋ฅผ ์ฒ˜์Œ ํ•˜์‹œ๋Š” ๋ถ„

  • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ค๊ณ„๊ฐ€ ๊ถ๊ธˆํ•˜์‹  ๋ถ„

  • MySQL์˜ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„

์•ˆ๋…•ํ•˜์„ธ์š”
July์ž…๋‹ˆ๋‹ค.

2,981

๋ช…

์ˆ˜๊ฐ•์ƒ

128

๊ฐœ

์ˆ˜๊ฐ•ํ‰

81

๊ฐœ

๋‹ต๋ณ€

4.5

์ 

๊ฐ•์˜ ํ‰์ 

15

๊ฐœ

๊ฐ•์˜

์ž๊ธฐ ์†Œ๊ฐœ

๋น„์ „๊ณต์ž ์ถœ์‹ ์œผ๋กœ ํŒ๊ต์—์„œ ํ”Œ๋žซํผ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ๋‹ด๋‹นํ•˜์—ฌ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ตœ์ ํ™”์™€ ๋‹ค์–‘ํ•œ ์ฟผ๋ฆฌ ํŠœ๋‹์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.

 

๊ฒฝ๋ ฅ

[ๅ‰] ์ƒŒ๋“œ๋ฐ•์Šค ๋ธ”๋ก์ฒด์ธ ๊ฐœ๋ฐœ์ž

[ๅ‰] ๋„ฅ์Šจ ์žํšŒ์‚ฌ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

[ๅ‰] ํŒ๊ต ๋Œ€๊ธฐ์—… ํ”Œ๋žซํผ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž

[็พ] ํŒ๊ต ๋ชจํšŒ์‚ฌ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

13๊ฐœ โˆ™ (2์‹œ๊ฐ„ 6๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

18๊ฐœ

4.3

18๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰