์ฝ์ ๋ ์ง : 2024.08.19
์ง์์ด : ์๋ ์ค ์ฌ
์ถํ์ฌ : ์ธ์ฌ์ดํธ
โ๏ธ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
๊ฐ๋ต์ ์ธ ๊ท๋ชจ ์ถ์ (back-of-the-envelope estimatation)
- ๋ณดํธ์ ์ผ๋ก ํต์ฉ๋๋ ์ฑ๋ฅ ์์น์์์ ์ฌ๊ณ ์คํ์ ํํ์ฌ ์ถ์ ์น๋ฅผ ๊ณ์ฐํ๋ ํ์
- ์ด๋ค ์ค๊ณ๊ฐ ์๊ตฌ์ฌํญ์ ๋ถํฉํ ๊ฒ์ธ์ง ๋ณด๊ธฐ ์ํ ๊ฒ
- 2์ ์ ๊ณฑ์, ์๋ต์ง์ฐ ๊ฐ, ๊ฐ์ฉ์ฑ๊ณผ ๊ด๋ จ๋ ์์น๋ฅผ ์ดํดํด์ผ ํ๋ค.
2์ ์ ๊ณฑ์
- ์ต์ ๋จ์๋ 1๋ฐ์ดํธ(=8๋นํธ). ASCII ๋ฌธ์ ํ๋๊ฐ 1๋ฐ์ดํธ.
- 1 byte(๋ฐ์ดํธ) - 1KB(ํฌ๋ก๋ฐ์ดํธ) - 1MB(๋ฉ๊ฐ๋ฐ์ดํธ) - 1GB(๊ธฐ๊ฐ๋ฐ์ดํธ) - 1TB(ํ ๋ผ๋ฐ์ดํธ) - 1PB(ํํ๋ฐ์ดํธ)
- ๋จ์๊ฐ ๋ฐ๋ ๋๋ง๋ค 2์ 10์ ๊ณฑ์ฉ ๊ณฑํด์ง๋ค.
์๋ต์ง์ฐ ๊ฐ
- ๋ฉ๋ชจ๋ฆฌ๋ ๋น ๋ฅด์ง๋ง ๋์คํฌ๋ ๋๋ฆฌ๋ค.
- ๋์คํฌ ํ์์ ๊ฐ๋ฅํ ํ ํผํ๋ผ.
- ๋จ์ํ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋น ๋ฅด๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ธํฐ๋ท์ผ๋ก ์ ์กํ๊ธฐ ์ ์ ๊ฐ๋ฅํ๋ฉด ์์ถํ๋ผ.
- ๋ฐ์ดํฐ ์ผํฐ๋ ๋ณดํต ์ฌ๋ฌ ์ง์ญ(region)์ ๋ถ์ฐ๋์ด ์๊ณ , ์ผํฐ๋ค ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ๋ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
๊ฐ์ฉ์ฑ์ ๊ด๊ณ๋ ์์น๋ค
- ๊ณ ๊ฐ์ฉ์ฑ : ์์คํ
์ด ์ค๋ ์๊ฐ ๋์ ์ง์์ ์ผ๋ก ์ค๋จ ์์ด ์ด์๋ ์ ์๋ ๋ฅ๋ ฅ.
- ํผ์ผํธ๋ก ํํํ๋ค. 100%๋ฉด ํ ๋ฒ๋ ์์คํ ์ด ์ค๋จ๋ ์ ์๋ค๋ ๋ป.
- ๋๋ถ๋ถ์ ์๋น์ค๋ 99~100% ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค.
- ๊ด์ต์ ์ผ๋ก 9๋ฅผ ์ด์ฉํด ํ๊ธฐํ๊ณ , 9๊ฐ ๋ง์์๋ก ์ข๋ค๋ ๋ป์ด๋ค. (e.g. 99.999%)
ํ
- ๊ทผ์ฌ์น๋ฅผ ํ์ฉํ ๊ณ์ฐ : 99987 => 100,000
- ๋จ์๋ฅผ ๋ถ์ด๋ ์ต๊ด
- QPS(Query Per Second), ์ต๋ QPS, ์ ์ฅ์ ์๊ตฌ๋, ์บ์ ์๊ตฌ๋, ์๋ฒ ์ ๋ฑ ์ถ์ ํ๋ ์ฐ์ต
์์คํ ์ค๊ณ ๋ฉด์ ์์ ์๊ณ ์ถ์ ๊ฒ๋ค
- ์ค๊ณ ๊ณผ์ ์์ ๋ด๋ฆฐ ๊ฒฐ์ ๋ค์ ๋ํ ๋ฐฉ์ด ๋ฅ๋ ฅ
- ๋ฉด์ ๊ด์ ํผ๋๋ฐฑ์ ๊ฑด์ค์ ์ธ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ์์ง์ด ์๋์ง
- ํ๋ ฅ์ ์ ํฉํ ์ฌ๋์ธ์ง
- ์๋ฐ์ด ์ฌํ ์ํฉ๋ ์ ํค์ณ ๋๊ฐ ์์ง์ด ์๋์ง
- ๋ชจํธํ ๋ฌธ์ ๋ฅผ ๊ฑด์ค์ ์ผ๋ก ํด๊ฒฐํ ๋ฅ๋ ฅ์ด ์๋์ง
- ์ข์ ์ง๋ฌธ์ ๋์ง ๋ฅ๋ ฅ์ด ์๋์ง
- ์ค๊ณ์ ์์์ฑ์ ์ง์ฐฉํด์ ํํ์ ๊ฒฐ์ (tradeoff)์ ๋์ธ์ํ๊ณ ์ค๋ฒ์์ง๋์ด๋ง์ ํ์ง ์๋์ง
ํจ๊ณผ์ ๋ฉด์ ์ ์ํ 4๋จ๊ณ ์ ๊ทผ๋ฒ
1๋จ๊ณ : ๋ฌธ์ ์ดํด ๋ฐ ์ค๊ณ ๋ฒ์ ํ์ (3~10๋ถ)
- ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ๊ธฐ๋ฅ๋ค์ ๋ง๋ค์ด์ผ ํ๋?
- ์ ํ ์ฌ์ฉ์ ์๋ ์ผ๋ง๋ ๋๋?
- ํ์ฌ์ ๊ท๋ชจ๋ ์ผ๋ง๋ ๋นจ๋ฆฌ ์ปค์ง๋ฆฌ๋ผ ์์ํ๋?
- ํ์ฌ๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ ๊ธฐ์ ์คํ์ ๋ฌด์์ธ๊ฐ? ์ค๊ณ๋ฅผ ๋จ์ํํ๊ธฐ ์ํด ํ์ฉํ ์ ์๋ ๊ธฐ์กด ์๋น์ค๋ก๋ ์ด๋ค ๊ฒ๋ค์ด ์๋๊ฐ?
2๋จ๊ณ : ๊ฐ๋ต์ ์ธ ์ค๊ณ์ ์ ์ ๋ฐ ๋์ ๊ตฌํ๊ธฐ(10~15๋ถ)
- ์ค๊ณ์์ ๋ํ ์ต์ด ์ฒญ์ฌ์ง์ ์ ์ํ๊ณ ์๊ฒฌ ๊ตฌํ๊ธฐ.
- ํต์ฌ ์ปดํฌ๋ํธ๋ฅผ ํฌํจํ๋ ๋ค์ด์ด๊ทธ๋จ์ ๊ทธ๋ ค๋ณด๊ธฐ.
- ํด๋ผ์ด์ธํธ(๋ชจ๋ฐ์ผ/์น), API, ์น ์๋ฒ, ๋ฐ์ดํฐ ์ ์ฅ์, ์บ์, CDN, ๋ฉ์์ง ํ ๋ฑ๋ฑ
- ์ต์ด ์ค๊ณ์์ด ์์คํ ๊ท๋ชจ์ ๊ด๊ณ๋ ์ ์ฝ์ฌํญ๋ค์ ๋ง์กฑํ๋์ง๋ฅผ ๊ฐ๋ต์ ์ผ๋ก ๊ณ์ฐํด๋ณด๊ธฐ.
3๋จ๊ณ : ์์ธ ์ค๊ณ(10~25๋ถ)
- ํน์ ์ปดํฌ๋ํธ๋ค์ ์ธ๋ถ์ฌํญ์ ๊น์ด ์๊ฒ ์ค๋ช ํ๊ธฐ
- ์ฐ์ ์์๋ฅผ ์ ํ์ฌ ๊ฐ์ฅ ์ค์ํ ์ปดํฌ๋ํธ๋ถํฐ ์งํํ๊ธฐ
4๋จ๊ณ : ๋ง๋ฌด๋ฆฌ(3~5๋ถ)
- ์์คํ ์ ๋ณ๋ชฉ๊ตฌ๊ฐ, ์ข ๋ ๊ฐ์ ๊ฐ๋ฅํ ์ง์
- ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฌด์จ ์ผ์ด ์๊ธฐ๋์ง
- ๋ก๊ทธ๋ ๋ฉํธ๋ฆญ์ ์ด๋ป๊ฒ ์์งํ๊ณ ๋ชจ๋ํฐ๋งํ ๊ฒ์ธ์ง
- ์์คํ ์ ์ด๋ป๊ฒ ๋ฐฐํฌํด ๋๊ฐ ๊ฒ์ธ์ง
- ๋ฏธ๋์ ๋ฅ์น ๊ท๋ชจ ํ์ฅ ์๊ตฌ์ ์ด๋ป๊ฒ ๋์ฒํ ๊ฒ์ธ์ง (๋ ๋ง์ ์ฌ์ฉ์๋ฅผ ๊ฐ๋นํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์ง)
ํด์ผํ ๊ฒ
- ์ค์ค๋ก ๋ด๋ฆฐ ๊ฐ์ ์ด ์ณ๋ค ์๊ฐํ์ง ๋ง๊ณ , ์ง๋ฌธ์ ํตํด ํ์ธํ๊ธฐ
- ๋ฌธ์ ์ ์๊ตฌ์ฌํญ ์ดํดํ๊ธฐ
- ์ ๋ต์ด๋ ์ต์ ์ ๋ต์ ๊ฐ์ ๊ฒ์ ์๋ค
- ๋ฉด์ ๊ด๊ณผ ์ํตํ๋ฉฐ ๋์ ์ฌ๊ณ ํ๋ฆ์ ์ดํดํ ์ ์๋๋ก ํ๊ธฐ
- ๊ฐ๋ฅํ๋ค๋ฉด ์ฌ๋ฌ ํด๋ฒ์ ํจ๊ป ์ ์ํ๊ธฐ
ํ์ง ๋ง์์ผ ํ ๊ฒ
- ์ ํ์ ์ธ ๋ฉด์ ๋ฌธ์ ๋ค์๋ ๋๋นํ์ง ์์ ์ํ์์ ๋ฉด์ ์ฅ์ ๊ฐ์ง ๋ง ๊ฒ
- ์๊ตฌ์ฌํญ์ด๋ ๊ฐ์ ๋ค์ ๋ถ๋ช ํ ํ์ง ์์ ์ํ์์ ์ค๊ณ๋ฅผ ์ ์ํ์ง ๋ง ๊ฒ
- ์ฒ์๋ถํฐ ํน์ ์ปดํฌ๋ํธ์ ์ธ๋ถ์ฌํญ์ ๋๋ฌด ๊น์ด ์ค๋ช ํ์ง ๋ง ๊ฒ : ๊ฐ๋ต์ ์ค๊ณ -> ์ธ๋ถ์ฌํญ
- ํ๋ค๊ฐ ๋งํ๋ฉด ํํธ๋ฅผ ์์ฒญํ๋ ๊ฒ์ ์ฃผ์ ํ์ง ๋ง ๊ฒ
- ์ํต์ ์ฃผ์ ํ์ง ๋ง๊ณ , ์นจ๋ฌต ์์ ์ค๊ณ๋ฅผ ์งํํ์ง ๋ง ๊ฒ
โ๏ธ ์ค๋ ์ฝ์ ์๊ฐ
๊ผญ ์์คํ ์ค๊ณ ๋ฉด์ ์ด ์๋๋๋ผ๋ ๊ธฐ์ ๋ฉด์ ์ค๋น์ ํ์ํ ๋ด์ฉ๋ค์ธ ๊ฒ ๊ฐ๋ค.
์ ๋ต์ด ์๋ค ์๊ฐํ๊ณ ๊ทธ๊ฑธ ๋ง์ถ๋ ค๊ณ ๋ง ํ๋ค๋ณด๋ฉด ์คํ๋ ค ์ค๋ช ๊ณผ ๋ต๋ณ์ด ๋ ๊ผฌ์ด๋ ๊ฒ ๊ฐ๋ค.
๋ฉด์ ๊ด๊ณผ ์ํตํ๋ฉด์, ํ์ํ๋ค๋ฉด ์ ๊ทน์ ์ผ๋ก ํํธ๋ ๊ตฌํ๊ณ ๊ฐ๋ต์ ์ธ ๋ด์ฉ์์ ์ธ๋ถ์ ์ธ ๋ด์ฉ ์์ผ๋ก ์ค๋ช ํ๋ ๊ฒ์ด ์ค์ํ ๊ฒ ๊ฐ๋ค.
โ๏ธ ๊ถ๊ธํ ๋ด์ฉ & ์ ์ดํด๋์ง ์๋ ๋ด์ฉ
QPS
- ์์คํ (๊ฒ์์์ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค, API ๋ฑ)์์ ์ด๋น ์ฒ๋ฆฌํ ์ ์๋ ์ฟผ๋ฆฌ ๋๋ ์์ฒญ์ ์
- ํธ๋ํฝ ์ธก์ ๋จ์ ์ค ํ๋๋ก, ์์คํ ์ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ์ธก์ ํ๋ ์งํ