๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ํ ๋ฐ ์ฑ๋ฅ ํ๋ ์๋น์ค์ ๋๋ค. ๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ์ง๋จํ๊ณ , ๋ณ๋ชฉ ํ์์ ํด๊ฒฐํ๋ฉฐ, ์ต๋ ์ฒ๋ฆฌ๋๊ณผ ์ต์ ์ง์ฐ ์๊ฐ์ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ๋ํฉ๋๋ค.
์์ํ๊ธฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๋ฌธ์ ๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฌํ๋ฉ๋๋ค. ๊ฐ๋ ๋๋ ค์ง๋ ํ์์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์ฌ์ฉ์ ๊ฒฝํ์ ์ง์์ ์ธ ๋ถ๋ด์ ์ฃผ๊ฒ ๋ฉ๋๋ค. ์ ํฌ๋ ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ทจํฉ๋๋ค. ์ค์ ๋ถํ ํ์์ ํ๋กํ์ผ๋งํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ํตํด ๊ทผ๋ณธ ์์ธ์ ์๋ณํ๋ฉฐ, ์ธก์ ๊ฐ๋ฅํ ๊ฐ์ ์ ์ ๊ณตํ๋ ๋ชฉํ๋ณ ์ต์ ํ๋ฅผ ๊ตฌํํฉ๋๋ค.
์ ํฌ๋ ๋ค์ดํฐ๋ธ ํ๋กํ์ผ๋ง ๋๊ตฌ, pganalyze, DataDog Database Monitoring ๋ฐ ์ฌ์ฉ์ ์ง์ ๋ถ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ PostgreSQL, MySQL, MongoDB ๋ฐ DynamoDB๋ฅผ ์ต์ ํํฉ๋๋ค. ์๋ฃจ์ ์๋ ์ธ๋ฑ์ค ๋ณ๊ฒฝ, ์ฟผ๋ฆฌ ์ฌ์์ฑ, ๊ตฌ์ฑ ํ๋, ๊ทธ๋ฆฌ๊ณ ์ฝ๊ธฐ ๋ณต์ ๋ณธ ๋ฐ ์บ์ฑ๊ณผ ๊ฐ์ ์ํคํ ์ฒ ๊ฐ์ ์ฌํญ์ด ํฌํจ๋ฉ๋๋ค.
๋๋ฆฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ, ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค CPU/๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ์ฐ๊ฒฐ ํ ๊ณ ๊ฐ ๋๋ ์ฆ๊ฐํ๋ ์๋ต ์๊ฐ์ ๊ฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์๋น์ค์ ๋๋ค. ๋จ์ผ ๋ฌธ์ ์ฟผ๋ฆฌ๋ ์์คํ ์ ์ธ ์ฑ๋ฅ ๋ฌธ์ ๋ , ์ ํฌ๋ ๊ทผ๋ณธ ์์ธ์ ์๋ณํ๊ณ ํด๊ฒฐํฉ๋๋ค.
๋ถํ ์ํ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ๋กํ์ผ๋งํ๊ณ , ์์ ๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ์๋ณํ๋ฉฐ, ๋ฆฌ์์ค ์ฌ์ฉ ํจํด์ ๋ถ์ํฉ๋๋ค.
EXPLAIN์ ์ฌ์ฉํ์ฌ ๋๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ธต ๋ถ์ํ๊ณ , ๋๋ฝ๋ ์ธ๋ฑ์ค๋ฅผ ์๋ณํ๋ฉฐ, ์ ๊ธ ๊ฒฝํฉ์ ๋ถ์ํฉ๋๋ค.
์ฟผ๋ฆฌ ์ฌ์์ฑ์ ๊ตฌํํ๊ณ , ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ๋ฉฐ, ๊ตฌ์ฑ์ ํ๋ํ๊ณ , ์ฐ๊ฒฐ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํฉ๋๋ค.
๊ฐ์ ์ฌํญ์ ๋ฒค์น๋งํนํ๊ณ , ํ๊ท ์์(regression)์ ํ์ธํ๋ฉฐ, ํผํฌ ์กฐ๊ฑด์์ ๋ถํ ํ ์คํธ๋ฅผ ์ํํฉ๋๋ค.
์ฑ๋ฅ ๋์๋ณด๋, ๋๋ฆฐ ์ฟผ๋ฆฌ ์๋ฆผ์ ๋ฐฐํฌํ๊ณ , ์ต์ ํ ๊ฒํ ์ฃผ๊ธฐ๋ฅผ ์ค์ ํฉ๋๋ค.
๊ทํ์ ์ ํ๋ฆฌ์ผ์ด์ ์๋๋ฅผ ์ ํ์ํค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌธ์ ๋ฅผ ์ง๋จํ๊ณ ํด๊ฒฐํด ๋๋ฆฝ๋๋ค.
์ ํฌ์ ์ฑ๋ฅ ํ๋์ ๋๋ฆฐ ์ฟผ๋ฆฌ ๋ถ์, ์ธ๋ฑ์ค ์ต์ ํ, ๊ตฌ์ฑ ํ๋ผ๋ฏธํฐ ํ๋, ์ปค๋ฅ์ ํ ํฌ๊ธฐ ์กฐ์ , Vacuum ๋ฐ ํต๊ณ ๊ด๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ๊ณ ๊ฐ์ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ๋ง์ถฐ์ง ์คํ ๋ฆฌ์ง I/O ์ต์ ํ๋ฅผ ๋ค๋ฃน๋๋ค.
MicrocosmWorks๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ํ ๋ฐ ์ฑ๋ฅ ํ๋ ์๋น์ค๋ฅผ ์๊ฐ๋น $20-$50์ ์ ๊ณตํฉ๋๋ค. ๋ง์ ๊ณ ๊ฐ๋ค์ด ์๋น์ค ์์ ์ฒซ ์ฃผ ์์ ์๋นํ ์ฑ๋ฅ ํฅ์์ ๊ฒฝํํฉ๋๋ค.
๋ค, ์ ํฌ๋ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์์ฑํ๊ณ , ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ๊ณ , ์ฟผ๋ฆฌ ํ๋ ํํธ๋ฅผ ๊ตฌํํ๊ณ , ์กฐ์ธ์ ์ฌ๊ตฌ์ฑํ์ฌ ์ฟผ๋ฆฌ ์คํ ์๊ฐ์ ์ผ์์ ์ผ๋ก ๋ช ๋ถ์์ ๋ช ๋ฐ๋ฆฌ์ด๋ก ๋จ์ถํฉ๋๋ค. ๋ชจ๋ ๋ณ๋ชฉ ํ์์ ์๋ณํ๊ณ ์ ๊ฑฐํ๊ธฐ ์ํด EXPLAIN ANALYZE๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ํํ ๋ณ๋ชฉ ํ์์ ํ์ ํ๊ธฐ ์ํด ์ฌ๋ก์ฐ ์ฟผ๋ฆฌ ๋ก๊ทธ, ์ ๊ธ ๊ฒฝํฉ ์งํ, I/O ๋๊ธฐ ํต๊ณ, ๋ฒํผ ์บ์ ์ ์ค๋ฅ ๋ฐ ์ฐ๊ฒฐ ํ ํ์ฉ๋ฅ ์ ๋ถ์ํฉ๋๋ค. ๋ํ N+1 ์ฟผ๋ฆฌ์ ๋๋ฝ๋ ์ธ๋ฑ์ค๋ฅผ ์๋ณํ๊ธฐ ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์์ค์ ์ฟผ๋ฆฌ ํจํด์ ํ๋กํ์ผ๋งํฉ๋๋ค.
๋ค, ์ ํฌ๋ pganalyze, Datadog ๋๋ ๋ง์ถคํ Prometheus/Grafana ๋์๋ณด๋์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ค์ ํ๋ฉฐ, ์ฟผ๋ฆฌ ํ๊ท, ์ ๊ธ ์์ค์ปฌ๋ ์ด์ ๋ฐ ๋ฆฌ์์ค ๊ณ ๊ฐ์ ๋ํ ์๋ํ๋ ์๋ฆผ์ ์ ๊ณตํ์ฌ ๋ฌธ์ ๊ฐ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ ์ ๊ฐ์ง๋๋๋ก ํฉ๋๋ค.