์คํ๋ง MVC 2ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํ์ฉ ๊ธฐ์
์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ํ์ํ ๋ชจ๋ ์น ๊ธฐ์ ์ ๊ธฐ์ด๋ถํฐ ์ดํดํ๊ณ , ์์ฑํ ์ ์์ต๋๋ค. MVC 2ํธ์์๋ MVC 1ํธ์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ ์์ ์ค๋ฌด ์น ๊ฐ๋ฐ์ ํ์ํ ๋ชจ๋ ํ์ฉ ๊ธฐ์ ๋ค์ ํ์ตํ ์ ์์ต๋๋ค.
์๊ฐ์ 26,136๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ


์๋ ํ์ธ์. ๊น์ํ์ ๋๋ค.
๋๋์ด 7๋ ์ ์ฒ์ ๋ชฉํ๋ก ํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ ์ฒด ๋ก๋๋งต์ด ์์ฑ๋์์ต๋๋ค.
์ ์ฒด ๋ก๋๋งต ์์ฑ๊ณผ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค๋ฅผ ๋ค์ ์ด์ด๋ฌ๋ผ๋ ๋ง์ ๋ถ๋ค์ ์์ฒญ์ ๋ฐ๋ผ ๊น์ํ์ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค๋ฅผ ๊ธฐ๊ฐ ํ์ ์ผ๋ก ์๊ฐํฉ๋๋ค.
๋งํฌ: https://inf.run/uixFt
์ค๋ ์ถ์ํ ใ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ฑ๋ฅ ์ต์ ํใ ๊ฐ์๋ฅผ ๋ง์ง๋ง์ผ๋ก, ์ค์ ์๋ฐ๋ถํฐ ์คํ๋ง, JPA, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ฑ๋ฅ ์ต์ ํ๊น์ง ์ด์ด์ง๋ ๋ชจ๋ ๋ก๋๋งต์ ์์ฑํ์ต๋๋ค.
์ฒซ ๊ฐ์๋ฅผ ์์ํ ๋ค ์ฌ๊ธฐ๊น์ง ์ค๋ ๋ฐ 7๋ ์ด ๊ฑธ๋ ธ์ต๋๋ค.
์ ์ ํจ๊ป ๊ธด ์๊ฐ ๋์ ํจ๊ปํด ์ฃผ์ ์ฌ๋ฌ๋ถ๊ป ์ง์ฌ์ผ๋ก ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
7๋ ์ ๋์ฅ์ , ๊ทธ๋ฆฌ๊ณ ์์ฑ
์ฒ์ ๊ฐ์๋ฅผ ์์ํ ๋ ํ ๊ฐ์ง ๋ชฉํ๊ฐ ์์์ต๋๋ค.
์ค๋ฌด์์ ๋ง๋ ์๋ง์ ์ ์ , ์ฃผ๋์ด, ์๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ ๋ ์ฌ๋ฆฌ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ์ ๋๋ก ์ฑ์ฅํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ค์ ๊ธฐ์ ์ ํ๋์ ํฐ ๋ก๋๋งต์ผ๋ก ์์ฑํ๊ฒ ๋ค๋ ๋ชฉํ์์ต๋๋ค.
๋จ์ํ ํน์ ๊ธฐ์ ํ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐ ๊ทธ์น์ง ์๊ณ ,
์๋ฐ์ ๊ฐ์ฒด์งํฅ์ ๊ธฐ๋ณธ๊ธฐ
์คํ๋ง์ ํต์ฌ ์๋ฆฌ
์คํ๋ง ๋ถํธ์ JPA๋ฅผ ํ์ฉํ ์ค๋ฌด ๊ฐ๋ฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ
๋์ฉ๋ ๋ฐ์ดํฐ์ ์ฑ๋ฅ ์ต์ ํ
๊น์ง ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ์ฑ์ฅํ๋ฉด์ ๋ฐ๋์ ๋ง๋๊ฒ ๋๋ ์ฃผ์ ๋ค์ ๋น ์ง์์ด ๋ด๊ณ ์ถ์์ต๋๋ค.
์ ์ ์์ ์ฃผ๋์ด๋ก, ์ฃผ๋์ด์์ ์๋์ด๋ก ์ฑ์ฅํ๊ธฐ๊น์ง ํ์ํ ์ ์ฒด ๊ณผ์ ์ ์ ๋๋ก ๋ง๋ค์ด๋ณด๊ฒ ๋ค๋ ๋ชฉํ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ 7๋ ์ด ์ง๋ ์ง๊ธ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ ๊ฐ์๋ฅผ ๋์ผ๋ก ์ฒ์ ์๊ฐํ๋ ์ ์ฒด ๋ก๋๋งต์ด ๋ง์นจ๋ด ์์ฑ๋์์ต๋๋ค.
๋์๋ณด๋ฉด ์ฐธ ๊ธด ์ฌ์ ์ด์์ต๋๋ค.
๊ฐ์๋ฅผ ๋ง๋ค๋ฉด์ ์์์ด ๋ค์ ์ดฌ์ํ๊ณ , ๋ ์ข์ ์ค๋ช ์ ๊ณ ๋ฏผํ๊ณ , ์ค๋ฌด์ ๊ผญ ํ์ํ ๋ด์ฉ๋ง ๋ด๊ธฐ ์ํด ์ ์์ด ๊ณ ๋ฏผํ๊ณ ๊ฒ์ฆํ์ต๋๋ค.
์์งํ ์ด๋ฉด์ ๋ฌด์ธ๊ฐ๋ฅผ ์ด๋ ๊ฒ ์ค๋ ์ ์งํ๋ค๋ ๊ฒ์ ์ฌ์ด ์ผ์ด ์๋๋๋ค. ์ ์ญ์ ์์์ด ์ฌ๋ผํ์ ๋น ์ง๊ณ , ์๊ฐ์๊ฐ ์ง์น๊ณ ํ๋ ์๊ฐ์ ๊ฒช์์ต๋๋ค. ํ์ฌ์์ ์ ์ ์์ด ์ผํ๊ณ ๋์์์ ๋ น์ด๊ฐ ๋ ์ํ๋ก ์ ๋ ๋ฆ๊ฒ ๊ฐ์๋ฅผ ์ฐ๋ ๋ ๋ค๋ ๋ง์์ต๋๋ค.
์๊ฐํด๋ณด๋ฉด ๊ทธ๋ฐ ์๊ฐ๋ง๋ค ์ ๋ฅผ ๋ค์ ์ผ์ผ์ผ ์ธ์ด ๊ฒ์ ์ฌ๋ฌ๋ถ์ด ๋จ๊ฒจ์ฃผ์ ์์ ์๊ฐํ ํ๋ํ๋์์ต๋๋ค. ๊ฐ์๋ฅผ ๋ค์ด์ฃผ์๊ณ , ์์ํด ์ฃผ์๊ณ , ๋ ์ด์ฌํ ๊ณต๋ถํด์ ๋ณธ์ธ์ด ์ํ๋ ํ์ฌ๋ก ์ด์งํ ์ฑ์ฅ์ ์ด์ผ๊ธฐ๋ฅผ ์ ํด์ฃผ์ ๊ทธ ๋ชจ๋ ๋ฉ์์ง๋ค์ด ์ ์๊ฒ๋ ์ ๋ง ํฐ ํ์ด ๋์์ต๋๋ค. ๊ทธ๋ ๊ฒ ์์ธ ์์ ์์๋ค์ด ๊ฒฐ๊ตญ ์ด ๊ธด ์ฌ์ ์ ๋๊น์ง ์ด์ด์ฌ ์ ์๊ฒ ํด์ค ๊ฐ์ฅ ํฐ ์ด์ ์์ต๋๋ค. ์๊ฐํ ํ๋ํ๋๋ฅผ ๋ณผ ๋ ๋ง๋ค, ๋ ์ง๋๊ฐ๋ฉด์ ์ ๋ฅผ ์์๋ณด์๊ณ ๋ฐ๊ฐ๊ฒ ๊ฑด๋ด์ฃผ์๋ ์์ ์ธ์ฌ ํ๋๊ฐ ์ ๊ฐ ํ๋ ์ผ์ด ๊ทธ๋๋ ๋๊ตฐ๊ฐ์๊ฒ๋ ๋์์ด ๋๋ ์ผ์ด๊ตฌ๋ ์๊ฐํ๋ฉฐ ํ์ ์ป๊ฒ ๋์์ต๋๋ค.
๋์ด์ผ๋ณด๋ฉด ์ด ๋ชจ๋ ๊ณผ์ ์ ๊ฒฐ์ฝ ํผ์ ๋ง๋ ์๊ฐ์ด ์๋์์ต๋๋ค. ์ฌ๋ฌ๋ถ๊ณผ ํจ๊ป ๋ง๋ค์ด์จ ์๊ฐ์ด์๊ณ , ํจ๊ป ์์ฑํด์จ ์ฌ์ ์ด์์ต๋๋ค.
์ง์ฌ์ผ๋ก ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค ๊ธฐ๊ฐ ํ์ ์ถ์
์ ์ฒด ๋ก๋๋งต ์์ฑ๊ณผ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค๋ฅผ ๋ค์ ์ด์ด๋ฌ๋ผ๋ ๋ง์ ๋ถ๋ค์ ์์ฒญ์ ๋ฐ๋ผ ๊น์ํ์ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค๋ฅผ ๊ธฐ๊ฐ ํ์ ์ผ๋ก ์๊ฐํฉ๋๋ค.
๋งํฌ: https://inf.run/uixFt
์ด๋ฒ ๋ง์คํฐ ํจ์ค๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๊ธฐ์ด๋ถํฐ ์ค๋ฌด, ๊ทธ๋ฆฌ๊ณ ์๋์ด ๊ฐ๋ฐ์๊ฐ ๊ณ ๋ฏผํด์ผ ํ๋ ์ค๊ณ์ ์ฑ๋ฅ ์ต์ ํ๊น์ง ๋ชจ๋ ์ด์ด์ง๋ ์ ์ฒด ๋ก๋๋งต์ ๋๋ค.
ํจ์ค ์ํ ๊ตฌ์ฑ โ 4๊ฐ์ ํต์ฌ ๋ก๋๋งต ํตํฉ
๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค์๋ ๋ค์ 4๊ฐ์ ์ ์ฒด ๋ก๋๋งต์ด ํฌํจ๋ฉ๋๋ค.
๊น์ํ์ ์ค์ ์๋ฐ ๋ก๋๋งต
๊น์ํ์ ์คํ๋ง ์์ ์ ๋ณต ๋ก๋๋งต
๊น์ํ์ ์คํ๋ง ๋ถํธ์ JPA ์ค๋ฌด ์์ ์ ๋ณต ๋ก๋๋งต
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต
์๋ฐ์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ๊ณผ ๊ฐ์ฒด์งํฅ๋ถํฐ ์์ํด์ ์คํ๋ง, JPA, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ฑ๋ฅ ์ต์ ํ๊น์ง ํ๋์ ํ๋ฆ์ผ๋ก ํ์ตํ ์ ์์ต๋๋ค.
ํนํ ์ด๋ฒ์๋ ๋ง์ง๋ง ํผ์ฆ์ด์๋ ใ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ฑ๋ฅ ์ต์ ํใ ๊ฐ์๊น์ง ์ ์์ผ๋ก ํฌํจ๋๋ฉด์ ๋ฐฑ์๋ ๋ง์คํฐ ์ ์ฒด ๋ก๋๋งต์ด ์์ฑ๋์์ต๋๋ค.
๋ง์ง๋ง ํผ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ
์๋น์ค๊ฐ ์ฑ์ฅํ๊ณ ๋ฐ์ดํฐ๊ฐ ์์ด๊ธฐ ์์ํ๋ฉด ๊ฒฐ๊ตญ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ๋ง๋๊ฒ ๋ฉ๋๋ค.
๊ฐ๋ฐํ ๋๋ ์ ๋์ํ๋ ์ฟผ๋ฆฌ๊ฐ ์ด์ ํ๊ฒฝ์์ ๊ฐ์๊ธฐ ๋๋ ค์ง๊ณ , ๋จ์ํ ์กฐํ ํ๋๊ฐ ์๋น์ค ์ ์ฒด์ ๋ณ๋ชฉ์ด๋ ์ฅ์ ๋ก ์ด์ด์ง๊ธฐ๋ ํฉ๋๋ค.
์ด๋ ํ์ํ ๊ฒ์ ๋จ์ํ ์ธ๋ฑ์ค๋ฅผ ๋ช ๊ฐ ์ถ๊ฐํ๋ ์๋ น์ด ์๋๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ๊ณ ์กฐํํ๋์ง, ์คํ ๊ณํ์ ์ด๋ป๊ฒ ๋ถ์ํด์ผ ํ๋์ง, ์ตํฐ๋ง์ด์ ๊ฐ ์ ํน์ ์ธ๋ฑ์ค์ ์กฐ์ธ ์์๋ฅผ ์ ํํ๋์ง ์ดํดํด์ผ ํฉ๋๋ค.
์ด๋ฒ ์ฑ๋ฅ ์ต์ ํ ๊ฐ์์์๋ ๋ค์ ๋ด์ฉ์ ๋ค๋ฃน๋๋ค.
EXPLAIN๊ณผ EXPLAIN ANALYZE๋ฅผ ํตํ ์คํ ๊ณํ ๋ถ์
B+Tree์ ์ธ๋ฑ์ค ๋ด๋ถ ๊ตฌ์กฐ
ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค์ ์ธ์ปจ๋๋ฆฌ ์ธ๋ฑ์ค
๋ณตํฉ ์ธ๋ฑ์ค ์ค๊ณ ์๋ฆฌ
Using filesort ์ง๋จ๊ณผ ์ต์ ํ
ICP, ์ปค๋ฒ๋ง ์ธ๋ฑ์ค, ์คํต ์ค์บ
์ตํฐ๋ง์ด์ ์ ํ์คํ ๊ทธ๋จ
์กฐ์ธ๊ณผ ๋๋ค ์ก์ธ์ค ์ต์ ํ
์ ๋ ฌ, ํ์ด์ง, ๊ทธ๋ฃนํ ์ฑ๋ฅ ๊ฐ์
์ฌ์ ์ง๊ณ ํ ์ด๋ธ์ ํ์ฉํ ๋์ฉ๋ ํต๊ณ ์ฒ๋ฆฌ
์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋์ด, ์๋น์ค๊ฐ ์ฑ์ฅํ์ ๋ ๋ฐ์ํ๋ ์ฑ๋ฅ ๋ฌธ์ ๊น์ง ์ง์ ๋ถ์ํ๊ณ ํด๊ฒฐํ ์ ์๋ ์ ์ฒด ๊ณผ์ ์ด ์์ฑ๋์์ต๋๋ค.
AI ์๋, ์ ์ ์ฒด ๋ก๋๋งต์ด ํ์ํ๊ฐ
AI๊ฐ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋ ์๋๊ฐ ๋๋ฉด์ ๊ฐ๋ฐ์์ ๊ธฐ๋ณธ๊ธฐ๋ ์คํ๋ ค ๋ ์ค์ํด์ง๊ณ ์์ต๋๋ค.
AI๋ ๊ฐ๋ฐ์์ ๋ฅ๋ ฅ์ ๋์ฒดํ๋ ๋๊ตฌ๊ฐ ์๋๋ผ ์ฆํญํ๋ ๋๊ตฌ์ ๋๋ค.
๊ธฐ๋ณธ๊ธฐ๊ฐ ํํํ ๊ฐ๋ฐ์๋ AI์๊ฒ ๋ ์ข์ ์ง๋ฌธ์ ํ ์ ์๊ณ , AI๊ฐ ๋ง๋ ๊ฒฐ๊ณผ๊ฐ ์ฌ๋ฐ๋ฅธ์ง ๊ฒ์ฆํ ์ ์์ต๋๋ค.
๋ฐ๋๋ก ๊ธฐ๋ณธ๊ธฐ๊ฐ ๋ถ์กฑํ๋ฉด ์ฝ๋๊ฐ ๊ฒ์ผ๋ก ๋์ํ๋๋ผ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๊ธฐ ์ด๋ ต์ต๋๋ค.
๊ฐ์ฒด์งํฅ ์ค๊ณ๊ฐ ๋ฌด๋์ง ์ฝ๋
์ ์ง๋ณด์๊ฐ ์ด๋ ค์ด ๊ตฌ์กฐ
์๋ชป๋ ํธ๋์ญ์ ์ฒ๋ฆฌ
๋นํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ๊ทผ
์ด์ ํ๊ฒฝ์์ ์ฅ์ ๋ฅผ ์ผ์ผํค๋ ์ฟผ๋ฆฌ
๋ฐ์ดํฐ๊ฐ ์ฆ๊ฐํ ์๋ก ๋๋ ค์ง๋ ์ค๊ณ
AI ๊ธฐ์ ๊ณผ ๋๊ตฌ๋ ๊ณ์ ๋ณํ๊ฒ ์ง๋ง, ์ข์ ์ฝ๋์ ๋์ ์ฝ๋๋ฅผ ๊ตฌ๋ถํ๋ ๋, ๊ฐ์ฒด์งํฅ์ ์๋ฆฌ, HTTP์ ์น์ ๋์ ๋ฐฉ์, ํธ๋์ญ์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ฑ๋ฅ ์ต์ ํ ๊ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ ๋ณํ์ง ์์ต๋๋ค.
์์์ผ ์ง๋ฌธํ ์ ์๊ณ , ์์์ผ ๊ฒ์ฆํ ์ ์์ผ๋ฉฐ, ์์์ผ ๋ ๋์ ๊ฒฐ๊ณผ๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ด๋ฒ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค์๋ ๋ฐ๋ก ๊ทธ ๋ณํ์ง ์๋ ๋ณธ์ง์ ๋ด์์ต๋๋ค.
์ง์์ ์ธ ๊ฐ์ ๋ฆฌ๋ด์ผ
์ ์ฒด ๋ก๋๋งต์ ์์ฑ๋์์ง๋ง ๊ฐ์ ์ ์์ด ๋๋ ๊ฒ์ ์๋๋๋ค.
์์ผ๋ก๋ ๊ธฐ์ ๋ณํ์ ์ค๋ฌด ํ๊ฒฝ์ ๋ง์ถฐ ๊ธฐ์กด ๊ฐ์๋ฅผ ์ง์์ ์ผ๋ก ๋ฆฌ๋ด์ผํ ์์ ์ ๋๋ค.
ํ์์ ๋ฐ๋ผ ์ ์ฒด ์์ ๋ฆฌ๋ด์ผ, ๋ถ๋ถ ์์ ๋ฆฌ๋ด์ผ, ๋งค๋ด์ผ๊ณผ ์์ ํ๋ก์ ํธ ์ ๋ฐ์ดํธ ๋ฑ์ ์งํํ๊ฒ ์ต๋๋ค.
๋ง์คํฐ ํจ์ค๋ฅผ ๊ตฌ๋งคํ์ ๋ถ๋ค์ ์ดํ ๊ฐ์๊ฐ ๋ฆฌ๋ด์ผ๋๊ฑฐ๋ ๊ฐ๊ฒฉ์ด ๋ณ๊ฒฝ๋๋๋ผ๋ ์ถ๊ฐ ๋น์ฉ ์์ด ์ ๋ฐ์ดํธ๋ ๋ด์ฉ์ ๊ณ์ ํ์ตํ ์ ์์ต๋๋ค.
์ ๋ฅผ ๋ฏฟ๊ณ ์ ํํด ์ฃผ์ ๋ถ๋ค์ ๋ํ ์ต์ํ์ ์์์ด์ ์ฝ์์ ๋๋ค.
๋ง์ง๋ง์ผ๋ก
์ด ํจ์ค๋ ๋จ์ํ ์ฌ๋ฌ ๊ฐ์๋ฅผ ๋ฌถ์ ์ํ์ด ์๋๋๋ค.
์ ๊ฐ ์ค๋ ์๊ฐ ์ค๋ฌด์์ ๋ฐฐ์ฐ๊ณ , ์คํจํ๊ณ , ๊ณ ๋ฏผํ๋ ๋ด์ฉ์ ํ๋์ ์ฑ์ฅ ๊ณผ์ ์ผ๋ก ์ ๋ฆฌํ ๊ฒฐ๊ณผ๋ฌผ์ ๋๋ค.
์ฌ๋ฌ๋ถ์ด ์ ์ ์ ๋์ด ์ฃผ๋์ด๋ก, ์ฃผ๋์ด๋ฅผ ๋์ด ์๋์ด๋ก ์ฑ์ฅํ๊ณ , ๊ฒฐ๊ตญ ์ฃผ๋ณ ๋๋ฃ๋ค์ด ์ง์ฌ์ผ๋ก ํจ๊ป ์ผํ๊ณ ์ถ์ด ํ๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ๊ทธ๋ ๊น์ง ๋ ๋ ํ ๊ฐ์ด๋๊ฐ ๋์ด๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์. ์ฌ๋ฌ๋ถ
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ ๊ฐ์๊ฐ ๋๋์ด ์คํํ์ต๋๋ค.
์คํ ๊ธฐ๋ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต์ 30% ํ ์ธํ๊ณ ์์ต๋๋ค ๐
์ ๋ชฉ: ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ฑ๋ฅ ์ต์ ํ, ์คํ ๊ณํ๊ณผ ์ธ๋ฑ์ค ์์ ์ ๋ณต
๊ฐ์ ์: 104๊ฐ
๊ฐ์ ์๊ฐ: 21์๊ฐ 10๋ถ
๋งํฌ: https://inf.run/Gcg6N
๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต์ ํฌํจํ ๋ฐฑ์๋ ๋ก๋๋งต์ ์ ์ฒด ๊ฐ์ ์๋ฃ ๊ธฐ๋ ์ผ๋ก ๊น์ํ์ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค๋ฅผ ๊ธฐ๊ฐ ํ์ ์ผ๋ก ์๊ฐํฉ๋๋ค.
๋ง์คํฐ ํจ์ค ๋งํฌ: https://inf.run/uixFt
<๊ฐ์ ํน์ง>
์ด๋ฒ ๊ฐ์์ ๊ฐ์ฅ ์ค์ํ ํน์ง์ ์ค๋ฌด์ ๊ฐ๊น์ด ์ค์ ์๋ฐฑ๋ง~์ฒ๋ง ๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ ๋ค์์ ์ ์ ํจ๊ป ํ๋์ฉ ํ๋ํด๋๊ฐ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ ์ด์ฉ ๊ฑธ๋ฆฌ๋ ์ฟผ๋ฆฌ๋ฅผ 0.01์ด ๋จ์์ ๊ทนํ์ผ๋ก ์ต์ ํํ๋ ์ค์ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ๋๋ค.
<๊ฐ์ ๋ด์ฉ>
๊ฐ๋ฐํ ๋๋ ์ ๋์ํ๋ ์ฟผ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๊ฐ ์์ด๋ฉด์ ๊ฐ์๊ธฐ ๋๋ ค์ง๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์ฒ์์๋ 0.1์ด ๋ง์ ์คํ๋๋ ์ฟผ๋ฆฌ๊ฐ ์ด๋ ์๊ฐ 1์ด, 10์ด๋ฅผ ๋์ด๊ฐ๊ณ , ์ฌํ ๊ฒฝ์ฐ ์๋น์ค ์ฅ์ ๋ก ์ด์ด์ง๊ธฐ๋ ํฉ๋๋ค.
์ด๋ฐ ์ํฉ์์ ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ณ ๋ฏผ์ ํ๊ฒ ๋ฉ๋๋ค.
์ฟผ๋ฆฌ๊ฐ ๋๋ฆฐ ์์ธ์ ์ด๋์๋ถํฐ ์ฐพ์์ผ ํ ๊น?
์คํ ๊ณํ์ ๋์ค๋ ์๋ง์ ํญ๋ชฉ์ ๋ฌด์์ ์๋ฏธํ ๊น?
์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์๋๋ฐ ์ ์ฌ์ฉํ์ง ์์๊น?
๋ณตํฉ ์ธ๋ฑ์ค๋ ์ด๋ค ์์๋ก ์ค๊ณํด์ผ ํ ๊น?
์ธ๋ฑ์ค๊ฐ ๋ง์์๋ก ์ฑ๋ฅ์ด ์ข์์ง๊น?
Using filesort๋ ์ ๋ฐ์ํ๊ณ , ์ด๋ป๊ฒ ์ ๊ฑฐํด์ผ ํ ๊น?
ํ์ด์ง ๋ค์ชฝ์ผ๋ก ๊ฐ์๋ก ์ฟผ๋ฆฌ๊ฐ ๋๋ ค์ง๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
์กฐ์ธ ์์๋ ๋๊ฐ ๊ฒฐ์ ํ๊ณ , ์ด๋ป๊ฒ ์ต์ ํํ ์ ์์๊น?
์ตํฐ๋ง์ด์ ๋ ์ ์์๊ณผ ๋ค๋ฅธ ์คํ ๊ณํ์ ์ ํํ ๊น?
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๋ฌธ์ ๋ ๋จ์ํ SQL ๋ฌธ๋ฒ์ ์ ์๋ค๊ณ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๊ฐ ์๋๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ๊ณ , ์ธ๋ฑ์ค๋ฅผ ์ด๋ป๊ฒ ํ์ํ๋ฉฐ, ์ตํฐ๋ง์ด์ ๊ฐ ์ด๋ค ๊ธฐ์ค์ผ๋ก ์คํ ๊ณํ์ ์ ํํ๋์ง ์ดํดํด์ผ ํฉ๋๋ค.
์ด ๊ฐ์๋ ๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ผ๋ก ์์ ํ๋ ๊ฒ์ด ์๋๋ผ, ์คํ ๊ณํ๊ณผ ์ค์ ์ธก์ ๊ฒฐ๊ณผ๋ฅผ ๊ทผ๊ฑฐ๋ก ์์ธ์ ์ฐพ๊ณ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค.
๋จผ์ MySQL๊ณผ InnoDB์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ , EXPLAIN๊ณผ EXPLAIN ANALYZE๋ฅผ ํตํด ์ฟผ๋ฆฌ๊ฐ ์ค์ ๋ก ์ด๋ป๊ฒ ์คํ๋๋์ง ๋ถ์ํฉ๋๋ค.
์ดํ ์๋ฐฑ๋ง ๊ฑด์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด์ ์ง์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ณ ํด๊ฒฐํฉ๋๋ค.
ํ ํ ์ด๋ธ ์ค์บ์ ์ธ๋ฑ์ค ํ์์ผ๋ก ๊ฐ์
๋ณตํฉ ์ธ๋ฑ์ค์ ์ปฌ๋ผ ์์ ๊ฒฐ์
B+Tree์ ์ธ๋ฑ์ค ๋ด๋ถ ๋์ ์ดํด
ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค์ ์ธ์ปจ๋๋ฆฌ ์ธ๋ฑ์ค ๋ถ์
Using filesort์ ์์ธ ์ง๋จ๊ณผ ์กฐ๊ธฐ ์ข ๋ฃ
ICP์ ์ปค๋ฒ๋ง ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ ์ฑ๋ฅ ๊ฐ์
์ธ๋ฑ์ค ์คํต ์ค์บ, ์ธ๋ฑ์ค ๋จธ์ง, MRR ๋ถ์
์ตํฐ๋ง์ด์ ์ ํ์คํ ๊ทธ๋จ ํ์ฉ
์กฐ์ธ ์์์ ๋๋ค ์ก์ธ์ค ์ต์ ํ
์ ๋ ฌ, ํ์ด์ง, ๊ทธ๋ฃนํ ์ฑ๋ฅ ๊ฐ์
์คํธ๋ฆฌ๋ฐ ์ง๊ณ์ ์ฌ์ ์ง๊ณ ํ ์ด๋ธ ์ค๊ณ
๋จ์ํ โ์ฌ๊ธฐ์ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ์ธ์โ๋ผ๊ณ ๊ฒฐ๋ก ๋ง ์ ๋ฌํ์ง ์์ต๋๋ค.
์ ๊ทธ ์ธ๋ฑ์ค๊ฐ ํ์ํ์ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋ถ์์๋ ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง, ์คํ ๊ณํ๊ณผ ์ค์ ์คํ ์๊ฐ์ ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๋์ง๋ฅผ ๋จ๊ณ์ ์ผ๋ก ํ์ธํฉ๋๋ค.
๋ํ ํน์ ์ฟผ๋ฆฌ ํ๋๋ง ๋น ๋ฅด๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋์ด, ์ค๋ฌด์์ ๊ณ์ํด์ ์๋ก์ด ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ๋ถ์ํ๊ณ ํด๊ฒฐํ ์ ์๋ ๊ธฐ๋ณธ ์๋ฆฌ๋ฅผ ๊น์ด ์๊ฒ ๋ค๋ฃน๋๋ค.
<์ด ๊ฐ์๋ฅผ ํตํด ์ป๊ฒ ๋๋ ๊ฒ>
1. ์คํ ๊ณํ์ ์ฝ๋ ๋ฅ๋ ฅ
EXPLAIN๊ณผ EXPLAIN ANALYZE์ ํต์ฌ ํญ๋ชฉ์ ์ดํดํ๊ณ , ๋๋ฆฐ ์ฟผ๋ฆฌ์ ์์ธ์ ์คํ ๊ณํ์์ ์ฐพ์๋ผ ์ ์์ต๋๋ค.
2. ์ธ๋ฑ์ค๋ฅผ ์ง์ ์ค๊ณํ๋ ๋ฅ๋ ฅ
๋จ์ํ ์ปฌ๋ผ ํ๋์ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ๋ ์์ค์ ๋์ด, ๋ฐ์ดํฐ ๋ถํฌ์ ์ฟผ๋ฆฌ ์กฐ๊ฑด์ ๋ง๋ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ค๊ณํ ์ ์์ต๋๋ค.
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋ถ ๋์์ ๋ํ ์ดํด
B+Tree, ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค, ์ธ์ปจ๋๋ฆฌ ์ธ๋ฑ์ค, ๋๋ค ์ก์ธ์ค ๋ฑ ์ธ๋ฑ์ค ๋ด๋ถ์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ฒ ๋ฉ๋๋ค.
4. ์ค์ ์ฑ๋ฅ ์ต์ ํ ๊ฒฝํ
์๋ฐฑ๋ง ๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ์ง์ ๋ถ์ํ๊ณ , ์์ญ ๋ฐฐ์์ ์๋ฐฑ ๋ฐฐ๊น์ง ๊ฐ์ ํ๋ ๊ณผ์ ์ ๊ฒฝํํฉ๋๋ค.
5. ์ด์ ํ๊ฒฝ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ธฐ์ค
์ธ๋ฑ์ค์ ์ฅ์ ๋ฟ ์๋๋ผ ์ฐ๊ธฐ ์ฑ๋ฅ, ์ ์ฅ ๊ณต๊ฐ, ์ด์ ๋น์ฉ๊น์ง ๊ณ ๋ คํด ์ํฉ์ ๋ง๋ ์ต์ ์ ๋ฐฉ๋ฒ์ ์ ํํ ์ ์์ต๋๋ค.
<์ ์ฒด ํ์ต ๋ชฉ์ฐจ>
๊ฐ์ ์๊ฐ์ ์์ ์๋ฃ
์ค์ต ํ๊ฒฝ ๊ตฌ์ฑ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ๊ณผ MySQL ์ํคํ ์ฒ
์คํ ๊ณํ 1 - EXPLAIN ์์ ์ ๋ณต
์คํ ๊ณํ 2 - ANALYZE ์์ ์ ๋ณต
์ค์ ํ๋ 1 - ํ ํ ์ด๋ธ ์ค์บ ์ง๋จ๊ณผ ๋ณตํฉ ์ธ๋ฑ์ค ๊ธฐ์ด
์ธ๋ฑ์ค ๋ด๋ถ ๊ตฌ์กฐ 1 - B+Tree
์ธ๋ฑ์ค ๋ด๋ถ ๊ตฌ์กฐ 2 - ํด๋ฌ์คํฐ๋, ์ธ์ปจ๋๋ฆฌ ์ธ๋ฑ์ค
์ค์ ํ๋ 2 - Using filesort ์ง๋จ๊ณผ ์กฐ๊ธฐ ์ข ๋ฃ
์ธ๋ฑ์ค ์ฌํ 1 - ICP, ์ปค๋ฒ๋ง, ์คํต ์ค์บ
์ธ๋ฑ์ค ์ฌํ 2 - ๋จธ์ง, MRR, ์ ๊ธฐ๋ฅ, ํํธ, ์ด์
์ตํฐ๋ง์ด์ ์ ํ์คํ ๊ทธ๋จ
์กฐ์ธ ์ต์ ํ
์ค์ ํ๋ 3 - ์กฐ์ธ ๋๋ค ์ก์ธ์ค ์ง๋จ๊ณผ ์ปค๋ฒ๋ง ์ธ๋ฑ์ค
์ ๋ ฌ, ํ์ด์ง, ๊ทธ๋ฃนํ ์ต์ ํ
์ค์ ํ๋ 4 - ์คํธ๋ฆฌ๋ฐ ์ง๊ณ์ ์ฌ์ ์ง๊ณ ํ ์ด๋ธ
๋ค์์ผ๋ก
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ๋ ๋จ์ํ ๋ช ๊ฐ์ง SQL ํ๋ ๊ธฐ์ ์ ์ธ์ฐ๋ ๊ณผ์ ์ด ์๋๋๋ค.
๋ฐ์ดํฐ๊ฐ ์ด๋ค ๊ฒฝ๋ก๋ก ์กฐํ๋๋์ง ์ดํดํ๊ณ , ์คํ ๊ณํ์ ๊ทผ๊ฑฐ๋ก ๋ณ๋ชฉ์ ์ฐพ์๋ด๋ฉฐ, ์ฌ๋ฌ ์ ํ์ง ์ฌ์ด์์ ๊ฐ์ฅ ์ ์ ํ ํด๊ฒฐ์ฑ ์ ๊ฒฐ์ ํ๋ ๊ณผ์ ์ ๋๋ค.
์ด ๊ฐ์๋ฅผ ํตํด ๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ๋ง๋ฌ์ ๋ ๋ง์ฐํ๊ฒ ์ธ๋ฑ์ค๋ถํฐ ์ถ๊ฐํ๋ ๊ฒ์ด ์๋๋ผ, ์์ธ์ ์ ํํ ๋ถ์ํ๊ณ ์ค์ค๋ก ํด๊ฒฐํ ์ ์๋ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ์ จ์ผ๋ฉด ํฉ๋๋ค.
์ ๊ฐ ์ค๋ฌด์์ ์๋ง์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉฐ ์์์จ ๊ฒฝํ๊ณผ ์ค๋ ๊ณ ๋ฏผ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฒ ๊ฐ์์ ๋ด์์ต๋๋ค.
์ฌ๋ฌ๋ถ์ ์ฑ์ฅ์ ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์. ๊น์ํ์ ๋๋ค.
์ค๋ซ๋์ ๋ง์ ๋ถ๋ค๊ป์ ์์ฒญํด์ฃผ์ จ๋ ๊น์ํ์ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค๋ฅผ ๊ธฐ๊ฐ ํ์ ์ผ๋ก ์๊ฐํฉ๋๋ค.
๋งํฌ: https://inf.run/LR9Sp
7๋ ์ ์ฌ์ , ๊ทธ๋ฆฌ๊ณ ์์ฑ
์ฒซ ๊ฐ์๋ฅผ ์์ํ ์ง ์ด๋๋ง 7๋ ์ด ํ๋ ์ต๋๋ค. ๊ทธ๋์ ์ด 26๊ฐ์ ๊ฐ์๋ฅผ ๋ง๋ค์๊ณ , ๋์ ์๊ฐ 59๋ง ๋ช ์ด๋ผ๋ ๊ณผ๋ถํ ์ฑ์์ ๋ฐ์์ต๋๋ค.
์ฒ์ ๊ฐ์๋ฅผ ์์ํ ๋ ํ ๊ฐ์ง ๋ค์ง์ด ์์์ต๋๋ค. ์ค๋ฌด์์ ๋ง๋ ์๋ง์ ์ ์ , ์ฃผ๋์ด, ์๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ ๋ ์ฌ๋ฆฌ๋ฉฐ, '์ ๋ง ์ ๋๋ก ์ฑ์ฅํ ์ ์๋ ์ง์ง ์ค๋ฌด ๊ฐ๋ฐ ๊ฐ์'๋ฅผ ๋ง๋ค๊ฒ ๋ค๋ ๋ค์ง์ด์์ต๋๋ค. ์ ์ ์์ ์ฃผ๋์ด๋ก, ์ฃผ๋์ด์์ ์๋์ด๋ก ์ฑ์ฅํ๊ธฐ๊น์ง ํ์ํ ๋ชจ๋ ์ค์ ๊ธฐ์ ์ ๋น ์ง์์ด ์ ๋ฌํ๊ฒ ๋ค๋ ๋ชฉํ๊ฐ, 7๋ ์ด๋ผ๋ ์๊ฐ์ด ๊ฑธ๋ ค์์ผ ๋น๋ก์ ์์ฑ๋์์ต๋๋ค.
ํจ์ค ์ํ ๊ตฌ์ฑ โ 4๊ฐ์ ํต์ฌ ๋ก๋๋งต ํตํฉ
์ด๋ฒ ๋ง์คํฐ ํจ์ค๋ ์ ์ ์์ ์ ๊ธฐ์ด๋ถํฐ ์๋์ด๊ฐ ๋์ด์ ๊ณ ๋ฏผํด์ผ ํ ์ฑ๋ฅ ์ต์ ํ๊น์ง, ๊ฐ๋ฐ์ ์์ ์ฃผ๊ธฐ ์ ์ฒด๋ฅผ ํจ๊ปํ๋ 'ํ์์ ๋ก๋๋งต'์ ๋๋ค.
๊น์ํ์ ์ค์ ์๋ฐ ๋ก๋๋งต
๊น์ํ์ ์คํ๋ง ์์ ์ ๋ณต ๋ก๋๋งต
๊น์ํ์ ์คํ๋ง ๋ถํธ์ JPA ์ค๋ฌด ์์ ์ ๋ณต ๋ก๋๋งต
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต
7์ ์ถ์ ์ ๊ท ๊ฐ์ ํฌํจ
์ฌ๊ธฐ์ ๋ํด, 7์ ์ถ์ ์์ ์ธ ใ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ฑ๋ฅ ์ต์ ํใ ๊ฐ์๋ฅผ ํจ๊ป ์ ๊ณตํฉ๋๋ค. (154,000์ ์์ )
์ด ๊ฐ์๋ ์ ๊ฐ ๊ฐ์ฅ ๊ณต๋ค์ฌ ์ ์ํ๊ณ ์๋ ๊ฐ์์ ๋๋ค. ์ค๋ฌด ์ฅ์ ์ 80%๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๋ฌธ์ ์์ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋น์ค๊ฐ ์ปค์ง๊ณ ๋๊ท๋ชจ ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๊ธฐ ์์ํ๋ฉด, ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์๋ฌด๋ฆฌ ๊น๋ํ๊ฒ ์์ฑํด๋ ๊ฒฐ๊ตญ ์ตํ์ ๋ณ๋ชฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํฐ์ง๋๋ค.
์ด ๊ฐ์๋ฅผ ๋ง์คํฐํ๊ณ ๋๋ฉด, ์ฅ์ ์ํฉ์ด๋ ๋๋ ค์ง ์ฟผ๋ฆฌ ์์์๋ ๋นํฉํ์ง ์๊ณ ์ ํํ๊ฒ ๋ณ๋ชฉ์ ์ง์ด๋ด๋ '์ง์ง ์๋์ด'์ ์์ผ๋ฅผ ๊ฐ๊ฒ ๋์ค ๊ฒ๋๋ค.
๊ธฐ์กด ์๊ฐ์์ ์ํ ๋ณด๋ต
์ ๋ฅผ ์ค๋ซ๋์ ๋ฏฟ๊ณ ๋ฐ๋ผ์ ์ฃผ์ ๋ถ๋ค๊ป๋ ์กฐ๊ธ์ด๋๋ง ํํ์ ์ค๋นํ์ต๋๋ค.
- ๊ธฐ์กด ๊ฐ์ ๊ตฌ๋งค์: ๋ณด์ ํ ๊ฐ์ ์(๊ธ์ก)์ ๋ฐ๋ผ ๋จ์ ๊ฐ์์ ๋ํด ์กฐ๊ธ์ด๋ผ๋ ๋ ๋์ ํ ์ธ์จ ์ ์ฉ
- ์ ๊ฐ์ ๊ตฌ๋งค์ (์ฐํฌ): ๋ง์คํฐ ํจ์ค๋ฅผ ์ ๋ฌผ(๋ฌด๋ฃ)๋ก ์ฆ์
ํน๋ณํ ์ง๊ธ๊น์ง ์ ์ ๋ชจ๋ ๊ฐ์๋ฅผ ๋ฏฟ๊ณ ๋ฐ๋ผ์ ์ฃผ์ ์ฐํฌ ๋ถ๋ค๊ป๋ ๊ฐ์ฌ์ ์๋ฏธ๋ก 'ํจ์ค ์ํ'๊ณผ 7์ ์ถ์๋ '์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ' ๊ฐ์๋ฅผ ์ ๋ฌผ๋ก ๋๋ฆฝ๋๋ค. (๊ผญ! ํจ์ค ์ํ 0์ ๊ตฌ๋งคํ๊ธฐ๋ฅผ ์ ํํด์ฃผ์ธ์)
AI ์๋, ์ ๊ธฐ๋ณธ๊ธฐ์ธ๊ฐ
AI๊ฐ ์ฝ๋๋ฅผ ๋์ ์์ฑํด์ฃผ๋ ์๋. ์ค๋ ฅ ์๋ ๊ฐ๋ฐ์์ ๊ทธ๋ ์ง ์์ ๊ฐ๋ฐ์์ ์ฐจ์ด๊ฐ ์ค์ด๋ค์์๊น์? ํ์ฅ์์๋ ์คํ๋ ค ๋ฐ๋์ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋๊ณ ์์ต๋๋ค.
AI๋ ๊ฐ๋ฐ์์ ๋ฅ๋ ฅ์ ๋์ฒดํ๋ ๋๊ตฌ๊ฐ ์๋๋ผ ์ฆํญํ๋ ๋๊ตฌ์ ๋๋ค.
์ค๋ ฅ ์๋ ๊ฐ๋ฐ์๋ AI์๊ฒ ์ข์ ์ง๋ฌธ์ ๋์ง๊ณ , AI๊ฐ ๋ง๋ ์ฝ๋๊ฐ ์ข์ ์ฝ๋์ธ์ง ์ํํ ์ฝ๋์ธ์ง ํ๋จํ ์ ์์ต๋๋ค. ์ค๊ณ๊ฐ ์๋ชป๋์๋์ง, ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์จ์ด ์๋์ง, ์ด์ ํ๊ฒฝ์์ ์ฅ์ ๋ก ์ด์ด์ง ์ ์๋์ง๋ ๋น ๋ฅด๊ฒ ์์์ฐจ๋ฆฝ๋๋ค.
๋ฐ๋๋ก ๊ธฐ๋ณธ๊ธฐ๊ฐ ๋ถ์กฑํ๋ฉด AI๊ฐ ๋ง๋ค์ด์ค ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๊ฒ์ผ๋ก๋ ๋์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ฌ๋ ์ค๊ณ๊ฐ ๋ฌด๋์ ธ ์๊ฑฐ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์จ์ด ์๊ฑฐ๋, ์ด์ ํ๊ฒฝ์์ ๋ฌธ์ ๊ฐ ํฐ์ง ์ ์์ต๋๋ค.
AI ๊ธฐ์ ์ ๊ณ์ ๋น ๋ฅด๊ฒ ๋ณํ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋ณํ์ง ์๋ ๊ฒ์ด ์์ต๋๋ค.
๊ฐ์ฒด์งํฅ์ ๊ธฐ๋ณธ ์๋ฆฌ
์ข์ ์ฝ๋์ ๋์ ์ฝ๋๋ฅผ ๊ตฌ๋ถํ๋ ๋
HTTP์ ์น์ ๋์ ์๋ฆฌ
ํธ๋์ญ์ ๊ณผ ๋ฐ์ดํฐ ์ ๊ทผ ๊ธฐ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ฑ๋ฅ ์ต์ ํ
์ด๋ฐ ๊ธฐ๋ณธ๊ธฐ๋ AI ์๋์ผ์๋ก ๋ ์ค์ํด์ง๋๋ค. ์์์ผ ์ง๋ฌธํ ์ ์๊ณ , ์์์ผ ๊ฒ์ฆํ ์ ์๊ณ , ์์์ผ ๊ฐ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ฒ ๋ฐฑ์๋ ๋ง์คํฐ ํจ์ค์๋ ๋ฐ๋ก ๊ทธ ๋ณํ์ง ์๋ ๋ณธ์ง์ ๋ด์์ต๋๋ค.
์ง์์ ์ธ ๊ฐ์ ๋ฆฌ๋ด์ผ, ์ถ๊ฐ ๋น์ฉ ์์ด
์์ผ๋ก ๊ธฐ์กด ๊ฐ์๋ค๋ ์ง์์ ์ผ๋ก ๋ฆฌ๋ด์ผํ ์์ ์ ๋๋ค. ํ์์ ๋ฐ๋ผ ์ ์ฒด ์์ ๋ฆฌ๋ด์ผ, ๋ถ๋ถ ์์ ๋ฆฌ๋ด์ผ, ๋งค๋ด์ผ ๋ฒ์ ์ ๋ฑ์ ์งํํฉ๋๋ค.
์ง๊ธ ๋ง์คํฐ ํจ์ค๋ฅผ ๊ตฌ๋งคํ์ ๋ถ๋ค์ ๋์ค์ ๋ฆฌ๋ด์ผ๋ ๊ฐ์์ ๊ฐ๊ฒฉ์ด ์ฌ๋ผ๋ ์ถ๊ฐ ๋น์ฉ ์์ด ๋ฌด๋ฃ๋ก ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ผ์ค ์ ์์ต๋๋ค. ์ ๋ฅผ ๋ฏฟ๊ณ ์ ํํด ์ฃผ์ ๋ถ๋ค์ ๋ํ ์ ์ ์ต์ํ์ ์์์ด์ ์ฝ์์ ๋๋ค. ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ ๊ฐ์ ์คํ ์ดํ ๋ณธ๊ฒฉ์ ์ธ ๋ฆฌ๋ด์ผ ์์ ์ ์์ํ ์์ ์ ๋๋ค.
๋ง์ง๋ง์ผ๋ก
์ด ํจ์ค๋ ๋จ์ํ ์ง์์ ํ๋ ์ํ์ด ์๋๋๋ค. ์ ๊ฐ ์ญ ์๋ ๊ฐ ์ค๋ฌด์์ ๋ฐฐ์ฐ๊ณ , ๊ฒช๊ณ , ์น์ดํ๊ฒ ๊ณ ๋ฏผํ๋ ๊ฒ๋ค์ ์ฌ๋ฌ๋ถ๊ป ์ ๋ฌํ๊ธฐ ์ํด ๋ง๋ , 7๋ ์ ๋ ธ๋ ฅ์ด ๋ด๊ธด ๊ฒฐ์ ์ฒด์ ๋๋ค.
์ฌ๋ฌ๋ถ์ด ์ ์ ์ ๋์ด ์ฃผ๋์ด๋ก, ์ฃผ๋์ด๋ฅผ ๋์ด ์๋์ด๋ก, ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ตญ ์ฃผ๋ณ ๋๋ฃ๋ค์ด ์ง์ฌ์ผ๋ก ํจ๊ป ์ผํ๊ณ ์ถ์ด ํ๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ๊ทธ๋ ๊น์ง. ์ ๊ฐ ์ฌ๋ฌ๋ถ ๊ณ์์ ๋ ๋ ํ ๊ฐ์ด๋๊ฐ ๋์ด๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์. ์ฌ๋ฌ๋ถ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 2ํธ ๊ฐ์๊ฐ ๋๋์ด ์คํ ํ์ต๋๋ค.
์คํ ๊ธฐ๋ ์ผ๋ก ์ ์ ๋ชจ๋ ๊ฐ์๋ฅผ 30% ํ ์ธํฉ๋๋ค ๐
์ ๋ชฉ: ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 2ํธ โ ์ค๋ฌด์์ ๋ฐ๋์ ๋ง์ฃผ์น๋ 9๊ฐ์ง ์ค๊ณ ํจํด
๋งํฌ: https://inf.run/HgVZ2
<๊ฐ์ ๋ด์ฉ>
์ค๊ณ 1ํธ์์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ ์์ ๋ค์ก๋ค๋ฉด, ์ด์ ๋ ํ์ ์์ ๋ฐ๋์ ๋ง์ฃผ์น๊ฒ ๋๋ ๋ณต์กํ๊ณ ๊น๋ค๋ก์ด ์๊ตฌ์ฌํญ๋ค์ ํด๊ฒฐํด์ผ ํ ๋์ ๋๋ค.
์ค์ ํ๋ก์ ํธ ์ค๊ณ๋ฅผ ์์ํ๋ฉด, ์ฐ๋ฆฌ๋ ํ์ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๋์ ๋ค๊ณผ ๋ง์ฃผํ๊ฒ ๋ฉ๋๋ค.
๊ณตํต ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํด์ผ ํ ๊น?
'๋ฌดํ ๊ณ์ธต ๊ตฌ์กฐ์ ์นดํ ๊ณ ๋ฆฌ, ์ด๋ป๊ฒ ์ค๊ณํด์ผ ์กฐํ ์ฑ๋ฅ์ ๋ง์น์ง ์์๊น?'
'๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ, ๋๋์ฒด ์ด๋ค ๋ฐฉ์์ผ๋ก ๋จ๊ฒจ์ผ ์ต์ ์ผ๊น?'
'ํ์์ด ํํดํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ์ง์๋ ๋ ๊น? ์๋๋ฉด ๋จ๊ฒจ๋ฌ์ผ ํ๋?'
'ํต๊ณ ์ฟผ๋ฆฌ๋ง ๋๋ฆฌ๋ฉด DB๊ฐ ๋๋ ค์ง๋๋ฐ, ์ด๋ป๊ฒ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํด์ผ ํ ๊น?'
'์ํ๋ง๋ค ์ ๊ฐ๊ฐ์ธ ์๋ง์ ์ต์ ๊ฐ๋ค์ ์ด๋ป๊ฒ ์ ์ฅํด์ผ ํ์ง?'
'์์ฆ ๋ง์ด ์ด๋ค๋ JSON, ๊ด๊ณํ DB์๋ ์ด๋ป๊ฒ ๋ น์ฌ๋ด๋ ๊ฒ ์ข์๊น?'
"๋๋๊ฒ๋ ์ค๋ฌด์์ ๊ฒช๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌธ์ ๋ ๋๋ถ๋ถ ๋น์ทํฉ๋๋ค. ๋ณต์กํด ๋ณด์ด๋ ์ค๋ฌด์ ๋์ ๋ค๋ ๊ฒฐ๊ตญ 9๊ฐ์ง ํต์ฌ ์ ํ์ผ๋ก ๊ท๊ฒฐ๋ฉ๋๋ค.
์ด ๊ฐ์๋ ๋ฐ๋ก ์ด๋ฐ ๊ณ ๋ฏผ๋ค์ ๋ํ ๋ช ์พํ ํด๋ต์ ๋๋ฆฝ๋๋ค.
์ด๋ฒ ๊ฐ์์์๋ ์๋ง์ ํ๋ก์ ํธ๋ฅผ ๊ฑฐ์น๋ฉฐ ์ฒ ์ ํ ๊ฒ์ฆ๋ ์ ์ ์ค์ ์ค๊ณ ๋ ธํ์ฐ๋ฅผ ์๋์์ด ๊ณต๊ฐํฉ๋๋ค. ๋ง๋งํ๋ ๋ฌธ์ ๋ค์ 9๊ฐ์ง ํด๋ฒ์ผ๋ก ์ ์ ํจ๊ป ์์ ๋ฅผ ํตํด ํ๋์ฉ ์ ๋ณตํด ๋ด ์๋ค.
์ด ๊ฐ์๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ์ค๋ฌด ํ์ฅ์์ ๋ฐ๋ก ์ฌ์ฉํ๊ฒ ๋ '9๊ฐ์ง ํต์ฌ ์ค๊ณ ํจํด'์ ์๋ฒฝํ๊ฒ ๋ง์คํฐํ๊ฒ ๋ฉ๋๋ค.
๊ณตํต ์ฝ๋ ์ค๊ณ: ์์คํ ์ ํ์ค๊ณผ ํ์ฅ์ ์ฑ ์์ง๋ ๊ฒฌ๊ณ ํ ์ฝ๋ ๊ด๋ฆฌ ์ฒด๊ณ
๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ: ์นดํ ๊ณ ๋ฆฌ, ์กฐ์ง๋ ๊ฐ์ ๋ณต์กํ ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ชจ๋ธ๋ง
๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ถ์ : ๋๊ฐ, ์ธ์ , ๋ฌด์์ ๋ณ๊ฒฝํ๋์ง ๊ธฐ๋กํ๋ ์ ๋ต
๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ: ๋ฐ์ดํฐ์ ๊ณผ๊ฑฐ ์ํ๋ฅผ ๋ณด์กดํ๊ณ ์์ ๋ณ๋ก ์กฐํํ๋ ์ด๋ ฅ ๊ด๋ฆฌ ํจํด
SOFT DELETE: ๋ฐ์ดํฐ์ ๋ณต๊ตฌ ๊ฐ๋ฅ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ๋ ผ๋ฆฌ์ ์ญ์ ๊ธฐ๋ฒ
ํต๊ณ ํ ์ด๋ธ ์ค๊ณ: ๋์ฉ๋ ๋ฐ์ดํฐ ํ๊ฒฝ์์๋ ์ฑ๋ฅ ์ ํ ์๋ ๊ณ ์ ์ง๊ณ ์ ๋ต
์์ ๊ด๊ณ ์ค๊ณ: ๋ถ๋ชจ, ์์ ๊ตฌ์กฐ๋ฅผ ๊ด๊ณํ DB์์ ์ฌ์ฉํ๋ ์ ๋ต
๋์ ์ค๊ณ (EAV):์ํ ์ต์ ์ฒ๋ผ ์์๋ก ๋ณํ๋ ์์ฑ์ ์ ์ฐํ๊ฒ ์์ฉํ๋ ์ค๊ณ
JSON ๋ฐ์ดํฐ ์ค๊ณ: NoSQL์ ์ ์ฐํจ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ น์ฌ๋ด๋ ํ๋์ ์ธ ์ค๊ณ ๊ธฐ๋ฒ
์ฌ๊ธฐ์ ๋ํด, ๋จ์ํ ์ด๋ก ์ ๋์ดํ๋ ๊ฒ์ ๋์ด ๊ฐ ํจํด์ ํ์คํ ์ฅ๋จ์ ๊ณผ ์ค๋ฌด ์ ํ ๊ธฐ์ค์ ๋ฌผ๋ก , ์ฑ๋ฅ ์ต์ ํ ๊ธฐ๋ฒ๊น์ง ์ค๋ฌด์ ํ์ํ ๋ชจ๋ ๋ ธํ์ฐ๋ฅผ ๋ด์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก "์ค๋ฌด ์ค๊ณ๋ ์ ํด์ง ์ ๋ต์ ์ฐพ๋ ๊ฒ์ด ์๋๋ผ, ์ํฉ์ ๋ง๋ ์ต์ ์ ํธ๋ ์ด๋์คํ(Trade-off)๋ฅผ ์ ํํ๋ ๊ณผ์ ์ ๋๋ค. ์ด ๊ฐ์๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ์์ผ๋ฅผ ์ง์ง ์ค๋ฌด ๋ ๋ฒจ๋ก ๋์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ด๋ค ํ๋ก์ ํธ๋ฅผ ๋ง์ฃผํ๋๋ผ๋, ์ฃผ์ ์์ด ์์ ์๊ฒ ์ค๊ณํ ์ ์๋ ์ง์ ํ ์ค๊ณ ์ ๋ฌธ๊ฐ๋ก ๋ง๋ค์ด ๋ค์ด๋๋ฆฌ๊ฒ ์ต๋๋ค."
์ ์ ์ ๋ง์ ์ค์ ๊ฒฝํ๊ณผ ์ค๋ ๊ณ ๋ฏผ์ ๊ฒฐ๊ณผ๋ฅผ ์ด ๊ฐ์์ ๋ด์์ต๋๋ค.
์ฌ๋ฌ๋ถ๊ป ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค.<์ ์ฒด ํ์ต ๋ชฉ์ฐจ>
1. ๊ฐ์ ์๊ฐ์ ์์ ์๋ฃ
2. ๊ณตํต ์ฝ๋ ์ค๊ณ
- ๊ณตํต ์ฝ๋๊ฐ ํ์ํ ์ด์
- ๊ณตํต ์ฝ๋ ํ ์ด๋ธ ์ค๊ณ
- ๊ณตํต ์ฝ๋๋ฅผ ๋ ๋ฒ์ฉ์ฑ ์๊ฒ - ๊ทธ๋ฃนํ ์ค๊ณ
- ๊ณตํต ์ฝ๋์ ์ถ๊ฐ ์์ฑ
- ๊ณตํต ์ฝ๋์ ๋จ์
- ๊ณตํต ์ฝ๋์ ๋จ์ ํด๊ฒฐ ๋ฐฉ์1
- ๊ณตํต ์ฝ๋์ ๋จ์ ํด๊ฒฐ ๋ฐฉ์2
- ๊ณตํต ์ฝ๋ vs ์ ํ๋ฆฌ์ผ์ด์ ENUM 1
- ๊ณตํต ์ฝ๋ vs ์ ํ๋ฆฌ์ผ์ด์ ENUM 2
- ๊ณตํต ์ฝ๋ vs ์ ํ๋ฆฌ์ผ์ด์ ENUM 3
- ๊ณตํต ์ฝ๋ ์ค๊ณ์ ๋น์ฆ๋์ค ์ค๊ณ์ ์ฐจ์ด
- ์ ๋ฆฌ
3. ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ
- ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ๊ฐ ํ์ํ ์ด์
- ์ธ์ ๋ฆฌ์คํธ ๋ชจ๋ธ
- ๊ณ์ธต ๊ตฌ์กฐ ์กฐํ์ ์ด๋ ค์
- CTE์ ์ฌ๊ท ์ฟผ๋ฆฌ 1
- CTE์ ์ฌ๊ท ์ฟผ๋ฆฌ 2
- ํ์ ํ ์ด๋ธ ๋ชจ๋ธ 1
- ํ์ ํ ์ด๋ธ ๋ชจ๋ธ 2
- ์ ๋ฆฌ
4. ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ์ค๊ณ1
- ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ์ค๊ณ๊ฐ ํ์ํ ์ด์
- ๋ณ๊ฒฝ ์ถ์ ์ปฌ๋ผ - ๊ธฐ๋ณธ
- ๋ณ๊ฒฝ ์ถ์ ์ปฌ๋ผ - ๋ณ๊ฒฝ ์ฌ์
- ๋ณ๊ฒฝ ์ถ์ ์ปฌ๋ผ - ๊ฐ์ฌ(Audit) ์ปฌ๋ผ
- ์ ๋ฆฌ
5. ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ์ค๊ณ2
- ์ปฌ๋ผ์ ์ด์ ๊ฐ ๋ณด๊ด ๋ฐฉ์
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ์์
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ๋จ์ 1
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ๋จ์ 2
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ์ ํจ ๊ธฐ๊ฐ
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ์์
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ์ฃผ์์
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ์ ํจ ๊ธฐ๊ฐ
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ํ๊ณ
- ์ปฌ๋ผ ๋จ์ ๋ณ๊ฒฝ ๋ก๊ทธ ํ ์ด๋ธ
- ๊ณตํต ์ด๋ ฅ ํ ์ด๋ธ
- ์ ๋ฆฌ
6. SOFT DELETE
- SOFT DELETE๊ฐ ํ์ํ ์ด์
- SOFT DELETE - is_deleted ์ปฌ๋ผ ๋ฐฉ์
- SOFT DELETE - deleted_at ์ปฌ๋ผ ๋ฐฉ์ 1
- SOFT DELETE - deleted_at ์ปฌ๋ผ ๋ฐฉ์ 2
- SOFT DELETE vs HARD DELETE
- SOFT vs HARD vs STATUS
- SOFT DELETE์ ์ด๋ ฅ ํ ์ด๋ธ
- SOFT DELETE์ ์ธ๋ฑ์ค ์ค๊ณ
- ์ ๋ฆฌ
7. ํต๊ณ ํ ์ด๋ธ ์ค๊ณ
- ํต๊ณ ๋ฐ์ดํฐ์ ์ฑ๋ฅ ๋ฌธ์
- ํต๊ณ ํ ์ด๋ธ ์ค๊ณ
- ์ฃผ๊ฐ, ์๊ฐ ํต๊ณ์ ํจ์จ์ ์ธ ์ฒ๋ฆฌ
- ์ค์๊ฐ ํต๊ณ์ ํ์ด๋ธ๋ฆฌ๋ ์ค๊ณ
- ๋ฉฑ๋ฑ์ฑ ์ค๊ณ
- ๋ง์ดํฌ๋ก ๋ฐฐ์น
- UPSERT ์ต์ ํ
- ์ ๋ฆฌ
8. ์์ ๊ด๊ณ ์ค๊ณ
- ์์ ๊ด๊ณ ์ค๊ณ - ๋ฌธ์ ์ํฉ
- ๊ตฌํ ํด๋์ค๋ง๋ค ํ ์ด๋ธ ์ ๋ต
- ๊ตฌํ ํด๋์ค๋ง๋ค ํ ์ด๋ธ ์ ๋ต์ ์ฅ๋จ์
- ๋จ์ผ ํ ์ด๋ธ ์ ๋ต
- ๋จ์ผ ํ ์ด๋ธ ์ ๋ต์ ์ฅ๋จ์
- ์กฐ์ธ ์ ๋ต
- ์กฐ์ธ ์ ๋ต์ ์ฅ๋จ์
- ์ ๋ฆฌ
9. ๋์ ์ค๊ณ - EAV
- EAV ์ค๊ณ - ๊ธฐ์กด ๋ฐฉ์์ ํ๊ณ์ ์๋ก์ด ์ ๊ทผ๋ฒ
- EAV ํจํด ์๊ฐ
- EAV ์ค์ต - ์ผํ๋ชฐ ์ํ ์์ฑ ๊ด๋ฆฌ
- EAV ํจํด ๊ฐ์ - ์์ฑ ์ ์ ํ ์ด๋ธ
- EAV์ ์ฅ๋จ์ ๊ณผ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
- EAV ์ค๋ฌด ํ์ฉ ์ฌ๋ก
- ์ ๋ฆฌ
10. JSON ์ค๊ณ
- EAV์ ํ๊ณ์ JSON์ ํ์์ฑ
- JSON ๋ฌธ๋ฒ
- MySQL์์ JSON ์ฌ์ฉํ๊ธฐ 1
- MySQL์์ JSON ์ฌ์ฉํ๊ธฐ 2
- JSON ํ์ฉ - ๋ค์ํ ์ค๋ฌด ์ฌ๋ก 1
- JSON ํ์ฉ - ๋ค์ํ ์ค๋ฌด ์ฌ๋ก 2
- JSON ์ธ๋ฑ์ค์ ์ฑ๋ฅ ์ต์ ํ 1
- JSON ์ธ๋ฑ์ค์ ์ฑ๋ฅ ์ต์ ํ 2
- JSON ์ค๊ณ์ ์ฅ๋จ์ ๊ณผ ํ๊ณ
- JSON ์ฌ์ฉ ๊ฐ์ด๋๋ผ์ธ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค vs NoSQL
- ์ ๋ฆฌ
์๋ ํ์ธ์. ์ฌ๋ฌ๋ถ
๋๋์ด <๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 2ํธ: ์ค๋ฌด์์ ๋ฐ๋์ ๋ง์ฃผ์น๋ 9๊ฐ์ง ์ค๊ณ ํจํด> ๊ฐ์๊ฐ ์คํ ์ค๋น ๋ง๋ฐ์ง์ ๋ค์ด๊ฐ์ต๋๋ค. ์ด๋ฒ ๊ฐ์๋ ์ค๋ 1์ 28์ผ์์ 31์ผ ์ฌ์ด์ ์ ์ ์ถ์๋ ์์ ์ ๋๋ค.
์ค๋ฌด์์ ํ์ฐ์ ์ผ๋ก ๋ง์ฃผํ๊ฒ ๋๋ 9๊ฐ์ง ํต์ฌ ํจํด์ ํตํด ์ต์ ์ ์ค๋ฌด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋ฐฉ๋ฒ์ ์ตํ๊ณ , ์ด๋ค ์ํฉ์์๋ ์์ ์๊ฒ ์ค๊ณ๋ฅผ ์ฃผ๋ํ๋ ์ง์ ํ ์ ๋ฌธ๊ฐ๋ก ๊ฑฐ๋ญ๋์ค ์ ์๋๋ก ๋๊ฒ ์ต๋๋ค.
<๊ฐ์ ๋ด์ฉ>
์ ๋ชฉ: ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ค๊ณ 2ํธ, ์ค๋ฌด์์ ๋ฐ๋์ ๋ง์ฃผ์น๋ 9๊ฐ์ง ์ค๊ณ ํจํด
์ค๊ณ 1ํธ์์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ ์์ ๋ค์ก๋ค๋ฉด, ์ด์ ๋ ํ์ ์์ ๋ฐ๋์ ๋ง์ฃผ์น๊ฒ ๋๋ ๋ณต์กํ๊ณ ๊น๋ค๋ก์ด ์๊ตฌ์ฌํญ๋ค์ ํด๊ฒฐํด์ผ ํ ๋์ ๋๋ค.
์ค์ ํ๋ก์ ํธ ์ค๊ณ๋ฅผ ์์ํ๋ฉด, ์ฐ๋ฆฌ๋ ํ์ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ๋์ ๋ค๊ณผ ๋ง์ฃผํ๊ฒ ๋ฉ๋๋ค.
๊ณตํต ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํด์ผ ํ ๊น?
'๋ฌดํ ๊ณ์ธต ๊ตฌ์กฐ์ ์นดํ ๊ณ ๋ฆฌ, ์ด๋ป๊ฒ ์ค๊ณํด์ผ ์กฐํ ์ฑ๋ฅ์ ๋ง์น์ง ์์๊น?'
'๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ, ๋๋์ฒด ์ด๋ค ๋ฐฉ์์ผ๋ก ๋จ๊ฒจ์ผ ์ต์ ์ผ๊น?'
'ํ์์ด ํํดํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ์ง์๋ ๋ ๊น? ์๋๋ฉด ๋จ๊ฒจ๋ฌ์ผ ํ๋?'
'ํต๊ณ ์ฟผ๋ฆฌ๋ง ๋๋ฆฌ๋ฉด DB๊ฐ ๋๋ ค์ง๋๋ฐ, ์ด๋ป๊ฒ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํด์ผ ํ ๊น?'
'์ํ๋ง๋ค ์ ๊ฐ๊ฐ์ธ ์๋ง์ ์ต์ ๊ฐ๋ค์ ์ด๋ป๊ฒ ์ ์ฅํด์ผ ํ์ง?'
'์์ฆ ๋ง์ด ์ด๋ค๋ JSON, ๊ด๊ณํ DB์๋ ์ด๋ป๊ฒ ๋ น์ฌ๋ด๋ ๊ฒ ์ข์๊น?'
"๋๋๊ฒ๋ ์ค๋ฌด์์ ๊ฒช๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌธ์ ๋ ๋๋ถ๋ถ ๋น์ทํฉ๋๋ค. ๋ณต์กํด ๋ณด์ด๋ ์ค๋ฌด์ ๋์ ๋ค๋ ๊ฒฐ๊ตญ 9๊ฐ์ง ํต์ฌ ์ ํ์ผ๋ก ๊ท๊ฒฐ๋ฉ๋๋ค.
์ด ๊ฐ์๋ ๋ฐ๋ก ์ด๋ฐ ๊ณ ๋ฏผ๋ค์ ๋ํ ๋ช ์พํ ํด๋ต์ ๋๋ฆฝ๋๋ค.
์ด๋ฒ ๊ฐ์์์๋ ์๋ง์ ํ๋ก์ ํธ๋ฅผ ๊ฑฐ์น๋ฉฐ ์ฒ ์ ํ ๊ฒ์ฆ๋ ์ ์ ์ค์ ์ค๊ณ ๋ ธํ์ฐ๋ฅผ ์๋์์ด ๊ณต๊ฐํฉ๋๋ค. ๋ง๋งํ๋ ๋ฌธ์ ๋ค์ 9๊ฐ์ง ํด๋ฒ์ผ๋ก ์ ์ ํจ๊ป ์์ ๋ฅผ ํตํด ํ๋์ฉ ์ ๋ณตํด ๋ด ์๋ค.
์ด ๊ฐ์๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ์ค๋ฌด ํ์ฅ์์ ๋ฐ๋ก ์ฌ์ฉํ๊ฒ ๋ '9๊ฐ์ง ํต์ฌ ์ค๊ณ ํจํด'์ ์๋ฒฝํ๊ฒ ๋ง์คํฐํ๊ฒ ๋ฉ๋๋ค.
๊ณตํต ์ฝ๋ ์ค๊ณ: ์์คํ ์ ํ์ค๊ณผ ํ์ฅ์ ์ฑ ์์ง๋ ๊ฒฌ๊ณ ํ ์ฝ๋ ๊ด๋ฆฌ ์ฒด๊ณ
๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ: ์นดํ ๊ณ ๋ฆฌ, ์กฐ์ง๋ ๊ฐ์ ๋ณต์กํ ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ชจ๋ธ๋ง
๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ถ์ : ๋๊ฐ, ์ธ์ , ๋ฌด์์ ๋ณ๊ฒฝํ๋์ง ๊ธฐ๋กํ๋ ์ ๋ต
๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ: ๋ฐ์ดํฐ์ ๊ณผ๊ฑฐ ์ํ๋ฅผ ๋ณด์กดํ๊ณ ์์ ๋ณ๋ก ์กฐํํ๋ ์ด๋ ฅ ๊ด๋ฆฌ ํจํด
SOFT DELETE: ๋ฐ์ดํฐ์ ๋ณต๊ตฌ ๊ฐ๋ฅ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ๋ ผ๋ฆฌ์ ์ญ์ ๊ธฐ๋ฒ
ํต๊ณ ํ ์ด๋ธ ์ค๊ณ: ๋์ฉ๋ ๋ฐ์ดํฐ ํ๊ฒฝ์์๋ ์ฑ๋ฅ ์ ํ ์๋ ๊ณ ์ ์ง๊ณ ์ ๋ต
์์ ๊ด๊ณ ์ค๊ณ: ๋ถ๋ชจ, ์์ ๊ตฌ์กฐ๋ฅผ ๊ด๊ณํ DB์์ ์ฌ์ฉํ๋ ์ ๋ต
๋์ ์ค๊ณ (EAV):์ํ ์ต์ ์ฒ๋ผ ์์๋ก ๋ณํ๋ ์์ฑ์ ์ ์ฐํ๊ฒ ์์ฉํ๋ ์ค๊ณ
JSON ๋ฐ์ดํฐ ์ค๊ณ: NoSQL์ ์ ์ฐํจ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ น์ฌ๋ด๋ ํ๋์ ์ธ ์ค๊ณ ๊ธฐ๋ฒ
์ฌ๊ธฐ์ ๋ํด, ๋จ์ํ ์ด๋ก ์ ๋์ดํ๋ ๊ฒ์ ๋์ด ๊ฐ ํจํด์ ํ์คํ ์ฅ๋จ์ ๊ณผ ์ค๋ฌด ์ ํ ๊ธฐ์ค์ ๋ฌผ๋ก , ์ฑ๋ฅ ์ต์ ํ ๊ธฐ๋ฒ๊น์ง ์ค๋ฌด์ ํ์ํ ๋ชจ๋ ๋ ธํ์ฐ๋ฅผ ๋ด์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก "์ค๋ฌด ์ค๊ณ๋ ์ ํด์ง ์ ๋ต์ ์ฐพ๋ ๊ฒ์ด ์๋๋ผ, ์ํฉ์ ๋ง๋ ์ต์ ์ ํธ๋ ์ด๋์คํ(Trade-off)๋ฅผ ์ ํํ๋ ๊ณผ์ ์ ๋๋ค. ์ด ๊ฐ์๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ์์ผ๋ฅผ ์ง์ง ์ค๋ฌด ๋ ๋ฒจ๋ก ๋์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ด๋ค ํ๋ก์ ํธ๋ฅผ ๋ง์ฃผํ๋๋ผ๋, ์ฃผ์ ์์ด ์์ ์๊ฒ ์ค๊ณํ ์ ์๋ ์ง์ ํ ์ค๊ณ ์ ๋ฌธ๊ฐ๋ก ๋ง๋ค์ด ๋ค์ด๋๋ฆฌ๊ฒ ์ต๋๋ค."
์ ์ ์ ๋ง์ ์ค์ ๊ฒฝํ๊ณผ ์ค๋ ๊ณ ๋ฏผ์ ๊ฒฐ๊ณผ๋ฅผ ์ด ๊ฐ์์ ๋ด์์ต๋๋ค.
์ฌ๋ฌ๋ถ๊ป ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค.
<์ ์ฒด ํ์ต ๋ชฉ์ฐจ>
1. ๊ฐ์ ์๊ฐ์ ์์ ์๋ฃ
2. ๊ณตํต ์ฝ๋ ์ค๊ณ
- ๊ณตํต ์ฝ๋๊ฐ ํ์ํ ์ด์
- ๊ณตํต ์ฝ๋ ํ ์ด๋ธ ์ค๊ณ
- ๊ณตํต ์ฝ๋๋ฅผ ๋ ๋ฒ์ฉ์ฑ ์๊ฒ - ๊ทธ๋ฃนํ ์ค๊ณ
- ๊ณตํต ์ฝ๋์ ์ถ๊ฐ ์์ฑ
- ๊ณตํต ์ฝ๋์ ๋จ์
- ๊ณตํต ์ฝ๋์ ๋จ์ ํด๊ฒฐ ๋ฐฉ์1
- ๊ณตํต ์ฝ๋์ ๋จ์ ํด๊ฒฐ ๋ฐฉ์2
- ๊ณตํต ์ฝ๋ vs ์ ํ๋ฆฌ์ผ์ด์ ENUM 1
- ๊ณตํต ์ฝ๋ vs ์ ํ๋ฆฌ์ผ์ด์ ENUM 2
- ๊ณตํต ์ฝ๋ vs ์ ํ๋ฆฌ์ผ์ด์ ENUM 3
- ๊ณตํต ์ฝ๋ ์ค๊ณ์ ๋น์ฆ๋์ค ์ค๊ณ์ ์ฐจ์ด
- ์ ๋ฆฌ3. ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ
- ๊ณ์ธต ๊ตฌ์กฐ ์ค๊ณ๊ฐ ํ์ํ ์ด์
- ์ธ์ ๋ฆฌ์คํธ ๋ชจ๋ธ
- ๊ณ์ธต ๊ตฌ์กฐ ์กฐํ์ ์ด๋ ค์
- CTE์ ์ฌ๊ท ์ฟผ๋ฆฌ 1
- CTE์ ์ฌ๊ท ์ฟผ๋ฆฌ 2
- ํ์ ํ ์ด๋ธ ๋ชจ๋ธ 1
- ํ์ ํ ์ด๋ธ ๋ชจ๋ธ 2
- ์ ๋ฆฌ4. ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ์ค๊ณ1
- ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ์ค๊ณ๊ฐ ํ์ํ ์ด์
- ๋ณ๊ฒฝ ์ถ์ ์ปฌ๋ผ - ๊ธฐ๋ณธ
- ๋ณ๊ฒฝ ์ถ์ ์ปฌ๋ผ - ๋ณ๊ฒฝ ์ฌ์
- ๋ณ๊ฒฝ ์ถ์ ์ปฌ๋ผ - ๊ฐ์ฌ(Audit) ์ปฌ๋ผ
- ์ ๋ฆฌ5. ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ ฅ ์ค๊ณ2
- ์ปฌ๋ผ์ ์ด์ ๊ฐ ๋ณด๊ด ๋ฐฉ์
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ์์
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ๋จ์ 1
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ๋จ์ 2
- ํ์ฌ ํ ์ด๋ธ๋ก ์ด๋ ฅ ๊ด๋ฆฌ - ์ ํจ ๊ธฐ๊ฐ
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ์์
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ์ฃผ์์
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ์ ํจ ๊ธฐ๊ฐ
- ์ ์ฒด ํ ์ค๋ ์ท ์ด๋ ฅ ํ ์ด๋ธ - ํ๊ณ
- ์ปฌ๋ผ ๋จ์ ๋ณ๊ฒฝ ๋ก๊ทธ ํ ์ด๋ธ
- ๊ณตํต ์ด๋ ฅ ํ ์ด๋ธ
- ์ ๋ฆฌ6. SOFT DELETE
- SOFT DELETE๊ฐ ํ์ํ ์ด์
- SOFT DELETE - is_deleted ์ปฌ๋ผ ๋ฐฉ์
- SOFT DELETE - deleted_at ์ปฌ๋ผ ๋ฐฉ์ 1
- SOFT DELETE - deleted_at ์ปฌ๋ผ ๋ฐฉ์ 2
- SOFT DELETE vs HARD DELETE
- SOFT vs HARD vs STATUS
- SOFT DELETE์ ์ด๋ ฅ ํ ์ด๋ธ
- SOFT DELETE์ ์ธ๋ฑ์ค ์ค๊ณ
- ์ ๋ฆฌ7. ํต๊ณ ํ ์ด๋ธ ์ค๊ณ
- ํต๊ณ ๋ฐ์ดํฐ์ ์ฑ๋ฅ ๋ฌธ์
- ํต๊ณ ํ ์ด๋ธ ์ค๊ณ
- ์ฃผ๊ฐ, ์๊ฐ ํต๊ณ์ ํจ์จ์ ์ธ ์ฒ๋ฆฌ
- ์ค์๊ฐ ํต๊ณ์ ํ์ด๋ธ๋ฆฌ๋ ์ค๊ณ
- ๋ฉฑ๋ฑ์ฑ ์ค๊ณ
- ๋ง์ดํฌ๋ก ๋ฐฐ์น
- UPSERT ์ต์ ํ
- ์ ๋ฆฌ8. ์์ ๊ด๊ณ ์ค๊ณ
- ์์ ๊ด๊ณ ์ค๊ณ - ๋ฌธ์ ์ํฉ
- ๊ตฌํ ํด๋์ค๋ง๋ค ํ ์ด๋ธ ์ ๋ต
- ๊ตฌํ ํด๋์ค๋ง๋ค ํ ์ด๋ธ ์ ๋ต์ ์ฅ๋จ์
- ๋จ์ผ ํ ์ด๋ธ ์ ๋ต
- ๋จ์ผ ํ ์ด๋ธ ์ ๋ต์ ์ฅ๋จ์
- ์กฐ์ธ ์ ๋ต
- ์กฐ์ธ ์ ๋ต์ ์ฅ๋จ์
- ์ ๋ฆฌ9. ๋์ ์ค๊ณ - EAV
- EAV ์ค๊ณ - ๊ธฐ์กด ๋ฐฉ์์ ํ๊ณ์ ์๋ก์ด ์ ๊ทผ๋ฒ
- EAV ํจํด ์๊ฐ
- EAV ์ค์ต - ์ผํ๋ชฐ ์ํ ์์ฑ ๊ด๋ฆฌ
- EAV ํจํด ๊ฐ์ - ์์ฑ ์ ์ ํ ์ด๋ธ
- EAV์ ์ฅ๋จ์ ๊ณผ ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
- EAV ์ค๋ฌด ํ์ฉ ์ฌ๋ก
- ์ ๋ฆฌ10. JSON ์ค๊ณ
- EAV์ ํ๊ณ์ JSON์ ํ์์ฑ
- JSON ๋ฌธ๋ฒ
- MySQL์์ JSON ์ฌ์ฉํ๊ธฐ 1
- MySQL์์ JSON ์ฌ์ฉํ๊ธฐ 2
- JSON ํ์ฉ - ๋ค์ํ ์ค๋ฌด ์ฌ๋ก 1
- JSON ํ์ฉ - ๋ค์ํ ์ค๋ฌด ์ฌ๋ก 2
- JSON ์ธ๋ฑ์ค์ ์ฑ๋ฅ ์ต์ ํ 1
- JSON ์ธ๋ฑ์ค์ ์ฑ๋ฅ ์ต์ ํ 2
- JSON ์ค๊ณ์ ์ฅ๋จ์ ๊ณผ ํ๊ณ
- JSON ์ฌ์ฉ ๊ฐ์ด๋๋ผ์ธ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค vs NoSQL
- ์ ๋ฆฌ์๋ ํ์ธ์. ์ฌ๋ฌ๋ถ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 1ํธ ๊ฐ์๊ฐ ๋๋์ด ์คํ ํ์ต๋๋ค.์คํ ๊ธฐ๋ ์ผ๋ก ์ ์ ๋ชจ๋ ๊ฐ์๋ฅผ 30% ํ ์ธํฉ๋๋ค ๐
์ ๋ชฉ: ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 1ํธ โ ํ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ ์ ๋ณต
๊ฐ์ ์: 83๊ฐ
๊ฐ์ ์๊ฐ: 16์๊ฐ 11๋ถ
๊ฐ์ PDF ์๋ฃ: ์ฝ 400์ฅ
๋งํฌ: https://inf.run/SEdxb
[๊ฐ์ ์๊ฐ]
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฐ์ ๋๋ค.
ํ์ง๋ง, ์ ๋๋ก ์ค๊ณํ์ง ๋ชปํ๋ฉด ํ๋ก์ ํธ๋ ๊ธ๋ฐฉ ํ๊ณ์ ๋ถ๋ชํ๊ณ , ์ ์ง๋ณด์๋ ์ง์ฅ์ด ๋ฉ๋๋ค.์ด๋ฒ ๊ฐ์๋ ๋จ์ํ ํ ์ด๋ธ์ ๋ง๋๋ ๋ฒ์ด ์๋๋ผ, ์ค๋ฌด์์ ํตํ๋ ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋ฐฉ๋ฒ์ ์ฒด๊ณ์ ์ผ๋ก ์๋ ค๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ ์ ๋ง์ ์ค์ ๊ฒฝํ๊ณผ ์ค๋ ๊ณ ๋ฏผ์ ๊ฒฐ๊ณผ๋ฅผ ์ด ๊ฐ์์ ๋ด์์ต๋๋ค.
[๊ฐ์ ํต์ฌ ํฌ์ธํธ]
๊ฐ๋ ์ โ ๋ ผ๋ฆฌ์ โ ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง
3๋จ๊ณ ์ ๊ทผ์ผ๋ก DB ์ค๊ณ๋ฅผ ์์ ์ ๋ณตํฉ๋๋ค.์ค๋ฌด์ ๋ฐ๋ก ์ฐ๋ ์ค๊ณ ๋ ธํ์ฐ
์ด๋ก ์๋ง ๋จธ๋ฌด๋ฅด์ง ์๊ณ , ์ผํ๋ชฐ ํ๋ก์ ํธ๋ฅผ ์์ ๋ก ํ์ฉํฉ๋๋ค.์๋ชป๋ ์ค๊ณ์ ํจ์ ํผํ๊ธฐ
์ ERD๊ฐ ์ค์ํ์ง, ์ ์ ๊ทํ๊ฐ ํ์ํ์ง, ๊ทธ๋ฆฌ๊ณ ์ธ์ ์ญ์ ๊ทํ๋ฅผ ํด์ผ ํ๋์ง ์ค์ต์ ํตํด ๊นจ๋ซ๊ฒ ๋ฉ๋๋ค.ํค์ ๊ด๊ณ ์ค๊ณ์ ๋ณธ์ง
์์ฐ ํค vs ๋๋ฆฌ ํค, ์ผ๋์ผยท์ผ๋๋คยท๋ค๋๋ค ๊ด๊ณ, ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ๊น์ง ๊น๊ฒ ๋ค๋ฃน๋๋ค.์ต์ DB ์ค๊ณ ํธ๋ ๋ ๋ฐ์
์์ญ ๋ ์ ๊ต๊ณผ์์ ๋จธ๋ฌด๋ฅด์ง ์๊ณ , ํ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ๋ก ์ ์ ์ํฉ๋๋ค.[๋ฐฐ์ฐ๊ฒ ๋ ๊ฒ๋ค]
์๊ตฌ์ฌํญ ๋ถ์๊ณผ ํต์ฌ ์ํฐํฐ ๋์ถ
ERD ์์ฑ ๋ฐ ์ฉ์ด ์ฌ์ ๊ด๋ฆฌ
์ ๊ทํ(1NF ~ BCNF)์ ๊ทธ ํ๊ณ
์ธ๋ฑ์ค์ ์ฑ๋ฅ ๊ณ ๋ คํ ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง
์ผํ๋ชฐ ํ๋ก์ ํธ ์ ์ฒด DB ์ค๊ณ ์ค์ต
[๊ฐ์ ๋์]
๊ฐ๋ฐ์: ์ฝ๋ ์ง๊ธฐ ์ ์ ์ ๋๋ก ๋ DB๋ฅผ ์ค๊ณํ๊ณ ์ถ์ ๋ถ
๊ธฐํ์/๋ถ์๊ฐ: ๋ฐ์ดํฐ ํ๋ฆ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ์ดํดํ๊ณ ์ถ์ ๋ถ
์ทจ์ ์ค๋น์: ๋ฉด์ ์์ ์ฐจ๋ณํ๋ DB ์ค๊ณ ์ญ๋์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ๋ถ
์ฃผ๋์ด ๊ฐ๋ฐ์: ์ค๋ฌด์์ ๋ฐ๋ก ์ธ ์ ์๋ ์ค๊ณ ์์น์ ๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ
์๋์ด ๊ฐ๋ฐ์/๋ฆฌ๋: ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ํ์ง์ ๋์ด์ฌ๋ฆฌ๊ณ ์ถ์ ๋ถ
[๊ฐ์ ์ ์ฒด ๋ชฉ์ฐจ]
1. ๊ฐ์ ์๊ฐ์ ์์ ์๋ฃ
* 1-A. ์๋์ฐ - MySQL ์ค์น ์๋ด
* 1-B. macOS - ์ค์น ์๋ด
2. ์ค๊ณ์ ์ค์์ฑ
* ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ฒซ๊ฑธ์
* ์๋ชป๋ ์ค๊ณ๊ฐ ๋ถ๋ฅด๋ ์ฌ์
* ์ค๊ณ์ 3๋จ๊ณ - ๊ฐ๋ , ๋ ผ๋ฆฌ, ๋ฌผ๋ฆฌ
* ์ ๋ฆฌ
3. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง
* ์๊ตฌ ์ฌํญ ๋ถ์๊ณผ ํต์ฌ ์์ ์๋ณ
* ์ํฐํฐ๋?
* ์ํฐํฐ ๋ถ๋ฅ1
* ์ํฐํฐ ๋ถ๋ฅ2
* ์์ฑ๊ณผ ์๋ณ์
* ์นด๋๋๋ฆฌํฐ์ ์ฐธ์ฌ๋
* ERD ์์ฑํ๊ธฐ
* ์ฐ๊ด ์ํฐํฐ - ๋ค๋๋ค ๊ด๊ณ ํด๊ฒฐ
* ์ฉ์ด ์ฌ์
* ์ ๋ฆฌ
4. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ์ค์ต
* ์ค์ ์๊ตฌ ์ฌํญ ๋ถ์
* ์ค์ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ์์
* ์ค์ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ERD ์์ฑ
* ์ค์ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ์ฉ์ด ์ฌ์ ์์ฑ
* ์ ๋ฆฌ
5. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง1 - ํค
* ๋ค์ํ ์ข ๋ฅ์ ํค
* ์์ฐ ํค vs ๋๋ฆฌ ํค1 - ์์ฐ ํค
* ์์ฐ ํค vs ๋๋ฆฌ ํค2 - ๋๋ฆฌ ํค
* ์์ฐ ํค vs ๋๋ฆฌ ํค3 - ์ฑ๋ฅ ํธ๋ ์ด๋ ์คํ
* ์์ฐ ํค vs ๋๋ฆฌ ํค4 - ํ๋์ ์ธ ์ค๊ณ
* ๋ณตํฉํค ์ค๊ณ
* ๋ค๋๋ค ๊ด๊ณ์ ๋ณตํฉํค
* ์ ๋ฆฌ
6. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง2 - ์ฐธ์ฌ๋์ ์ผ๋๋ค ๊ด๊ณ
* ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ๊ด๊ณ
* ์ฐธ์ฌ๋
* ์ผ๋๋ค(1:N) ๋ค๋์ผ(N:1) ๊ด๊ณ - ์ธ๋ ํค ์์น1
* ์ผ๋๋ค(1:N) ๋ค๋์ผ(N:1) ๊ด๊ณ - ์ธ๋ ํค ์์น2
* ์ผ๋๋ค(1:N) ๋ค๋์ผ(N:1) ๊ด๊ณ - ์กฐ์ธ๊ณผ ๋ปฅํ๊ธฐ
* ์ ๋ฆฌ
7. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง3 - ์ผ๋์ผ, ๋ค๋๋ค ๊ด๊ณ
* ์ผ๋์ผ(1:1) ๊ด๊ณ - ์์
* ์ผ๋์ผ(1:1) ๊ด๊ณ - ์ธ๋ ํค ์์น
* ์ผ๋์ผ(1:1) ๊ด๊ณ - [์ค์ต] ๊ด๊ณ ํ์ฅ์ ์ ์ฐ์ฑ
* ์ผ๋์ผ(1:1) ๊ด๊ณ - ์ฃผ ํ ์ด๋ธ์ FK
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ๊ด๊ณํ ๋ชจ๋ธ์ ํ๊ณ
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ์ฐ๊ฒฐ ํ ์ด๋ธ
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ์์ฑ
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ๊ฐ๋ ์ , ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง
* ์ ๋ฆฌ
8. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง4 - ์๋ณ ๊ด๊ณ, ๋น์๋ณ ๊ด๊ณ
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ๊ฐ๋
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ์ผ๋๋ค(1:N)
* ์๋ณ ๊ด๊ณ์ ๋ฌธ์ ์
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - SQL ์ฟผ๋ฆฌ, ์ฑ๋ฅ
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ์ผ๋์ผ(1:1)
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ๋ค๋๋ค(M:N) 1
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ๋ค๋๋ค(M:N) 2
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ํ๋์ ์ธ ์ค๊ณ ํธ๋ ๋
* ์ ๋ฆฌ
9. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์ค์ต
* ์ค์ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์์
* ์ค์ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ERD ์์ฑ
10. ์ ๊ทํ
* ์ ๊ทํ - ์์
* ์ 1 ์ ๊ทํ
* ์ 2 ์ ๊ทํ
* ์ 3 ์ ๊ทํ
* BCNF ์ ๊ทํ
* ์ค๋ฌด์ ์ ๊ทํ
* ์ ๋ฆฌ
11. ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง
* ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง ๊ฐ์
* ํ ์ด๋ธ๊ณผ ์ปฌ๋ผ ๋ณํ ๊ท์น1 - ๊ธฐ๋ณธ ๊ท์น
* ํ ์ด๋ธ๊ณผ ์ปฌ๋ผ ๋ณํ ๊ท์น2 - ์ถ์ฝ์ด์ ๋จ์ ๋ณต์
* ๋ฐ์ดํฐ ํ์ 1 - ๋ฌธ์, ์ซ์, PK ํ์
* ๋ฐ์ดํฐ ํ์ 2 - ๋ ์ง์ ์๊ฐ ํ์
* ์ญ์ ๊ทํ
* ํ ์ด๋ธ ์ ์์
* ์ ๋ฆฌ
12. ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์ค์ต
* ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์ค์ต ์์
* ์ธ๋ฑ์ค ์ค๊ณ - ์ค์ต
* ์ญ์ ๊ทํ - ์ค์ต
* ์ผํ๋ชฐ ํ ์ด๋ธ ์ ์์
* ์ผํ๋ชฐ DDL๊ณผ DB ๋ง๋ค๊ธฐ
* ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ - ERD ์๋ ์์ฑ
* ์ผํ๋ชฐ ๊ธฐ๋ฅ ํ์ธ1
* ์ผํ๋ชฐ ๊ธฐ๋ฅ ํ์ธ2
* ์ ๋ฆฌ
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์. ์ฌ๋ฌ๋ถ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 1ํธ ๊ฐ์๊ฐ ๋๋์ด ์คํ ์ค๋น์ ๋ค์ด๊ฐ์ต๋๋ค.์ด๋ฒ์ ์ถ์ํ ์ค๊ณ 1ํธ์ 9์ 16์ผ ~ 9์ 19์ผ ์ฌ์ด์ ์ถ์ ์์ ์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต - ๊ฐ์ ์ถ์ ์์ ์ผ์
์ค๊ณ 1ํธ โ ํ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ ์ ๋ณต - 9์ ์ค์ ์ถ์ ์์
์ค๊ณ 2ํธ - ์ค๋ฌด ์ค๊ณ ํจํด๊ณผ ํ์ฉ ๊ธฐ๋ฒ ๋ง์คํฐ - 2025๋ ์ฐ๋ง ์ถ์ ์์
์ฑ๋ฅ ์ต์ ํ์ ๊ณ ๊ธ ๊ธฐ๋ฅํธ - 2026๋ ์ฐ์ด ์ถ์ ์์
์ ๋ชฉ: ๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 1ํธ โ ํ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ ์ ๋ณต
๊ฐ์ ์: 83๊ฐ
๊ฐ์ ์๊ฐ: 16์๊ฐ 11๋ถ
๊ฐ์ PDF ์๋ฃ: ์ฝ 400์ฅ
๊ฐ์ ์๊ฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฐ์ ๋๋ค.
ํ์ง๋ง, ์ ๋๋ก ์ค๊ณํ์ง ๋ชปํ๋ฉด ํ๋ก์ ํธ๋ ๊ธ๋ฐฉ ํ๊ณ์ ๋ถ๋ชํ๊ณ , ์ ์ง๋ณด์๋ ์ง์ฅ์ด ๋ฉ๋๋ค.์ด๋ฒ ๊ฐ์๋ ๋จ์ํ ํ ์ด๋ธ์ ๋ง๋๋ ๋ฒ์ด ์๋๋ผ, ์ค๋ฌด์์ ํตํ๋ ํ๋์ ์ค๊ณ ๋ฐฉ๋ฒ์ ์ฒด๊ณ์ ์ผ๋ก ์๋ ค๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ ์ ๋ง์ ์ค์ ๊ฒฝํ๊ณผ ์ค๋ ๊ณ ๋ฏผ์ ๊ฒฐ๊ณผ๋ฅผ ์ด ๊ฐ์์ ๋ด์์ต๋๋ค.
๊ฐ์ ํต์ฌ ํฌ์ธํธ
* ๊ฐ๋ ์ โ ๋ ผ๋ฆฌ์ โ ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง
3๋จ๊ณ ์ ๊ทผ์ผ๋ก DB ์ค๊ณ๋ฅผ ์์ ์ ๋ณตํฉ๋๋ค.
* ์ค๋ฌด์ ๋ฐ๋ก ์ฐ๋ ์ค๊ณ ๋ ธํ์ฐ
์ด๋ก ์๋ง ๋จธ๋ฌด๋ฅด์ง ์๊ณ , ์ผํ๋ชฐ ํ๋ก์ ํธ๋ฅผ ์์ ๋ก ํ์ฉํฉ๋๋ค.
* ์๋ชป๋ ์ค๊ณ์ ํจ์ ํผํ๊ธฐ
์ ERD๊ฐ ์ค์ํ์ง, ์ ์ ๊ทํ๊ฐ ํ์ํ์ง, ๊ทธ๋ฆฌ๊ณ ์ธ์ ์ญ์ ๊ทํ๋ฅผ ํด์ผ ํ๋์ง ์ค์ต์ ํตํด ๊นจ๋ซ๊ฒ ๋ฉ๋๋ค.
* ํค์ ๊ด๊ณ ์ค๊ณ์ ๋ณธ์ง
์์ฐ ํค vs ๋๋ฆฌ ํค, ์ผ๋์ผยท์ผ๋๋คยท๋ค๋๋ค ๊ด๊ณ, ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ๊น์ง ๊น๊ฒ ๋ค๋ฃน๋๋ค.
* ์ต์ DB ์ค๊ณ ํธ๋ ๋ ๋ฐ์
์์ญ ๋ ์ ๊ต๊ณผ์์ ๋จธ๋ฌด๋ฅด์ง ์๊ณ , ํ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ๋ก ์ ์ ์ํฉ๋๋ค.
๋ฐฐ์ฐ๊ฒ ๋ ๊ฒ๋ค
์๊ตฌ์ฌํญ ๋ถ์๊ณผ ํต์ฌ ์ํฐํฐ ๋์ถ
ERD ์์ฑ ๋ฐ ์ฉ์ด ์ฌ์ ๊ด๋ฆฌ
์ ๊ทํ(1NF ~ BCNF)์ ๊ทธ ํ๊ณ
์ธ๋ฑ์ค์ ์ฑ๋ฅ ๊ณ ๋ คํ ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง
์ผํ๋ชฐ ํ๋ก์ ํธ ์ ์ฒด DB ์ค๊ณ ์ค์ต
๊ฐ์ ๋์
๊ฐ๋ฐ์: ์ฝ๋ ์ง๊ธฐ ์ ์ ์ ๋๋ก ๋ DB๋ฅผ ์ค๊ณํ๊ณ ์ถ์ ๋ถ
๊ธฐํ์/๋ถ์๊ฐ: ๋ฐ์ดํฐ ํ๋ฆ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ์ดํดํ๊ณ ์ถ์ ๋ถ
์ทจ์ ์ค๋น์: ๋ฉด์ ์์ ์ฐจ๋ณํ๋ DB ์ค๊ณ ์ญ๋์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ๋ถ
์ฃผ๋์ด ๊ฐ๋ฐ์: ์ค๋ฌด์์ ๋ฐ๋ก ์ธ ์ ์๋ ์ค๊ณ ์์น์ ๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ
์๋์ด ๊ฐ๋ฐ์/๋ฆฌ๋: ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ํ์ง์ ๋์ด์ฌ๋ฆฌ๊ณ ์ถ์ ๋ถ
๊ฐ์ ์ ์ฒด ๋ชฉ์ฐจ
1. ๊ฐ์ ์๊ฐ์ ์์ ์๋ฃ
* 1-A. ์๋์ฐ - MySQL ์ค์น ์๋ด
* 1-B. macOS - ์ค์น ์๋ด
2. ์ค๊ณ์ ์ค์์ฑ
* ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ฒซ๊ฑธ์
* ์๋ชป๋ ์ค๊ณ๊ฐ ๋ถ๋ฅด๋ ์ฌ์
* ์ค๊ณ์ 3๋จ๊ณ - ๊ฐ๋ , ๋ ผ๋ฆฌ, ๋ฌผ๋ฆฌ
* ์ ๋ฆฌ
3. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง
* ์๊ตฌ ์ฌํญ ๋ถ์๊ณผ ํต์ฌ ์์ ์๋ณ
* ์ํฐํฐ๋?
* ์ํฐํฐ ๋ถ๋ฅ1
* ์ํฐํฐ ๋ถ๋ฅ2
* ์์ฑ๊ณผ ์๋ณ์
* ์นด๋๋๋ฆฌํฐ์ ์ฐธ์ฌ๋
* ERD ์์ฑํ๊ธฐ
* ์ฐ๊ด ์ํฐํฐ - ๋ค๋๋ค ๊ด๊ณ ํด๊ฒฐ
* ์ฉ์ด ์ฌ์
* ์ ๋ฆฌ
4. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ์ค์ต
* ์ค์ ์๊ตฌ ์ฌํญ ๋ถ์
* ์ค์ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ์์
* ์ค์ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ERD ์์ฑ
* ์ค์ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง - ์ฉ์ด ์ฌ์ ์์ฑ
* ์ ๋ฆฌ
5. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง1 - ํค
* ๋ค์ํ ์ข ๋ฅ์ ํค
* ์์ฐ ํค vs ๋๋ฆฌ ํค1 - ์์ฐ ํค
* ์์ฐ ํค vs ๋๋ฆฌ ํค2 - ๋๋ฆฌ ํค
* ์์ฐ ํค vs ๋๋ฆฌ ํค3 - ์ฑ๋ฅ ํธ๋ ์ด๋ ์คํ
* ์์ฐ ํค vs ๋๋ฆฌ ํค4 - ํ๋์ ์ธ ์ค๊ณ
* ๋ณตํฉํค ์ค๊ณ
* ๋ค๋๋ค ๊ด๊ณ์ ๋ณตํฉํค
* ์ ๋ฆฌ
6. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง2 - ์ฐธ์ฌ๋์ ์ผ๋๋ค ๊ด๊ณ
* ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ๊ด๊ณ
* ์ฐธ์ฌ๋
* ์ผ๋๋ค(1:N) ๋ค๋์ผ(N:1) ๊ด๊ณ - ์ธ๋ ํค ์์น1
* ์ผ๋๋ค(1:N) ๋ค๋์ผ(N:1) ๊ด๊ณ - ์ธ๋ ํค ์์น2
* ์ผ๋๋ค(1:N) ๋ค๋์ผ(N:1) ๊ด๊ณ - ์กฐ์ธ๊ณผ ๋ปฅํ๊ธฐ
* ์ ๋ฆฌ
7. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง3 - ์ผ๋์ผ, ๋ค๋๋ค ๊ด๊ณ
* ์ผ๋์ผ(1:1) ๊ด๊ณ - ์์
* ์ผ๋์ผ(1:1) ๊ด๊ณ - ์ธ๋ ํค ์์น
* ์ผ๋์ผ(1:1) ๊ด๊ณ - [์ค์ต] ๊ด๊ณ ํ์ฅ์ ์ ์ฐ์ฑ
* ์ผ๋์ผ(1:1) ๊ด๊ณ - ์ฃผ ํ ์ด๋ธ์ FK
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ๊ด๊ณํ ๋ชจ๋ธ์ ํ๊ณ
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ์ฐ๊ฒฐ ํ ์ด๋ธ
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ์์ฑ
* ๋ค๋๋ค(M:N) ๊ด๊ณ - ๊ฐ๋ ์ , ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง
* ์ ๋ฆฌ
8. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง4 - ์๋ณ ๊ด๊ณ, ๋น์๋ณ ๊ด๊ณ
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ๊ฐ๋
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ์ผ๋๋ค(1:N)
* ์๋ณ ๊ด๊ณ์ ๋ฌธ์ ์
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - SQL ์ฟผ๋ฆฌ, ์ฑ๋ฅ
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ์ผ๋์ผ(1:1)
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ๋ค๋๋ค(M:N) 1
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ๋ค๋๋ค(M:N) 2
* ์๋ณ ๊ด๊ณ vs ๋น์๋ณ ๊ด๊ณ - ํ๋์ ์ธ ์ค๊ณ ํธ๋ ๋
* ์ ๋ฆฌ
9. ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์ค์ต
* ์ค์ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์์
* ์ค์ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ERD ์์ฑ
10. ์ ๊ทํ
* ์ ๊ทํ - ์์
* ์ 1 ์ ๊ทํ
* ์ 2 ์ ๊ทํ
* ์ 3 ์ ๊ทํ
* BCNF ์ ๊ทํ
* ์ค๋ฌด์ ์ ๊ทํ
* ์ ๋ฆฌ
11. ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง
* ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง ๊ฐ์
* ํ ์ด๋ธ๊ณผ ์ปฌ๋ผ ๋ณํ ๊ท์น1 - ๊ธฐ๋ณธ ๊ท์น
* ํ ์ด๋ธ๊ณผ ์ปฌ๋ผ ๋ณํ ๊ท์น2 - ์ถ์ฝ์ด์ ๋จ์ ๋ณต์
* ๋ฐ์ดํฐ ํ์ 1 - ๋ฌธ์, ์ซ์, PK ํ์
* ๋ฐ์ดํฐ ํ์ 2 - ๋ ์ง์ ์๊ฐ ํ์
* ์ญ์ ๊ทํ
* ํ ์ด๋ธ ์ ์์
* ์ ๋ฆฌ
12. ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์ค์ต
* ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง - ์ค์ต ์์
* ์ธ๋ฑ์ค ์ค๊ณ - ์ค์ต
* ์ญ์ ๊ทํ - ์ค์ต
* ์ผํ๋ชฐ ํ ์ด๋ธ ์ ์์
* ์ผํ๋ชฐ DDL๊ณผ DB ๋ง๋ค๊ธฐ
* ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ - ERD ์๋ ์์ฑ
* ์ผํ๋ชฐ ๊ธฐ๋ฅ ํ์ธ1
* ์ผํ๋ชฐ ๊ธฐ๋ฅ ํ์ธ2
* ์ ๋ฆฌ
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์. ์ฌ๋ฌ๋ถ
๋๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธ, ๊ธฐ๋ณธํธ ๋ ๊ฐ์๊ฐ ์คํํ์ต๋๋ค.
์ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ฌธํ๋ ๋ถ๋ค๋ ๋ถ๋ด์์ด ๋ฐฐ์ธ ์ ์๋๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธ ๊ฐ์๋ฅผ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธ - SQL๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ (์คํ)
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ๊ธฐ๋ณธํธ (์คํ)
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ค๊ณํธ (2025๋ ํ๋ฐ๊ธฐ ์์ )
๊น์ํ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ฑ๋ฅ ์ต์ ํ์ ๊ณ ๊ธ ๊ธฐ๋ฅํธ (2025๋ ํ๋ฐ๊ธฐ ์์ )
๊ฐ์ ๋์
์ฐธ๊ณ ๋ก ์ด๋ฒ ๊ฐ์๋ ๊ฐ๋ฐ์๋ฟ๋ง ์๋๋ผ ๊ธฐํ์, ๋ฐ์ดํฐ ๋ถ์๊ฐ ๋ถ๋ค๋ ๋ค์ ์ ์๋๋ก ์ฝ๊ฒ ๊ตฌ์ฑํ์ต๋๋ค.
๊ฐ๋ฐ์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ด๋ฅผ ํํํ ๋ค์ง๊ณ ์ถ์ ์ฃผ๋์ด, ๋น์ ๊ณต์, ์ทจ์ ์ค๋น์
๊ธฐํ์/๋ง์ผํฐ: ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์์ฌ๊ฒฐ์ ์ด ํ์ํ ๋ถ
๋ฐ์ดํฐ ๋ถ์๊ฐ: SQL ์ญ๋์ ์๊ณ ์ถ์ ์ ๋ฌธ์
[๊ฐ๋ฐ์ ๊ด์ ์์ ๋ก๋๋งต ์๊ฐ]
๊ฐ๋ฐ์๋ผ๋ฉด ์ ์ฒด ๋ก๋๋งต์ ๋ชจ๋ ๋ฐ๋ผ์ค์๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
๋ง์ ๊ฐ๋ฐ์ ๋ถ๋ค์ด ๊ณต๊ฐํ์๊ฒ ์ง๋ง, ๊ฒฐ๊ตญ ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ค๊ณ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์์ ํ์ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ง์ผ๋ก๋ ๊ฒฐ์ฝ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ค์ด ๋ฐ๋ก ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ญ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ๋ก๋๋งต์ ๊ทธ ๋๋จธ์ง ์ ๋ฐ์ ํต์ฌ ์ญ๋์ ์ฑ์์ ์ฌ๋ฌ๋ถ์ ํ ์ฐจ์ ๋์ ๊ฐ๋ฐ์๋ก ๋ง๋ค์ด ์ค ๊ฒ๋๋ค.
์ ๋ฌธํธ: ๋จผ์ , '์ ๋ฌธํธ'์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL ๊ธฐ์ด๋ฅผ ๋ค์ง๋๋ค.
๊ธฐ๋ณธํธ: ๊ธฐ๋ณธํธ์์๋ ์ฃผ๋์ด ๊ฐ๋ฐ์์๊ฒ ๋ฐ๋์ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ค๋ฃน๋๋ค.
์กฐ์ธ, ์๋ธ์ฟผ๋ฆฌ, ์ ๋์จ, ์ผ์ด์ค ๋ฌธ์ ํตํด ์ด๋ค ๋ณต์กํ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ๋ SQL๋ก ํ์ด๋ด๋ ๋ฅ๋ ฅ์ ๊ฐ์ถ๊ฒ ๋ฉ๋๋ค.
์ธ๋ฑ์ค์ ๋์ ์๋ฆฌ๋ฅผ ์ ๋๋ก ํ์ ํด ์ค๋ฌด์ ๊ผญ ํ์ํ SQL ์ฑ๋ฅ ์ต์ ํ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ค์ง๋๋ค.
ํธ๋์ญ์ ๊ณผ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๊น์ด ์ดํดํด์, ๋ฐ์ดํฐ๊ฐ ๊นจ์ง์ง ์๋ ์์ ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ค๊ณํธ: ์ค๊ณํธ์ ์ฌ๋ฌ๋ถ์ ํ ๋จ๊ณ ๋ ๋์ ์์ค์ ๊ฐ๋ฐ์๋ก ๋ง๋ค์ด ์ค ๊ฒ๋๋ค. ์ข์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๊ฐ ์ด๋ป๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ฒฐ์ ํ๋์ง ๋ฐฐ์ฐ๊ณ , ์ค๋ฌด์์ ๋ง์ฃผํ ๋ณต์กํ ์๊ตฌ์ฌํญ์ ์ฒด๊ณ์ ์ผ๋ก ๋ชจ๋ธ๋งํ๋ ๋ฅ๋ ฅ์ ํค์ฐ๊ฒ ๋ฉ๋๋ค.
์ฑ๋ฅ ์ต์ ํ์ ๊ณ ๊ธ ๊ธฐ๋ฅํธ: ์ฑ๋ฅ ์ต์ ํ์ ๊ณ ๊ธ ๊ธฐ๋ฅํธ์ ๋์ฉ๋ ํธ๋ํฝ์ ๋ค๋ฃจ๋ ๊ณ ๊ธ ๊ฐ๋ฐ์๋ก ๊ฐ๋ ๋ง์ง๋ง ๊ด๋ฌธ์ ๋๋ค. ์๋ฌด๋ ํด๊ฒฐํ์ง ๋ชปํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๋ณ๋ชฉ์ ์ฐพ์๋ด๊ณ , ์๋น์ค์ ํ๊ณ๋ฅผ ๋์ด์ฌ๋ฆฌ๋ ๊ณ ๊ธ ๊ธฐ์ ๋ค์ ๋ง์คํฐํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
์ด ๋ก๋๋งต์ ๋ง์คํฐํ๋ฉด, ์ฌ๋ฌ๋ถ์ด '๋จ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฐ๋ฐ์'๋ฅผ ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ชฝ์ ๋ชจ๋ ๊น์ด ์๊ฒ ์ดํดํ๊ณ ์ต์ ํํด์, ์ด๋ค ๋ฌธ์ ์ํฉ์์๋ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ๋ฅผ ์ฐพ์๋ด๋ ์ง์ง ์ค๋ ฅ์๋ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
[๊ธฐํ, ๋ฐ์ดํฐ ๋ถ์๊ฐ ๊ด์ ์์ ๋ก๋๋งต ์๊ฐ]
๊ธฐํ์๋ ๋ฐ์ดํฐ ๋ถ์๊ฐ๋ผ๋ฉด ์ ๋ฌธํธ๊ณผ ๋ค์ ๊ธฐ๋ณธํธ๊น์ง ๋ฃ๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค.
์ ๋ฌธํธ: ์ ๋ฌธํธ์ ํตํด SQL ๊ธฐ์ด๋ฅผ ์ตํ๋ฉด, ๋ ์ด์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ๊ธฐ๋ค๋ฆด ํ์ ์์ด ์ํ๋ ๋ต์ ์ฆ์ ์ป๋ ์๋์ ๋ ๋ฆฝ์ฑ์ ๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ธฐ๋ณธํธ: ๊ธฐ๋ณธํธ์์๋ ํ ๊ฑธ์ ๋ ๋์๊ฐ๋๋ค.
์กฐ์ธ, ์๋ธ์ฟผ๋ฆฌ, ์ ๋์จ, ์ผ์ด์ค ๋ฌธ ๊ฐ์ ๊ณ ๊ธ SQL์ ํ์ฉํด ์ฌ๋ฌ ๊ณณ์ ํฉ์ด์ง ๋ฐ์ดํฐ๋ฅผ ํฉ์น๊ณ , ๋๋ง์ ๊ธฐ์ค์ผ๋ก ์ฌ๊ฐ๊ณตํ๋ฉฐ ๋ถ์์ ๊น์ด๋ฅผ ๋ํ๊ฒ ๋ฉ๋๋ค.
์ด ๋ ๊ณผ์ ๋ง์ผ๋ก๋ ์ฌ๋ฌ๋ถ์ ๋ฐ์ดํฐ์ ๊ธฐ๋ฐํด ์๋น์ค๋ฅผ ๊ฐ์ ํ๊ณ , ์กฐ์ง์ ์ค๋ํ๊ณ , ๊ฐ๋ฐํ๊ณผ ์ํํ ์ํตํ๋ ํต์ฌ ์ธ์ฌ๋ก ๊ฑฐ๋ญ๋ ๊ฒ์ ๋๋ค.
๋ง์ฝ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ํ๋ก๋ํธ๋ฅผ ์ง์ ๋ฆฌ๋ํ๊ณ ์ถ๋ค๋ฉด, ์ฌํ ๊ณผ์ ์ผ๋ก '์ค๊ณํธ'์ ํ์ตํด์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ์ดํด๋ฅผ ๋ํ๋ ๊ฒ๋ ์ข์ ์ ํ์ด ๋ ์ ์์ต๋๋ค.
๊ธฐํ์์ ๋ถ์๊ฐ๋ถ๋ค๊ป ์ด ๋ก๋๋งต์ ์ ๋ฌธํธ๊ณผ ๊ธฐ๋ณธํธ์ ๋ฐ์ดํฐ๋ก ์ผํ๋ ๋ฐฉ์์ ์์ ํ ๋ฐ๊พธ์ด ์ค ๊ฒ๋๋ค.
์ ๋ฌธํธ - ์น์ ๋ชฉ์ฐจ
1. ๊ฐ์ ์๊ฐ์ ์์ ์๋ฃ
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฐ
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์
4. SQL - ๋ฐ์ดํฐ ๊ด๋ฆฌ
5. SQL - ์กฐํ์ ์ ๋ ฌ
6. SQL - ๋ฐ์ดํฐ ๊ฐ๊ณต
7. SQL - ์ง๊ณ์ ๊ทธ๋ฃนํ
๊ธฐ๋ณธํธ - ์น์ ๋ชฉ์ฐจ
1. ๊ฐ์ ์๊ฐ์ ์์ ์๋ฃ
2. ์กฐ์ธ1 - ๋ด๋ถ ์กฐ์ธ
3. ์กฐ์ธ2 - ์ธ๋ถ ์กฐ์ธ๊ณผ ๊ธฐํ ์กฐ์ธ
4. ์๋ธ์ฟผ๋ฆฌ
5. UNION
6. CASE ๋ฌธ
7. ๋ทฐ(View)
8. ์ธ๋ฑ์ค1
9. ์ธ๋ฑ์ค2
10. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ
11. ํธ๋์ญ์
12. ์ ์ฅ ํ๋ก์์ , ํจ์, ํธ๋ฆฌ๊ฑฐ
๋ก๋๋งต ์งํ ๊ด๋ จ ์ง๋ฌธ๋ค์ ๋ชจ์์ ๋ต๋ณ๋๋ ค์.
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต ์งํ ๊ธฐ๋ณธ ์์
- ๊ธฐ๋ณธ์ ์ธ ์์๋ ์๋ฐ -> ๋ฐ์ดํฐ๋ฒ ์ด์ค -> ์คํ๋ง -> ์คํ๋ง ๋ถํธ์ JPA ํ์ฉ ์์์ ๋๋ค.
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ก๋๋งต ์งํ ์ถ์ฒ ์์
๊ฐ์ฅ ํจ๊ณผ์ ์ธ ์งํ ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธํธ๊ณผ ๊ธฐ๋ณธํธ์ ์คํ๋ง ๋ก๋๋งต์ ์คํ๋ง DB1 ์ง์ ์ ํ์ตํ๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ๋ค์ ์์๋ก ํ์ตํ๋ ๊ฒ์ ๋๋ค.
- ...
- ์คํ๋ง MVC2
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธํธ
- ์คํ๋ง DB 1ํธ
- ์คํ๋ง DB 2ํธ
- ...
์คํ๋ง ๋ถํธ์ JPA ํ์ฉ ๋ก๋๋งต์ ์งํํ ๋๋ ์ต์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธํธ๊น์ง๋ ๋ฃ๊ณ ์งํํ์๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณํธ, ์ฑ๋ฅ ์ต์ ํ์ ๊ณ ๊ธ๊ธฐ๋ฅ์ ์ถ์๊ฐ ๋๋ฉด ๋ค์ ํ๋ฒ ์ ๋ฆฌํด์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
3. mysql ๋ฒ ์ด์ค๋ก ํ์ต์งํํ๋์? ์ค๋ผํด๋ก ์งํํ๋์?
์ค์ต์ MySQL์ ์ค์ฌ์ผ๋ก ์งํ๋์ง๋ง, ๊ฐ์ ๋ด์ฉ์ MySQL๋ฟ๋ง ์๋๋ผ RDBMS ์ ์ฒด๋ฅผ ์์ฐ๋ฅด๋ ๋ณดํธ์ ์ธ ์ง์์ ์ ๋ฌํ๋ ๋ฐ ์ด์ ์ ๋ง์ถฅ๋๋ค. ๊ทธ๋์ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฝ๋งค์ด์ง ์๋ ํญ๋์ ์ดํด๋ฅผ ๋ชฉํ๋ก ํฉ๋๋ค.
๋น์ ๋ฅผ ํ์๋ฉด ์ด ๊ฐ์์์ ์ฐ๋ฆฌ๋ MySQL์ด๋ผ๋ ์๋์ฐจ๋ฅผ ์ด์ ํ๋ ๋ฒ์ ๋ฐฐ์ธ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๋จ์ํ ํน์ ๋ชจ๋ธ์ ์๋์ฐจ ์กฐ์๋ฒ๋ง ์ตํ๋ ๊ฒ์ด ์๋๋ผ, ์ก์ , ๋ธ๋ ์ดํฌ, ํธ๋ค์ฒ๋ผ ์ด๋ค ์๋์ฐจ(RDBMS)๋ฅผ ํ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์์ผ ํ ์ด์ ์๋ฆฌ(RDBMS์ ํต์ฌ ๊ฐ๋ )๋ฅผ ๋ฐฐ์ฐ๋ ๋ฐ ์ค์ ์ ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋ค๋ฅธ RDBMS๋ฅผ ๋ค๋ฃฐ ๋๋ ํฐ ๋์์ด ๋ ๊ฑฐ์์.
๊ฐ์ฌํฉ๋๋ค.






