1๋จ๊ณ. ๋ฌธ์ ์ดํด ๋ฐ ์ค๊ณ ๋ฒ์ ํ์
๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
- ํ์ผ ์ถ๊ฐ. ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก๋ ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ์์ผ๋ก drag-and-drop ๊ฐ๋ฅํ๋๋ก
- ํ์ผ ๋ค์ด๋ก๋
- ์ฌ๋ฌ ๋จ๋ง์ ํ์ผ ๋๊ธฐํ. ํ ๋จ๋ง์์ ํ์ผ ์ถ๊ฐ ์ ๋ค๋ฅธ ๋จ๋ง์๋ ์๋์ผ๋ก ๋๊ธฐํ
- ํ์ผ ๊ฐฑ์ ์ด๋ ฅ ์กฐํ(revision history)
- ํ์ผ ๊ณต์
- ํ์ผ์ด ํธ์ง๋๊ฑฐ๋ ์ญ์ ๋๊ฑฐ๋ ์๋กญ๊ฒ ๊ณต์ ๋์์ ๋ ์๋ฆผ ํ์
๋น๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
- ์์ ์ฑ: ์ ์ฅ์ ์์คํ
์์ ์์ ์ฑ์ ๋งค์ฐ ์ค์. ๋ฐ์ดํฐ ์์ค ๋ฐ์ํ๋ฉด ์๋จ
- ๋น ๋ฅธ ๋๊ธฐํ ์๋
- ๋คํธ์ํฌ ๋์ญํญ: ๋๋ฌด ๋ง์ด ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ๋ถํธ ์ด๋
- ๊ท๋ชจ ํ์ฅ์ฑ: ์์ฃผ ๋ง์ ์์ ํธ๋ํฝ๋ ์ฒ๋ฆฌ ๊ฐ๋ฅํด์ผ ํจ
- ๋์ ๊ฐ์ฉ์ฑ: ์ผ๋ถ ์๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋, ๋๋ ค์ง๊ฑฐ๋, ๋คํธ์ํฌ ์ผ๋ถ๊ฐ ๋๊ฒจ๋ ์์คํ
์ ๊ณ์ ์ฌ์ฉ ๊ฐ๋ฅํด์ผ ํจ
๊ฐ๋ต์ ์ถ์ ์น
- ๊ฐ์
์ฌ์ฉ์ ์ค์ฒ๋ง๋ช
. ์ฒ๋ง๋ช
์ DAU ์ฌ์ฉ์.
- ๋ชจ๋ ์ฌ์ฉ์์๊ฒ 10GB์ ๋ฌด๋ฃ ์ ์ฅ๊ณต๊ฐ ํ ๋น
- ๋งค์ผ ๊ฐ ์ฌ์ฉ์๊ฐ ํ๊ท 2๊ฐ์ ํ์ผ์ ์
๋ก๋ํ๋ค๊ณ ๊ฐ์ . ๊ฐ ํ์ผ์ ํ๊ท ํฌ๊ธฐ๋ ์ฝ 500KB
- ์ฝ๊ธฐ:์ฐ๊ธฐ ๋น์จ์ 1:1
- ํ์ํ ์ ์ฅ๊ณต๊ฐ ์ด๋ = ์ค์ฒ๋ง ์ฌ์ฉ์ * 10GB = 500ํํ๋ฐ์ดํธ(Petabyte)
- ์
๋ก๋ API QPS = ์ฒ๋ง ์ฌ์ฉ์ * 2ํ ์
๋ก๋/24์๊ฐ/3600์ด = ์ฝ 240
- ์ต๋ QPS = OPS * 2 = 480
2๋จ๊ณ. ๊ฐ๋ต์ ์ค๊ณ์ ์ ์ ๋ฐ ๋์ ๊ตฌํ๊ธฐ
์๋ฒ ๊ตฌ์ฑ
- ํ์ผ์ ์ฌ๋ฆฌ๊ณ ๋ค์ด๋ก๋ ํ๋ ๊ณผ์ ์ ์ฒ๋ฆฌํ ์น ์๋ฒ
- ์ฌ์ฉ์ ๋ฐ์ดํฐ, ๋ก๊ทธ์ธ ์ ๋ณด, ํ์ผ ์ ๋ณด ๋ฑ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ์ผ์ ์ ์ฅํ ์ ์ฅ์ ์์คํ
. ํ์ผ ์ ์ฅ์ ์ํด 1TB์ ๊ณต๊ฐ์ ์ฌ์ฉํ ๊ฒ
API
1. ํ์ผ ์
๋ก๋ API
- ๋จ์ ์
๋ก๋ : ํ์ผ ํฌ๊ธฐ๊ฐ ์์ ๋ ์ฌ์ฉ
- ์ด์ด ์ฌ๋ฆฌ๊ธฐ(resumable upload) : ํ์ผ ์ฌ์ด์ฆ๊ฐ ํฌ๊ณ ๋คํธ์ํฌ ๋ฌธ์ ๋ก ์
๋ก๋๊ฐ ์ค๋จ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ์๊ฐ๋๋ฉด ์ฌ์ฉ
- ์ด์ด์ฌ๋ฆฌ๊ธฐ์ ๊ฒฝ์ฐ ๋ค์ ์ธ ๋จ๊ณ์ ์ ์ฐจ๋ก ์ด๋ฃจ์ด์ง
- ์ด์ด์ฌ๋ฆฌ๊ธฐ URL์ ๋ฐ๊ธฐ ์ํ ์ต์ด ์์ฒญ ์ ์ก
- ๋ฐ์ดํฐ๋ฅผ ์
๋ก๋ํ๊ณ ์
๋ก๋ ์ํ ๋ชจ๋ํฐ๋ง
- ์
๋ก๋์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ฅ์ ๋ฐ์์์ ๋ถํฐ ์
๋ก๋๋ฅผ ์ฌ์์
2. ํ์ผ ๋ค์ด๋ก๋ API
3. ํ์ผ ๊ฐฑ์ ํ์คํ ๋ฆฌ API
์ง๊ธ๊น์ง ๋์ดํ ๋ชจ๋ API ๋ ์ฌ์ฉ์ ์ธ์ฆ์ ํ์๋ก ํ๊ณ HTTPS ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ผ ํจ.
SSL(Secure Socket Layer)๋ฅผ ์ง์ํ๋ ํ๋กํ ์ฝ์ ์ด์ฉํ๋ ์ด์ : ํด๋ผ์ด์ธํธ์ ๋ฐฑ์๋ ์๋ฒ๊ฐ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ ๋ณดํธ ๋ชฉ์
ํ ๋ ์๋ฒ์ ์ ์ฝ ๊ทน๋ณต
์
๋ก๋ ํ์ผ์ด ๋ง์์ง๋ฉด ํ์ผ ์์คํ
์ฉ๋ ๋ถ์กฑํ๊ฒ ๋จ..
ํด๊ฒฐ์ฑ
1. ๋ฐ์ดํฐ๋ฅผ ์ค๋ฉ(sharding)
ํ์ฌ ์ฌ๋ฌ ์๋ฒ์ ๋๋์ด ์ ์ฅ
์๋ง์กดS3
- ๋ค์คํ ์ง์. ๊ฐ์ ์ง์ญ ์์์ ๋ค์คํ๋ ๊ฐ๋ฅํ๊ณ , ์ฌ๋ฌ ์ง์ญ์ ๊ฑธ์ณ ๋ค์คํ๋ ๊ฐ๋ฅ : AWS ์๋น์ค ์ง์ญ(region)์ ์๋ง์กด AWS๊ฐ ๋ฐ์ดํฐ ์ผํฐ๋ฅผ ์ด์ํ๋ ์ง๋ฆฌ์ ์์ญ
- ์ฌ๋ฌ ์ง์ญ์ ๊ฑธ์ณ ๋ค์คํํ๋ฉด ๋ฐ์ดํฐ ์์ค ๋ง๊ณ , ๊ฐ์ฉ์ฑ ์ต๋ ๋ณด์ฅ๋จ
๋ก๋๋ฐธ๋ฐ์
: ๋คํธ์ฟผ์ผ ํธ๋ํฝ ๋ถ์ฐ ๋ชฉ์
์น ์๋ฒ
: ํธ๋ํฝ์ด ํญ์ฆํด๋ ์ฝ๊ฒ ๋์ ๊ฐ๋ฅ
๋ฉํ๋ฐ์ดํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
: ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ผ ์ ์ฅ ์๋ฒ์์ ๋ถ๋ฆฌํ์ฌ SPOF(Single Point of Failure)
์ ํํผ
ํ์ผ ์ ์ฅ์
: S3๋ฅผ ํ์ผ ์ ์ฅ์๋ก ์ฌ์ฉํ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ๋ฐ์ดํฐ ๋ฌด์์ค์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ ๊ฐ ์ด์์ ์ง์ญ์ ๋ฐ์ดํฐ๋ฅผ ๋ค์คํ
์์ ์ฌํญ๋ค์ ๋ง์ถฐ ์์ ํ ์ค๊ณ์
๋๊ธฐํ ์ถฉ๋
๋จผ์ ์ฒ๋ฆฌ๋๋ ๋ณ๊ฒฝ์ ์ฑ๊ณตํ ๊ฒ์ผ๋ก ๋ณด๊ณ , ๋์ค์ ์ฒ๋ฆฌ๋๋ ๋ณ๊ฒฝ์ ์ถฉ๋์ด ๋ฐ์ํ ๊ฒ์ผ๋ก ํ์
โ ์ค๋ฅ ๋ฐ์ ์์ ์ ์์คํ
๋ด์๋ ๊ฐ์ ํ์ผ์ด 2๊ฐ์ง ๋ฒ์ ์ผ๋ก ์กด์ฌ : ์ฌ์ฉ์2 ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ก์ปฌ ์ฌ๋ณธ(local copy)
๊ณผ ์๋ฒ์ ์๋ ์ต์ ๋ฒ์
โ ์ด ์ํ์์ ์ฌ์ฉ์๋ ๋ ํ์ผ์ ํ๋๋ก ํฉ์น ์ง ์๋๋ฉด ๋ ์ค ํ๋๋ฅผ ๋ค๋ฅธ ํ์ผ๋ก ๋์ฒดํ ์ง๋ฅผ ๊ฒฐ์ ํด์ผ ํ๋ค.
Differential Synchronization
Differential Synchronization - Youtube Talk
์ผ๋จ์ ๋ฉ๋ชจํด๋๊ณ ์ถํ์ ์ฝ์ด๋ณด๊ธฐ๋ก ํ๋ค.
๊ฐ๋ต์ ์ค๊ณ์
- ๋ธ๋ก ์ ์ฅ์ ์๋ฒ(block server) : ํ์ผ ๋ธ๋ก์ ํด๋ผ์ฐ๋ ์ ์ฅ์์ ์
๋ก๋ํ๋ ์๋ฒ.
๋ธ๋ก ์์ค ์ ์ฅ์(block-level storage)
. ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅํ๋ ๊ธฐ์ . ์ด ์ ์ฅ์๋ ํ์ผ์ ์ฌ๋ฌ ๊ฐ์ ๋ธ๋ก์ผ๋ก ๋๋์ด ์ ์ฅํ๋ฉฐ ๊ฐ ๋ธ๋ก์๋ ๊ณ ์ ํ ํด์๊ฐ
์ด ํ ๋น๋จ. ์ด ํด์๊ฐ์ ๋ฉํ๋ฐ์ดํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ. ์์ ์ค๊ณ์์ ๊ฒฝ์ฐ ํ ๋ธ๋ก์ dropbox์ ์ฌ๋ก๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ต๋ 4MB
๋ก ์ง์
- ํด๋ผ์ฐ๋ ์ ์ฅ์
- ์์นด์ด๋น ์ ์ฅ์(cold storage) : ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ๋นํ์ฑ(inactive) ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ์์คํ
- ๋ก๋๋ฐธ๋ฐ์
- API ์๋ฒ : ํ์ผ ์
๋ก๋ ์ธ์ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ๋ด๋นํ๋ ์๋ฒ. ์ฌ์ฉ์ ์ธ์ฆ, ์ฌ์ฉ์ ํ๋กํ์ผ ๊ด๋ฆฌ, ํ์ผ ๋ฉํ๋ฐ์ดํฐ ๊ฐฑ์ ๋ฑ์ ์ฌ์ฉ
- ์๋ฆผ ์๋น์ค : ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์์ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ฆฌ๋๋ฐ ์ฐ์ด๋ ๋ฐ์/๊ตฌ๋
ํ๋กํ ์ฝ ๊ธฐ๋ฐ ์์คํ
- ์คํ๋ผ์ธ ์ฌ์ฉ์ ๋ฐฑ์
ํ(offline backup queue) : ํด๋ผ์ด์ธํธ๊ฐ ์ ์ ์ค์ด ์๋๋ผ ํ์ผ์ ์ต์ ์ํ๋ฅผ ํ์ธํ ์ ์์ ๋ - ํด๋น ์ ๋ณด๋ฅผ ์ด ํ์ ๋์ด ๋์ค์ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ์ ๋ ๋๊ธฐํ๋ ์ ์๋๋ก...
3๋จ๊ณ. ์์ธ ์ค๊ณ
๋ธ๋ก ์ ์ฅ์ ์๋ฒ
์ ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ๋๋ ํฐ ํ์ผ๋ค์ ์
๋ฐ์ดํธ๊ฐ ์ผ์ด๋ ๋๋ง๋ค ์ ์ฒด ํ์ผ์ ์๋ฒ๋ก ๋ณด๋ด๋ฉด ๋คํธ์ํฌ ๋์ญํญ์ ๋ง์ด ์ก์๋จน๊ฒ ๋๋๋ฐ.. ์ด๋ฅผ ์ต์ ํ ํ๋ ๋ฐฉ๋ฒ
- ๋ธํ ๋๊ธฐํ(delta sync) : ํ์ผ์ด ์์ ๋๋ฉด ์ ์ฒด ํ์ผ ๋์ ์์ ์ด ์ผ์ด๋ ๋ธ๋ก๋ง ๋๊ธฐํ
- ์์ถ(compression) : ๋ธ๋ก ๋จ์๋ก ์์ถํด ์ฃผ๋ฉด ๋ฐ์ดํฐ ํฌ๊ธฐ๋ฅผ ๋ง์ด ์ค์ผ ์ ์์. ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ํ์ผ ์ ํ์ ๋ฐ๋ผ ์ง์ .
๋ธ๋ก ์ ์ฅ์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ํ์ผ์ ๋ธ๋ก ๋จ์๋ก ๋๋ ์ผ ํ๊ณ , ๊ฐ ๋ธ๋ก์ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํด์ผ ํ๊ณ , ์ํธํ๊น์ง ํด์ผ ํจ. ์์ธ๋ฌ ์ ์ฒด ํ์ผ์ ์ ์ฅ์ ์์คํ
์ผ๋ก ๋ณด๋ด๋ ๋์ ์์ ๋ ๋ธ๋ก๋ง ์ ์กํด์ผ ํจ.
๋์ ์ผ๊ด์ฑ ์๊ตฌ์ฌํญ
๊ฐ์ ํ์ผ์ด ๋จ๋ง์ด๋ ์ฌ์ฉ์์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋ณด์ด๋ฉด ์๋จ
๋ฉํ๋ฐ์ดํฐ ์บ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณ์ธต์๋ ๊ฐ์ ์์น์ด ์ ์ฉ๋์ด์ผ ํจ
๋ฉ๋ชจ๋ฆฌ ์บ์๋ ๋ณดํต ์ต์ข
์ผ๊ด์ฑ(eventual consistency) ๋ชจ๋ธ
์ ์ง์
๊ฐํ ์ผ๊ด์ฑ์ ๋ฌ์ฑํ๋ ค๋ฉด ...?
- ์บ์์ ๋ณด๊ด๋ ์ฌ๋ณธ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ์๋ณธ(master)์ด ์ผ์น
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณด๊ด๋ ์๋ณธ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ฉด ์บ์์ ์๋ ์ฌ๋ณธ์ ๋ฌดํจํ
๋ฉํ๋ฐ์ดํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง ์ค๊ณ์
์
๋ก๋ ์ ์ฐจ
๋ ๊ฐ ์์ฒญ์ด ๋ณ๋ ฌ์ ์ผ๋ก ์ ์ก๋ ์ํฉ
์ฒซ ๋ฒ์งธ ์์ฒญ์ ํ์ผ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ๊ฒ.
๋ ๋ฒ์งธ ์์ฒญ์ ํ์ผ์ ํด๋ผ์ฐ๋ ์ ์ฅ์๋ก ์
๋ก๋ํ๊ธฐ ์ํ ๊ฒ.
โ ์ ๋ถ ํด๋ผ์ด์ธํธ1
์ด ๋ณด๋ธ ๊ฒ
-
ํ์ผ ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ
- ํด๋ผ์ด์ธํธ1 ์ด ์ ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ์์ฒญ ์ ์ก
- ์ ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ณ ์
๋ก๋ ์ํ๋ฅผ
๋๊ธฐ์ค(pending)
์ผ๋ก ๋ณ๊ฒฝ
- ์ ํ์ผ์ด ์ถ๊ฐ๋์์์ ์๋ฆผ ์๋น์ค์ ํต์ง
- ์๋ฆผ ์๋น์ค๋ ๊ด๋ จ ํด๋ผ์ด์ธํธ(ํด๋ผ์ด์ธํธ2) ์๊ฒ ํ์ผ์ด ์
๋ก๋๋๊ณ ์์์ ์๋ฆผ
-
ํ์ผ์ ํด๋ผ์ฐ๋ ์ ์ฅ์์ ์
๋ก๋
- ํด๋ผ์ด์ธํธ1 ์ด ํ์ผ์ ๋ธ๋ก ์ ์ฅ์ ์๋ฒ์ ์
๋ก๋
- ๋ธ๋ก ์ ์ฅ์ ์๋ฒ๋ ํ์ผ์ ๋ธ๋ก ๋จ์๋ก ์ชผ๊ฐ ๋ค์ ์์ถํ๊ณ ์ํธํ ํ ๋ค์ ํด๋ผ์ฐ๋ ์ ์ฅ์์ ์ ์ก
- ์
๋ก๋๊ฐ ๋๋๋ฉด ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง๋ ์๋ฃ ์ฝ๋ฐฑ(callback)์ ํธ์ถ. ์ด ์ฝ๋ฐฑ ํธ์ถ์ API ์๋ฒ๋ก ์ ์ก
- ๋ฉํ๋ฐ์ดํฐ DB์ ๊ธฐ๋ก๋ ํด๋น ํ์ผ์ ์ํ๋ฅผ ์๋ฃ(uploaded)๋ก ๋ณ๊ฒฝ
- ์๋ฆผ ์๋น์ค์ ํ์ผ ์
๋ก๋๊ฐ ๋๋ฌ์์ ํต์ง
- ์๋ฆผ ์๋น์ค๋ ๊ด๋ จ ํด๋ผ์ด์ธํธ(ํด๋ผ์ด์ธํธ2) ์๊ฒ ํ์ผ ์
๋ก๋๊ฐ ๋๋ฌ์์ ์๋ฆผ
๋ค์ด๋ก๋ ์ ์ฐจ
์๋ฆผ ์๋น์ค
ํ์ผ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด, ํด๋ผ์ด์ธํธ๋ ๋ก์ฝ์์ ํ์ผ์ด ์์ ๋์์์ ๊ฐ์งํ๋ ์๊ฐ
๋ค๋ฅธ ํด๋ผ์ด์ธํธ์ ๊ทธ ์ฌ์ค์ ์๋ ค์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ์ค์ฌ์ผ ํจ.
์๋ฆผ์๋น์ค๋ ์ด๋ฒคํธ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ๋ค๋ก ๋ณด๋ด๋ ์๋น์ค
๋กฑ ํด๋ง(long polling)
์น์์ผ(WebSocket)
: ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์ง์์ ์ธ ํต์ ์ฑ๋์ ์ ๊ณต. ์๋ฐฉํฅ ํต์ ๊ฐ๋ฅ. ์ฑํ
๊ฐ์ ์์ฉ์ ์ ํฉ
๋ณธ ์ค๊ณ์์ ๊ฒฝ์ฐ์๋ ๋กฑ ํด๋ง
๋ฐฉ์์ ์ฑํ : ์๋ฐฉํฅ ํต์ ํ์ ์์ผ๋ฏ๋ก
๋กฑ ํด๋ง ๋ฐฉ์์ ์ฐ๊ฒ ๋๋ฉด ๊ฐ ํด๋ผ์ด์ธํธ๋ ์๋ฆผ ์๋ฒ์ ๋กฑ ํด๋ง์ฉ ์ฐ๊ฒฐ์ ์ ์งํ๋ค
ํน์ ํ์ผ์ ๋ํ ๋ณ๊ฒฝ์ ๊ฐ์งํ๋ฉด ํด๋น ์ฐ๊ฒฐ์ ๋์
์ด๋ ํด๋ผ์ด์ธํธ๋ ๋ฐ๋์ ๋ฉํ๋ฐ์ดํฐ ์๋ฒ์ ์ฐ๊ฒฐํด ํ์ผ์ ์ต์ ๋ด์ญ์ ๋ค์ด๋ก๋ ํด์ผํจ.
โ ํด๋น ๋ค์ด๋ก๋ ์์
์ด ๋๋ฌ๊ฑฐ๋ ์ฐ๊ฒฐ ํ์์์ ์๊ฐ์ ๋๋ฌํ ๊ฒฝ์ฐ, ์ฆ์ ์ ์์ฒญ์ ๋ณด๋ด์ ๋กฑ ํด๋ง ์ฐ๊ฒฐ์ ๋ณต์ํ๊ณ ์ ์งํด์ผ ํจ
์ ์ฅ์ ๊ณต๊ฐ ์ ์ฝ
- ์ค๋ณต์ ๊ฑฐ(de-dupe) : ์ค๋ณต๋ ํ์ผ ๋ธ๋ก์ ๊ณ์ ์ฐจ์์์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ. ๋ ๋ธ๋ก ๋น๊ต๋
ํด์ ๊ฐ
์ ํตํ์ฌ ๋น๊ต.
- ์ง๋ฅ์ ๋ฐฑ์
์ ๋ต ๋์
2.1 ํ๋ ์ค์ : ๋ณด๊ดํด์ผ ํ๋ ํ์ผ ๋ฒ์ ๊ฐ์์ ์ํ์ ๋๋ ๊ฒ. ์ ์ผ ์ค๋๋ ๊ฒ ๋ฒ๋ฆผ
2.2 ์ค์ํ ๋ฒ์ ๋ง ๋ณด๊ด
- ์์ฃผ ์ฐ์ด์ง ์๋ ๋ฐ์ดํฐ๋ ์์นด์ด๋น ์ ์ฅ์(cold storage)๋ก ์ฎ๊น
์ฅ์ ์ฒ๋ฆฌ
- ๋ก๋๋ฐธ๋ฐ์ ์ฅ์ : ๋ก๋ ๋ฐธ๋ฐ์๋ผ๋ฆฌ ๋ณดํต ๋ฐ๋(heartbeat) ์ ํธ๋ฅผ ๋ณด๋ด์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋ง ํจ
- ๋ธ๋ก ์ ์ฅ์ ์๋ฒ ์ฅ์
- ํด๋ผ์ฐ๋ ์ ์ฅ์ ์ฅ์
- API ์๋ฒ ์ฅ์ : API์๋ฒ๋ค์
๋ฌด์ํ
์๋ฒ. ๋ก๋๋ฐธ๋ฐ์๋ API์๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ํธ๋ํฝ์ ํด๋น ์๋ฒ๋ก ๋ณด๋ด์ง ์์์ผ๋ก์จ ์ฅ์ ์๋ฒ๋ฅผ ๊ฒฉ๋ฆฌํ ๊ฒ
- ๋ฉํ๋ฐ์ดํฐ ์บ์ ์ฅ์
- ๋ฉํ๋ฐ์ดํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฅ์
- ์๋ฆผ ์๋น์ค ์ฅ์ : ํ ๋ ์๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ์๋ง ๋ช
์ด์์ ์ฌ์ฉ์๊ฐ ๋กฑ ํด๋ง ์ฐ๊ฒฐ์ ๋ค์ ๋ง๋ค์ด์ผ ํจ - ๋ณต๊ตฌ ์ ์๊ฐ ์ค๋ ๊ฑธ๋ฆผ
- ์คํ๋ผ์ธ ์ฌ์ฉ์ ๋ฐฑ์
ํ ์ฅ์ : ํ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๊ตฌ๋
์ค์ธ ํด๋ผ์ด์ธํธ ๋ค์ ๋ฐฑ์
ํ๋ก ๊ตฌ๋
๊ด๊ณ๋ฅผ ์ฌ์ค์ ํด์ผํจ.
์ฝ๋ฉํธ ์ ๋จ ๊ฒ๋ค์ ๋ค์คํ๊ฐ ๋์ด์์ผ๋.. ๋ค๋ฅธ ์๋ฒ๋ ๋ถ ์๋ฒ๋ก ์ฎ๊ฒจ๋ผ๋ ์ฝ๋ฉํธ..
4๋จ๊ณ. ๋ง๋ฌด๋ฆฌ
์ด๋ฒ ์ฅ์ ํต์ฌ ๋ถ๋ถ 1) ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ถ๋ถ 2) ํ์ผ ๋๊ธฐํ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ
- ์๋ฆผ ์๋น์ค๋ ์ด ๋ ๋ถ๋ถ๊ณผ ๋ณ์กดํ๋ ๋ ํ๋์ ์ค์ ์ปดํฌ๋ํธ : ๋กฑ ํด๋ง์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ๋ก ํ์ฌ๊ธ ํ์ผ์ ์ํ๋ฅผ ์ต์ ์ผ๋ก ์ ์ง