13์ฅ
1๋จ๊ณ ๋ฌธ์ ์ดํด ๋ฐ ์ค๊ณ ๋ฒ์ ํ์
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๋จ์ด๋ ๊ฒ์์ด์ ์ฒซ ๋ถ๋ถ
5๊ฐ์ ์๋์์ฑ ๊ฒ์์ด๊ฐ ํ์๋์ด์ผ ํจ
๊ฒ์์ด ์ธ๊ธฐ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก 5๊ฐ๊ฐ ์ ์ ๋จ
๋ง์ถค๋ฒ ๊ฒ์ฌ ๊ธฐ๋ฅ์ด๋ ์๋์์ ์ ์ง์ํ์ง ์์
์ง์๋ ์์ด
๋๋ฌธ์๋ ํน์๋ฌธ์ ์ฒ๋ฆฌ๋ ์์ (์๋ฌธ์๋ง ์ฌ์ฉ)
DAU ๊ธฐ์ค ์ฒ๋ง๋ช
์๊ตฌ์ฌํญ
๋น ๋ฅธ ์๋ต ์๋
์ฐ๊ด์ฑ
์ ๋ ฌ
๊ท๋ชจ ํ์ฅ์ฑ
๊ณ ๊ฐ์ฉ์ฑ
๊ฐ๋ต์ ๊ท๋ชจ ์ถ์
์ผ๊ฐ ๋ฅ๋ ์ฌ์ฉ์ ์ฒ๋ง๋ช
ํ ์ฌ์ฉ์๋ ๋งค์ผ 10๊ฑด์ ๊ฒ์์ ์ํํ๋ค๊ณ ๊ฐ์
ํ๊ท ์ ์ผ๋ก 20๋ฐ์ดํธ์ ๋ฉ์์ง๋ฅผ ๊ฒ์ (1๋ฌธ์ 1๋ฐ์ดํธ)
1ํ ๊ฒ์๋น 20๊ฑด์ ์์ฒญ์ด ๋ฐฑ์๋๋ก ์ ๋ฌ๋จ
์ด๋น 24000๊ฑด์ QPS
์ต๋ QPS = QPS * 2 = ๋๋ต 48000
์ง์ ๊ฐ์ด๋ฐ 20% ์ ๋๋ ์ ๊ท ๊ฒ์์ด - ๋งค์ผ 0.4GB์ ์ ๊ท ๋ฐ์ดํฐ๊ฐ ์์คํ ์ ์ถ๊ฐ๋จ
2๋จ๊ณ ๊ฐ๋ต์ ์ค๊ณ์ ์ ์ ๋ฐ ๋์ ๊ตฌํ๊ธฐ
๋ฐ์ดํฐ ์์ง ์๋น์ค
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ง์๋ฅผ ์ค์๊ฐ์ผ๋ก ์์ง
์ง์ ์๋น์ค
์ฃผ์ด์ง ์ง์์ ๋ค์ฏ ๊ฐ์ ์ธ๊ธฐ ๊ฒ์์ด๋ฅผ ์ ๋ ฌํด ๋ด๋์
๋ฐ์ดํฐ ์์ง ์๋น์ค
๋น๋ ํ ์ด๋ธ์ด ์๋ค๊ณ ๊ฐ์
์ง์ ์๋น์ค
SELECT * FROM frequency_table WHERE query like 'prefix%' ORDER BY frequency DESC LIMIT 5
3๋จ๊ณ ์์ธ ์ค๊ณ
ํธ๋ผ์ด ์๋ฃ ๊ตฌ์กฐ
ํด๋น ์ ๋์ด๋ฅผ ํํํ๋ ๋ ธ๋๋ฅผ ์ฐพ๋๋ค. ์๊ฐ ๋ณต์ก๋๋ O(p) (p: ์ ๋์ด์ ๊ธธ์ด)
ํด๋น ๋ ธ๋๋ถํฐ ์์ํ๋ ํ์ ํธ๋ฆฌ๋ฅผ ํ์ํ์ฌ ๋ชจ๋ ์ ํจ๋ ธ๋๋ฅผ ์ฐพ๋๋ค. ์๊ฐ ๋ณต์ก๋๋ O(c) - ์ฃผ์ด์ง ๋ ธ๋์ ์์ ๋ ธ๋ ๊ฐ์)
์ ํจ ๋ ธ๋๋ค์ ์ ๋ ฌํ์ฌ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๊ฒ์์ด k๊ฐ๋ฅผ ์ฐพ๋๋ค. ์๊ฐ ๋ณต์ก๋๋ O(clogc)
์ต์ ์ ๊ฒฝ์ฐ k๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ ์ฒด ํธ๋ผ์ด๋ฅผ ๋ค ๊ฒ์ํด์ผ ํจ
์ ๋์ด ์ต๋ ๊ธธ์ด ์ ํ
๊ฐ ๋ ธ๋์ ์ธ๊ธฐ ๊ฒ์์ด๋ฅผ ์บ์
๊ฐ ๋จ๊ณ์ ์๊ฐ ๋ณต์ก๋๊ฐ O(1)ใ ๋ก ๋ฐ๋์ด์ ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋๋ O(1)์ผ๋ก ๋ฐ๋๋ค.
๋ฐ์ดํฐ ์์ง ์๋น์ค
๋งค๋ฒ ์์ฒ๋ง ๊ฑด์ ์ง์๊ฐ ์ ๋ ฅ๋ ํ ๋ฐ ๊ทธ๋๋ง๋ค ํธ๋ผ์ด๊ฐ ๊ฐฑ์ ๋๋ฉด ์ง์ ์๋น์ค๊ฐ ์ฌ๊ฐํ๊ฒ ๋๋ ค์ง ๊ฒ์ด๋ค.
ํธ๋ผ์ด๊ฐ ๋ง๋ค์ด์ง๊ณ ๋๋ฉด ์ธ๊ธฐ ๊ฒ์์ด๋ ๊ทธ๋ค์ง ์์ฃผ ๋ฐ๋์ง์์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ํธ๋ผ์ด๋ ๊ทธ๋ ๊ฒ ์์ฃผ ๊ฐฑ์ ํ ํ์๊ฐ ์๋ค.
โ ๋ก๊ทธ ์ทจํฉ ์๋ฒ๋ฅผ ์ด์ฉํด์ ํธ๋ผ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋งค์ฃผ ๊ฐฑ์ ํ๊ณ , ๋งค์ฃผ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ค๋ ์ทํ์ฌ ํธ๋ผ์ด ์บ์๋ก ์ฌ์ฉํ๋ค.
์ง์ ์๋น์ค
๊ฒ์ ์ง์ - ๋ก๋ ๋ฐธ๋ฐ์ - API ์๋ฒ - ํธ๋ผ์ด ์บ์ - ํธ๋ผ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค
AJAX ์์ฒญ - ์๋ก๊ณ ์นจ ํ ํ์ ์์ด์ง
๋ธ๋ผ์ฐ์ ์บ์ฑ - ์ ์๋ ๊ฒ์์ด๋ฅผ ๋ธ๋ผ์ฐ์ ์บ์์ ๋ฃ์ด๋ . (๊ตฌ๊ธ์ ์ ์๋ ๊ฒ์์ด๋ฅผ ํ ์๊ฐ ๋์ ์บ์ํด ๋๋ค.)
๋ฐ์ดํฐ ์ํ๋ง N๊ฐ ์์ฒญ ๊ฐ์ด๋ฐ 1๊ฐ๋ง ๋ก๊น ํ๋๋ก ํ๋ค.
๊ท๋ชจ ํ์ฅ์ด ๊ฐ๋ฅํ ์ ์ฅ์
์ฒซ ๊ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฉํ๋ค - ๊ท ๋ฑํ๊ฒ ๋ถ๋ฐฐ๋์ง ์์
๊ฒ์์ด ๋์ ์ค๋ ๊ด๋ฆฌ์๋ฅผ ๋๋ค. (๊ณผ๊ฑฐ ์ง์ ๋ฐ์ดํฐ์ ํจํด์ ๋ถ์ํ์ฌ ์ค๋ฉํจ)
๋ผ์ด๋ธ๋ก ์ ๋ฐ์ดํธํ ์ ์๋๊ฑด๊ฐ? ์๋๋ฉด ์ค๋ฉํ ๋๋ง๋ค ๋ฆฌ์ ํ๋๊ฑด๊ฐ?
d,e๊ฐ ๋ถ์ด ์์์ โ d๋ e๊ฐ ๋ถ๋ฆฌ๊ฐ ๋จ โ ์ฎ๊ธฐ๋ ๋์์๋ d,e์ชฝ ๋ณด๊ณ ์๋ค๊ฐ ์ค๋ฉํ ํ ์ค๋ฉ๋ d,e๋ฅผ ๋ณด๋๋ก ํจ
ํธ๋ผ์ด ์ฐ์ฐ
ํธ๋ผ์ด ๊ฐฑ์
๋งค์ฃผ ํ ๋ฒ ๊ฐฑ์
๊ฐ ๋ ธ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐฑ์ - ์ฑ๋ฅ์ด ์ข์ง ์์
๊ฒ์์ด ์ญ์
ํธ๋ผ์ด ์บ์ ์์ ํํฐ ๊ณ์ธต์ ๋๊ณ ๋ถ์ ์ ํ ์ง์์ด๊ฐ ๋ฐํ๋์ง ์๋๋ก ํจ
4๋จ๊ณ ๋ง๋ฌด๋ฆฌ
๋ค๊ตญ์ด ์ง์
์ ๋์ฝ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผํจ
๊ตญ๊ฐ๋ณ๋ก ๋ค๋ฅธ ์ธ๊ธฐ ๊ฒ์์ด ์์
๊ตญ๊ฐ๋ณ๋ก ๋ค๋ฅธ ํธ๋ผ์ด ์ฌ์ฉ
์ค์๊ฐ์ผ๋ก ๋ณํ๋ ๊ฒ์์ด์ ์ถ์ด ๋ฐ์
์ง๊ธ ๊ตฌ์กฐ๋ก๋ ์๋จ
์ค๋ฉ์ ํตํด ๋์ ๋ฐ์ดํฐ์ ์์ ์ค์ธ๋ค
์์ ๋ชจ๋ธ์ ๋ฐ๊พธ์ด ์ต๊ทผ ๊ฒ์์ด์ ๋ณด๋ค ๋์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋๋ก ํ๋ค
์คํธ๋ฆผ ํ๋ก์ธ์ฑ์ ์ํด ๋งต๋ฆฌ๋์ค, ์คํํฌ ์คํธ๋ฆฌํน, ์นดํ์นด ๋ฑ์ด ํ์ํ๋ค.
Last updated