๋ค์ HighLoad++ ์ปจํผ๋ฐ์ค๋ 6๋
7์ 2020์ผ๊ณผ XNUMX์ผ์ ์ํธํํ
๋ฅด๋ถ๋ฅดํฌ์์ ๊ฐ์ต๋ฉ๋๋ค.
์ธ๋ถ์ ๋ณด ๋ฐ ํฐ์ผ
์ค์ ์๊ตฌ ์ฌํญ์ ์์ฉ ์ ํ์ ์ค์ํ ์ธก๋ฉด์ด ๊ณ ๋ ค๋์ง ์๋ ์ด๋ก ๊ณผ ์ถฉ๋ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด ๊ฐ์ฐ์์๋ ์์ฉ ์ ํ์ ์๊ตฌ ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ํ ํ์ ์ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๊ณผ ์ผ๊ด์ฑ ๊ตฌ์ฑ ์์๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ค์ํ ์ ๊ทผ ๋ฐฉ์์ ์ ํํ๊ณ ๊ฒฐํฉํ๋ ํ๋ก์ธ์ค๋ฅผ ์ ์ํฉ๋๋ค. ์ฒญ์ทจ์๋ ๋
ผ๋ฆฌ์ ์๊ณ, ์ข
์์ฑ ์ถ์ , ์์คํ
๋ณด์, ์๊ณ ๋๊ธฐํ์ ๋ํ ๊ธฐ์กด ์ด๋ก ์ ์ ๊ทผ ๋ฐฉ์๊ณผ MongoDB๊ฐ ํน์ ์๋ฃจ์
์ ์ ํํ ์ด์ ์ ๋ํด ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
๋ฏธํ์ผ ํ๋ ๋คํ(์ดํ MT): โ ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ MongoDB์์ ์์ ํ ๊ธฐ๋ฅ์ ๋๋ค. ์ ๋ ๋ถ์ฐ ์์คํ ๊ทธ๋ฃน์์ ์ผํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฝ XNUMX๋ ์ ์ ์ผํ์ต๋๋ค.
๊ทธ ๊ณผ์ ์์ ์ด ๊ธฐ๋ฅ์ ๊ฝค ์ ์ฐ๊ตฌ๋์๊ธฐ ๋๋ฌธ์ ๋ง์ ํ๋ฌธ์ ์ฐ๊ตฌ์ ์ต์ํด์ ธ์ผ ํ์ต๋๋ค. ํ๋ก๋์
์ ํ๋ฆฌ์ผ์ด์
์ ์กด์ฌํ ์ ์๋ ๋งค์ฐ ๊ตฌ์ฒด์ ์ธ ์๊ตฌ ์ฌํญ์ผ๋ก ์ธํด ํ๋ก๋์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ํ ๋ด์ฉ์ ๋ง๋ ๊ธฐ์ฌ๊ฐ ํ๋๋ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ ๋ ํ์ ์ฐ๊ตฌ์ ์๋น์๋ก์ ์ฐ๋ฆฌ๊ฐ ๊ทธ๋ก๋ถํฐ ๋ฌด์ธ๊ฐ๋ฅผ ์ค๋นํ์ฌ ์ฌ์ฉ์์๊ฒ ํธ๋ฆฌํ๊ณ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๊ธฐ์ฑํ์ผ๋ก ์ ๊ณตํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
์ธ๊ณผ์ ์ผ๊ด์ฑ. ๊ฐ๋ ์ ์ ์ํด๋ณด์
์ฐ์ , ์ธ๊ณผ์ ์ผ๊ด์ฑ์ด ๋ฌด์์ธ์ง ์ผ๋ฐ์ ์ธ ์ฉ์ด๋ก ๋งํ๊ณ ์ถ์ต๋๋ค. ๋ ๋ช ์ ์บ๋ฆญํฐ๊ฐ ์์ต๋๋ค - Leonard์ Penny(TV ์๋ฆฌ์ฆ "The Big Bang Theory"):
Penny๊ฐ ์ ๋ฝ์ ์๊ณ Leonard๊ฐ ๊ทธ๋
์๊ฒ ๊น์ง ํํฐ๋ฅผ ์ด๊ณ ์ถ์ดํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ๊ทธ๋
๋ฅผ ์น๊ตฌ ๋ชฉ๋ก์์ ์ ์ธํ๊ณ ๋ชจ๋ ์น๊ตฌ๋ค์๊ฒ ํผ๋์ ๋ํ ์
๋ฐ์ดํธ๋ฅผ ๋ณด๋ด๋ ๊ฒ๋ณด๋ค ๋ ๋์ ๊ฒ์ ์๊ฐํ ์ ์์ต๋๋ค. "ํ๋๋ฅผ ํ๋ณตํ๊ฒ ํฉ์๋ค!" (๊ทธ๋
๋ ์ ๋ฝ์ ์๋๋ฐ, ์๋ ๋์์๋ ์ด ๋ชจ๋ ๊ฒ์ ๋ณด์ง ๋ชปํ๊ณ ๊ฑฐ๊ธฐ์ ์๊ธฐ ๋๋ฌธ์ ๋ณผ ์๋ ์์ต๋๋ค). ๊ฒฐ๊ตญ ๊ทธ๋
๋ ์ด ๊ฒ์๋ฌผ์ ์ญ์ ํ๊ณ ํผ๋์์ ์ญ์ ํ ํ ์ก์ธ์ค ๊ถํ์ ๋ณต์ํ์ฌ ์๋ฌด๊ฒ๋ ๋์น์ฑ์ง ๋ชปํ๊ณ ์ค์บ๋ค์ด ๋ฐ์ํ์ง ์๋๋ก ํฉ๋๋ค.
์ด๊ฒ์ ๋ชจ๋ ํ๋ฅญํ์ง๋ง ์์คํ
์ด ๋ถ์ฐ๋์ด ์๊ณ ์ํฉ์ด ์ฝ๊ฐ ์๋ชป๋์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ๊ฑด์ด ์์ธ๊ณผ ๊ฒฐ๊ณผ๋ก ๊ด๋ จ๋์ง ์์ ๊ฒฝ์ฐ ์ด ๊ฒ์๋ฌผ์ด ํ์๋ ํ ํ๋์ ์ ๊ทผ ์ ํ์ด ๋ฐ์ํ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ค์ ๋ก ์ด๋ ๋น์ฆ๋์ค ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ธ๊ณผ์ ์ผ๊ด์ฑ์ด ํ์ํ ๊ฒฝ์ฐ(์ด ๊ฒฝ์ฐ)์ ์์
๋๋ค.
์ค์ ๋ก ์ด๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งค์ฐ ์ฌ์ํ ์์ฑ์ ๋๋ค. ์ด๋ฅผ ์ง์ํ๋ ์ฌ๋์ ๊ฑฐ์ ์์ต๋๋ค. ๋ชจ๋ธ๋ก ๋์ด ๊ฐ์๋ค.
์ผ๊ด์ฑ ๋ชจ๋ธ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ์ ํํ ๋ฌด์์ ๋๊น? ์ด๋ ๋ถ์ฐ ์์คํ ์ด ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ์์๋ก ์์ ํ ์ ์๋์ง์ ๋ํด ์ ๊ณตํ๋ ๋ณด์ฅ ์ค ์ผ๋ถ์ ๋๋ค.
์์น์ ์ผ๋ก ๋ชจ๋ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ๋ถ์ฐ ์์คํ ์ด ์๋ฅผ ๋ค์ด ๋ ธํธ๋ถ์ ํ ๋ ธ๋์์ ์คํ๋๋ ์์คํ ๊ณผ ์ผ๋ง๋ ์ ์ฌํ์ง์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ์ด๋ ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ์์ฒ ๊ฐ์ "๋ ธ๋"์์ ์คํ๋๋ ์์คํ ์ด ์์น์ ์ผ๋ก ๋ชจ๋ ์์ฑ์ด ์๋์ผ๋ก ์ํ๋๋ ๋ ธํธ๋ถ๊ณผ ์ผ๋ง๋ ์ ์ฌํ์ง ๋ณด์ฌ์ค๋๋ค.
๋ฐ๋ผ์ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ๋ถ์ฐ ์์คํ ์๋ง ์ ์ฉ๋ฉ๋๋ค. ์ด์ ์ ๋์ผํ ์์ง ํ์ฅ์ผ๋ก ์กด์ฌํ๊ณ ์๋ํ๋ ๋ชจ๋ ์์คํ ์์๋ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค. ๋ฒํผ ์บ์๊ฐ ํ๋ ์์๊ณ ํญ์ ์ฌ๊ธฐ์์ ๋ชจ๋ ๊ฒ์ ์ฝ์์ต๋๋ค.
๊ฐํ ๋ชจ๋ธ
์ค์ ๋ก ์ฒซ ๋ฒ์งธ ๋ชจ๋ธ์ Strong(๋๋ ์ข ์ข ์์น ๋ฅ๋ ฅ ๋ผ์ธ์ด๋ผ๊ณ ๋ถ๋ฆ)์ ๋๋ค. ์ด๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ์์ด ํ์ธ๋๋ฉด ์์คํ ์ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋๋ก ๋ณด์ฅํ๋ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ๋๋ค.
์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ชจ๋ ์ด๋ฒคํธ์ ์ ์ญ ์์๋ฅผ ์์ฑํฉ๋๋ค. ์ด๋ ๋งค์ฐ ๊ฐ๋ ฅํ ์ผ๊ด์ฑ ์์ฑ์ด๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋งค์ฐ ๋น์๋๋ค. ๊ทธ๋ฌ๋ ๋งค์ฐ ์ ์ง์๋ฉ๋๋ค. ๊ฐ๊ฒฉ์ด ๋งค์ฐ ๋น์ธ๊ณ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ๊ฑฐ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด๊ฒ์ ์์น ๋ฅ๋ ฅ์ด๋ผ๊ณ ํฉ๋๋ค.
Spanner์์ ์ง์๋๋ ๋ ๋ค๋ฅธ ๊ฐ๋ ฅํ ์์ฑ์ธ ์ธ๋ถ ์ผ๊ด์ฑ(External Consistency)์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ํด์๋ ์กฐ๊ธ ๋์ค์ ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
์ธ๊ณผ
๋ค์์ ์ธ๊ณผ๊ด๊ณ(Causal)์ ๋๋ค. ๋ฐ๋ก ์ ๊ฐ ๋งํ๋ ๊ฒ์ ๋๋ค. Strong๊ณผ Causal ์ฌ์ด์๋ ๋ด๊ฐ ์ธ๊ธํ์ง ์์ ํ์ ์์ค์ด ๋ช ๊ฐ์ง ๋ ์์ง๋ง, ๋ชจ๋ Causal๋ก ๊ท๊ฒฐ๋ฉ๋๋ค. ์ด๋ ๋ชจ๋ ๋ชจ๋ธ ์ค์์ ๊ฐ์ฅ ๊ฐ๋ ฅํ๊ณ ๋คํธ์ํฌ๋ ํํฐ์ ์ด ์์ ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์ผ๊ด์ฑ์ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ค์ํ ๋ชจ๋ธ์ ๋๋ค.
์ธ๊ณผ๊ด๊ณ๋ ์ค์ ๋ก ์ฌ๊ฑด์ด ์์ธ๊ณผ ๊ฒฐ๊ณผ์ ๊ด๊ณ๋ก ์ฐ๊ฒฐ๋ ์ํฉ์
๋๋ค. ๋งค์ฐ ์์ฃผ ๊ทธ๋ค์ ๊ณ ๊ฐ์ ๊ด์ ์์ ๊ทํ์ ๊ถ๋ฆฌ๋ฅผ ์ฝ๋ ๊ฒ์ผ๋ก ์ธ์๋ฉ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ผ๋ถ ๊ฐ์ ๊ด์ฐฐํ ๊ฒฝ์ฐ ๊ณผ๊ฑฐ์ ๊ฐ์ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ ์ด๋ฏธ ์ ๋์ฌ ์์น๋ฅผ ๋ณด๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ชจ๋ ๊ฐ์ ๊ฒ์ผ๋ก ๊ท๊ฒฐ๋ฉ๋๋ค.
์ผ๊ด์ฑ ๋ชจ๋ธ๋ก์์ ์ธ๊ณผ ๊ด๊ณ๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ์ ์ด๋ฒคํธ๊ฐ ๋์ผํ ์์๋ก ๊ด์ฐฐ๋๋ ์๋ฒ ์ด๋ฒคํธ์ ๋ถ๋ถ ์์์
๋๋ค. ์ด ๊ฒฝ์ฐ์๋ Leonard์ Penny๊ฐ ์์ต๋๋ค.
์ต์ข ์
์ธ ๋ฒ์งธ ๋ชจ๋ธ์ ์ต์ข ์ผ๊ด์ฑ์ ๋๋ค. ์ด๊ฒ์ ์ ๋์ ์ผ๋ก ๋ชจ๋ ๋ถ์ฐ ์์คํ ์ด ์ง์ํ๋ ๊ฒ์ด๋ฉฐ ์ ํ ์๋ฏธ๊ฐ ์๋ ์ต์ ๋ชจ๋ธ์ ๋๋ค. ์ด๋ ๋ค์์ ์๋ฏธํฉ๋๋ค. ๋ฐ์ดํฐ์ ์ผ๋ถ ๋ณ๊ฒฝ์ด ์์ผ๋ฉด ์ด๋ ์์ ์์๋ ์ผ๊ด์ฑ์ด ์ ์ง๋ฉ๋๋ค.
๊ทธ๋ฐ ์๊ฐ์ ๊ทธ๋ ๋ ์๋ฌด ๋ง๋ ํ์ง ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ทธ๋ ๋ ์ธ๋ถ ์ผ๊ด์ฑ์ผ๋ก ๋ณํ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ์์ ํ ๋ค๋ฅธ ์ด์ผ๊ธฐ๊ฐ ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ด๊ฒ์ ๋งค์ฐ ์ธ๊ธฐ ์๊ณ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ชจ๋ธ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ์ฐ ์์คํ ์ ๋ชจ๋ ์ฌ์ฉ์๋ ์ต์ข ์ผ๊ด์ฑ์ ์ฌ์ฉํฉ๋๋ค.
๋ช ๊ฐ์ง ๋น๊ต ์๋ฅผ ์ ์ํ๊ณ ์ถ์ต๋๋ค.
์ด ํ์ดํ๋ ๋ฌด์์ ์๋ฏธํ๋์?
- ์ง์ฐ ์๊ฐ. ์ผ๊ด์ฑ ๊ฐ๋๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ถ๋ช ํ ์ด์ ๋๋ฌธ์ ๋ ์ปค์ง๋๋ค. ๋ ๋ง์ ๋ ์ฝ๋๋ฅผ ๋ง๋ค์ด์ผ ํ๊ณ ํด๋ฌ์คํฐ์ ์ฐธ์ฌํ๋ ๋ชจ๋ ํธ์คํธ์ ๋ ธ๋๋ก๋ถํฐ ๋ฐ์ดํฐ๊ฐ ์ด๋ฏธ ์๋ค๋ ํ์ธ์ ๋ฐ์์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ต์ข ์ผ๊ด์ฑ์ ๊ฐ์ฅ ๋น ๋ฅธ ๋ต๋ณ์ ์ ๊ณตํฉ๋๋ค. ์์น์ ์ผ๋ก ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ปค๋ฐํ ์๋ ์๊ณ ์์น์ ์ผ๋ก ์ด๊ฒ์ผ๋ก ์ถฉ๋ถํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์ ํจ์ฑ. ์ด๊ฒ์ ๋คํธ์ํฌ ์ค๋จ, ํํฐ์ ๋๋ ์ผ์ข ์ ์ค๋ฅ๊ฐ ์์ ๋ ์์คํ ์ด ๋์ํ ์ ์๋ ๋ฅ๋ ฅ์ผ๋ก ์ดํดํ๋ค๋ฉด ์ผ๊ด์ฑ ๋ชจ๋ธ์ด ๊ฐ์ํจ์ ๋ฐ๋ผ ๋ด๊ฒฐํจ์ฑ์ ์ฆ๊ฐํฉ๋๋ค. ์๋ํ๋ฉด ํ๋์ ํธ์คํธ๊ฐ ๋์์ ์กด์ฌํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๊ฐ์ด ์ง๋๋ฉด ๋ฐ์ดํฐ๊ฐ ์์ฑ๋ฉ๋๋ค. ์ต์ข ์ผ๊ด์ฑ์ ๋ฐ์ดํฐ์ ๋ํด ์ ํ ๋ณด์ฅํ์ง ์์ผ๋ฉฐ ๋ฌด์์ด๋ ๋ ์ ์์ต๋๋ค.
- ์ด์. ๋์์ ์ด์ ํ์์ ์๋ ์ฆ๊ฐํฉ๋๋ค. Strong Consistency์์๋ ๊ฑฐ์ ์กด์ฌํ์ง ์์์ผ ํ์ง๋ง, Eventual Consistency์์๋ ๋ฌด์์ด๋ ๋ ์ ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด์์ด ํฌํจ๋์ด ์์ผ๋ฉด ์ฌ๋๋ค์ด ์ต์ข ์ผ๊ด์ฑ์ ์ ํํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋๋ต์ ์ต์ข ์ผ๊ด์ฑ ๋ชจ๋ธ์ด ์ ์ฉ ๊ฐ๋ฅํ๊ณ ์๋ฅผ ๋ค์ด ์งง์ ์๊ฐ ๋ด์ ์์ธ๊ฐ ์กด์ฌํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ง๋ฒ์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ด๋ ์ ๋ ์ฝ์ ์ ์์ต๋๋ค. ๊ฐ๋ ฅํ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ค์ ๋ก ์ด๋ ํจ๊ณผ๊ฐ ์์ผ๋ฉฐ ์ข ์ข ์ด์ ํ์์ ์๊ฐ ์๊ฐ์ ๋ฐ๋ผ ์ ํ๋ฉ๋๋ค.
CAP ์ ๋ฆฌ
์ผ๊ด์ฑ, ๊ฐ์ฉ์ฑ์ด๋ผ๋ ๋จ์ด๋ฅผ ๋ณด๋ฉด ๋ฌด์์ด ๋ ์ค๋ฅด๋์? ๋ง์ต๋๋ค - CAP ์ ๋ฆฌ! ์ด์ ์ ๋ ๊ทธ ์ ํ๋ฅผ ๋ถ์์ํค๊ณ ์ถ์ต๋๋ค... ์ ๊ฐ ์๋๋๋ค. ํ๋ฅญํ ๊ธฐ์ฌ, ํ๋ฅญํ ์ฑ ์ ์ด ์ฌ๋์ Martin Kleppmann์ ๋๋ค.
CAP ์ ๋ฆฌ๋ ์ผ๊ด์ฑ, ๊ฐ์ฉ์ฑ, ํํฐ์
์ค ๋ ๊ฐ์ง๋ฅผ ์ ํํ๋ฉด ์ธ ๊ฐ์ง๋ฅผ ์ ํํ ์ ์๋ค๋ 2000๋
๋์ ๊ณต์ํ๋ ์์น์
๋๋ค. ๊ทธ๊ฒ์ ํน์ ํ ์์น์ด์์ต๋๋ค. ์ด๋ ๋ช ๋
ํ ๊ธธ๋ฒํธ์ ๋ฆฐ์น์ ์ํด ์ ๋ฆฌ๋ก ์
์ฆ๋์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๊ฒ์ด ์ง์ธ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ์์ํ์ต๋๋ค. ์์คํ
์ CA, CP, AP ๋ฑ์ผ๋ก ๋๋๊ธฐ ์์ํ์ต๋๋ค.
์ด ์ ๋ฆฌ๋ ์ค์ ๋ก ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ ์ฆ๋์์ต๋๋ค... ์ฒซ์งธ, ๊ฐ์ฉ์ฑ์ 0์์ ์๋ฐฑ๊น์ง์ ์ฐ์ ๊ฐ์ผ๋ก ๊ฐ์ฃผ๋์ง ์์์ต๋๋ค(100 - ์์คํ ์ด "์ฃฝ์", XNUMX - ๋น ๋ฅด๊ฒ ์๋ตํจ. ์ฐ๋ฆฌ๋ ๊ทธ๋ ๊ฒ ์๊ฐํ๋ ๋ฐ ์ต์ํจ) , ๊ทธ๋ฌ๋ ๋ชจ๋ ์คํ์ ๋ํด ๋ฐ์ดํฐ ๋ฐํ์ ๋ณด์ฅํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ฑ์ ๋๋ค.
์๋ต ์๊ฐ์ ๋ํ ๋จ์ด๋ ์ ํ ์์ต๋๋ค! 100๋
ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์์ต๋๋ค. ์ด๋ CAP ์ ๋ฆฌ์ ์ผ๋ถ์ธ ๋งค์ฐ ๋๋ผ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ์๊ณ ๋ฆฌ์ฆ์
๋๋ค.
๋์งธ, ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์์๋ ๋ถ๊ตฌํ๊ณ ๋์ผํ ํค ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ ๋ฆฌ๊ฐ ์
์ฆ๋์์ต๋๋ค. ์ด๋ ๋ชจ๋ธ์ด ์ต์ข
์ผ๊ด์ฑ, ๊ฐ๋ ฅํ ์ผ๊ด์ฑ(์๋ง๋)์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์ค์ ๋ก ์ฌ์ฉ๋์ง ์์์ ์๋ฏธํฉ๋๋ค.
์ด๊ฒ ๋ค ๋ญ์ฃ ? ๋์ฑ์ด, ์ฆ๋ช ๋ ๊ฒ๊ณผ ๋๊ฐ์ ํํ์ CAP ์ ๋ฆฌ๋ ์ค์ง์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅํ์ง ์์ผ๋ฉฐ ๊ฑฐ์ โโ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด๋ก ์ ํํ์์๋ ์ด๋ป๊ฒ๋ ๋ชจ๋ ๊ฒ์ ์ ํํฉ๋๋ค. ์ง๊ด์ ์ผ๋ก๋ ์ ํํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ ์ฆ๋์ง ์์ ํน์ ์๋ฆฌ๊ฐ ๋ฐํ์ก์ต๋๋ค.
์ธ๊ณผ์ ์ผ๊ด์ฑ์ด ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋ชจ๋ธ์ด๋ค
์ง๊ธ ์ผ์ด๋๊ณ ์๋ ์ผ์ ํํฐ์ ์ ์ฌ์ฉํ์ฌ ์ผ๊ด์ฑ, ๊ฐ์ฉ์ฑ์ด๋ผ๋ ์ธ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ป์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ํนํ, ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ํํฐ์ (๋คํธ์ํฌ ์ค๋จ)์ด ์๋ ๊ฒฝ์ฐ์๋ ์ฌ์ ํ ์๋ํ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๊ทธ๊ฒ์ด ๊ทธํ ๋ก ํฐ ๊ด์ฌ์ ๋๋ ์ด์ ์ด๊ณ , ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ฑํํ ์ด์ ์ ๋๋ค.
์ฒซ์งธ, ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์์ ์์
์ ๋จ์ํํฉ๋๋ค. ํนํ, ์๋ฒ์ ๊ฐ๋ ฅํ ์ง์์ด ์กด์ฌํฉ๋๋ค. ํ ํด๋ผ์ด์ธํธ ๋ด๋ถ์์ ๋ฐ์ํ๋ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ์ ๋์ผํ ์์๋ก ๋์ฐฉํ๋ ๊ฒ์ด ๋ณด์ฅ๋ฉ๋๋ค. ๋์งธ, ํํฐ์
์ ๊ฒฌ๋ ์ ์์ต๋๋ค.
MongoDB ๋ด๋ถ ์ฃผ๋ฐฉ
์ ์ฌ์ด๋ผ๋ ๊ฒ์ ๊ธฐ์ตํ๊ณ ๋ถ์์ผ๋ก ์ด๋ํฉ๋๋ค. ์ด๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์ฒ์ ๋ฃ๋ ๋ถ๋ค์ ์ํด ์์คํ ๋ชจ๋ธ, ์ฆ MongoDB๊ฐ ๋ฌด์์ธ์ง ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
MongoDB(์ดํ โMongoDBโ)๋ ์ํ์ ํ์ฅ, ์ฆ ์ค๋ฉ(Sharding)์ ์ง์ํ๋ ๋ถ์ฐ ์์คํ
์
๋๋ค. ๊ฐ ์ค๋ ๋ด์์๋ ๋ฐ์ดํฐ ์ค๋ณต์ฑ, ์ฆ ๋ณต์ ๋ ์ง์ํฉ๋๋ค.
MongoDB(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋)์ ์ค๋ฉ์ ์๋ ๋ฐธ๋ฐ์ฑ์ ์ํํฉ๋๋ค. ์ฆ, ๊ฐ ๋ฌธ์ ๋ชจ์(๋๋ ๊ด๊ณํ ๋ฐ์ดํฐ ์ธก๋ฉด์์ "ํ ์ด๋ธ")์ ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋๋๊ณ ์๋ฒ๊ฐ ์ด๋ฅผ ์ค๋ ๊ฐ์ ์๋์ผ๋ก ์ด๋ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ์ ๋ํ ์์ฒญ์ ๋ฐฐํฌํ๋ ์ฟผ๋ฆฌ ๋ผ์ฐํฐ๋ ์๋ํ๋ ์ผ๋ถ ํด๋ผ์ด์ธํธ์ ๋๋ค. ์ด๋ ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์๊ณ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ์๋์ง ์ด๋ฏธ ์๊ณ ์์ผ๋ฉฐ ๋ชจ๋ ์์ฒญ์ ์ฌ๋ฐ๋ฅธ ์ค๋๋ก ๋ณด๋ ๋๋ค.
๋ ๋ค๋ฅธ ์ค์ํ ์ : MongoDB๋ ๋จ์ผ ๋ง์คํฐ์ ๋๋ค. ํ๋์ ๊ธฐ๋ณธ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ํฌํจ๋ ํค๋ฅผ ์ง์ํ๋ ๋ ์ฝ๋๊ฐ ํ์ํ ์ ์์ต๋๋ค. ๋ค์ค ๋ง์คํฐ ์ฐ๊ธฐ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ฆด๋ฆฌ์ค 4.2๋ฅผ ๋ง๋ค์์ต๋๋ค. ๊ฑฐ๊ธฐ์ ์๋ก์ด ํฅ๋ฏธ๋ก์ด ๊ฒ๋ค์ด ๋ํ๋ฌ์ต๋๋ค. ํนํ Lucene(๊ฒ์), ์ฆ ์คํ ๊ฐ๋ฅํ java๋ฅผ Mongo์ ์ง์ ์ฝ์ ํ์ฌ Elastica์ ๋ง์ฐฌ๊ฐ์ง๋ก Lucene์ ํตํ ๊ฒ์์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ์๋ก์ด ์ ํ์ธ ์ฐจํธ๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด๋ Atlas(Mongo์ ์์ฒด ํด๋ผ์ฐ๋)์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ ๋ฌด๋ฃ ๋ฑ๊ธ์ ๊ฐ์ง๊ณ ์์ต๋๋ค - ๋น์ ์ ๊ทธ๊ฒ์ ๊ฐ์ง๊ณ ๋ ์ ์์ต๋๋ค. ์ ๋ ์ฐจํธ๋ฅผ ์ ๋ง ์ข์ํ์ต๋๋ค. ๋ฐ์ดํฐ ์๊ฐํ๊ฐ ๋งค์ฐ ์ง๊ด์ ์ด์์ต๋๋ค.
์ฑ๋ถ ์ธ๊ณผ์ ์ผ๊ด์ฑ
๋๋ ์ด ์ฃผ์ ์ ๊ดํด Leslie Lampert๊ฐ ์ถํํ ์ฝ 230๊ฐ์ ๊ธฐ์ฌ๋ฅผ ์ธ์์ต๋๋ค. ์ด์ ๋ด ๊ธฐ์ต์ ๋ฐํ์ผ๋ก ์ด ์๋ฃ์ ์ผ๋ถ๋ฅผ ์ฌ๋ฌ๋ถ์๊ฒ ์ ๋ฌํ๊ฒ ์ต๋๋ค.
๋ชจ๋ ๊ฒ์ 1970๋
๋์ ์์ฑ๋ Leslie Lampert์ ๊ธฐ์ฌ์์ ์์๋์์ต๋๋ค. ๋ณด์๋ค์ํผ, ์ด ์ฃผ์ ์ ๋ํ ์ผ๋ถ ์ฐ๊ตฌ๊ฐ ์์ง ์งํ ์ค์
๋๋ค. ์ด์ ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ๋ถ์ฐ ์์คํ
๊ฐ๋ฐ๊ณผ ๊ด๋ จํ์ฌ ๊ด์ฌ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ ํ
์ด๋ค ์ ํ์ฌํญ์ด ์๋์? ์ด๋ ์ค์ ๋ก ์ฃผ์ ์์ ์ค ํ๋์ ๋๋ค. ์๋ํ๋ฉด ์์ฐ ์์คํ ์ด ๋ถ๊ณผํ๋ ์ ํ์ ํ์ ๋ ผ๋ฌธ์ ์กด์ฌํ๋ ์ ํ๊ณผ ๋งค์ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ค์ ์ข ์ข ๋งค์ฐ ์ธ๊ณต์ ์ ๋๋ค.
- ์ฒซ์งธ, ์ด๋ฏธ ๋งํ๋ฏ์ด "MongoDB"๋ ๋จ์ผ ๋ง์คํฐ์ ๋๋ค(์ด๊ฒ์ ๋งค์ฐ ๋จ์ํ๋ฉ๋๋ค).
- ์ฐ๋ฆฌ๋ ์์คํ ์ด ์ฝ 10๊ฐ์ ์ค๋๋ฅผ ์ง์ํด์ผ ํ๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ๊ฐ์ ๋ช ์์ ์ผ๋ก ์ ํํ๋ ์ํคํ ์ฒ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ํด๋ผ์ฐ๋๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๋ ธํธ๋ถ์์ ์คํํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์ ์๋ํ ์ ์๋ ๊ธฐํ๊ฐ ์ฌ์ ํ ์์ด์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
- ์ฐ๋ฆฌ๋ Research๊ฐ ๊ฑฐ์ ๊ฐ์ ํ์ง ์๋ ๊ฒ์ ๊ฐ์ ํฉ๋๋ค. ์ฆ, ์ธ๋ถ ํด๋ผ์ด์ธํธ๋ ์ํ๋ ๊ฒ์ ๋ฌด์์ด๋ ํ ์ ์์ต๋๋ค. MongoDB๋ ์คํ ์์ค์ ๋๋ค. ๋ฐ๋ผ์ ๊ณ ๊ฐ์ ๋งค์ฐ ์๋ฆฌํ๊ณ ํ๋ฅผ ๋ผ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๊นจ๋จ๋ฆฌ๊ณ ์ถ์ดํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋น์ํด ํ์ผ๋ฌ(Byzantine Feilors)๊ฐ ์ ๋ํ์ ๊ฒ์ด๋ผ๊ณ ์ถ์ธกํฉ๋๋ค.
- ๊ฒฝ๊ณ ์ธ๋ถ์ ์๋ ์ธ๋ถ ํด๋ผ์ด์ธํธ์ ๊ฒฝ์ฐ ์ค์ํ ์ ํ ์ฌํญ์ด ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋นํ์ฑํํ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๊ด์ฐฐ๋์ง ์์ต๋๋ค.
- ๋ ๋ค๋ฅธ ์์ ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ ํ๋ฌธ์ ์ ๋๋ค. ์ฆ, ์ด์ ๋ฒ์ ๊ณผ ํฅํ ๋ฒ์ ์ ํธํ์ฑ์ ๋๋ค. ์ด์ ๋๋ผ์ด๋ฒ๋ ์ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํด์ผ ํ๋ฉฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด์ ๋๋ผ์ด๋ฒ๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด ๋ชจ๋ ๊ฒ์๋ ์ ํ์ด ๋ฐ๋ฆ ๋๋ค.
์ธ๊ณผ์ ์ผ๊ด์ฑ ๊ตฌ์ฑ์์
์ด์ ๋ช ๊ฐ์ง ๊ตฌ์ฑ ์์์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ๊ณ ๋ คํ๋ฉด ๋ธ๋ก์ ์ ํํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํน์ ๋ธ๋ก์ ์ํ๋ ์์ ์ค์์ ์ ํํ์ต๋๋ค. ์์กด์ฑ ์ถ์ , ์๊ณ ์ ํ, ์ด๋ฌํ ์๊ณ๊ฐ ์๋ก ๋๊ธฐํ๋๋ ๋ฐฉ๋ฒ ๋ฐ ๋ณด์์ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ - ์ด๊ฒ์ด ์ ๊ฐ ์ด์ผ๊ธฐํ ๋ด์ฉ์ ๋ํ ๋๋ต์ ์ธ ๊ฐ์์ ๋๋ค.
์ ์ฒด ์ข ์์ฑ ์ถ์
์ ํ์ํ๊ฐ์? ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ ๋ณต์ ๋ ๋ ๊ฐ ๋ ์ฝ๋, ๊ฐ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ฌํญ์๋ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ ์์กดํ๋์ง์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ์ด์ ์์งํ ๋ณํ๋ ๋ ์ฝ๋๊ฐ ํฌํจ๋ ๊ฐ ๋ฉ์์ง์ ์ด์ ๋ฉ์์ง์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๋ค๋ ๊ฒ์ ๋๋ค.
์ด ์์์ ์ค๊ดํธ ์์ ์ซ์๋ ๋ ์ฝ๋ ๋ฒํธ์
๋๋ค. ๋๋ก๋ ๊ฐ์ด ํฌํจ๋ ์ด๋ฌํ ๋ ์ฝ๋ ์ ์ฒด๊ฐ ์ ์ก๋๊ธฐ๋ ํ๊ณ ์ผ๋ถ ๋ฒ์ ์ด ์ ์ก๋๊ธฐ๋ ํฉ๋๋ค. ๊ฒฐ๋ก ์ ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์๋ ์ด์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๋ค๋ ๊ฒ์
๋๋ค(๋ฌผ๋ก ์ด ๋ชจ๋ ๋ด์ฉ์ ์์ฒด์ ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค).
์ด ์ ๊ทผ ๋ฐฉ์(์ ์ฒด ์ถ์ )์ ์ฌ์ฉํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋ถ๋ช ํ ์ด ์ ๊ทผ ๋ฐฉ์์ ๋น์ค์ฉ์ ์ ๋๋ค. ์์ ๋คํธ์ํฌ์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ชจ๋ ์ ๋ฐ์ดํธ์์ Facebook ๋๋ VKontakte๋ฅผ ์ ์กํ๋ ๋ฑ ํด๋น ์์ ๋คํธ์ํฌ์ ๋ชจ๋ ์ด์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์์ ์์กด์ฑ ์ถ์ ์ ๋ํ ๋ง์ ์ฐ๊ตฌ๊ฐ ์์ต๋๋ค. ์ด๋ ์์ ๋คํธ์ํฌ ์ด์ ์ ์กด์ฌํ๋ฉฐ ์ผ๋ถ ์ํฉ์์๋ ์ค์ ๋ก ์๋ํฉ๋๋ค.
๋ช ์์ ์ข ์์ฑ ์ถ์
๋ค์์ ๋ ์ ํ์ ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ ๋ณด ์ ์ก๋ ๊ณ ๋ ค๋์ง๋ง ๋ช ํํ๊ฒ ์ข ์๋ ์ ๋ณด๋ง ๊ณ ๋ ค๋ฉ๋๋ค. ์์น์ ์ผ๋ก ๋ฌด์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋์ง๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ณต์ ๋๋ฉด ์ฟผ๋ฆฌ๋ ์ด์ ์ข ์์ฑ์ด ์ถฉ์กฑ๋ ๊ฒฝ์ฐ, ์ฆ ํ์๋ ๊ฒฝ์ฐ์๋ง ์๋ต์ ๋ฐํํฉ๋๋ค. ์ด๊ฒ์ด ์ธ๊ณผ์ ์ผ๊ด์ฑ์ด ์๋ํ๋ ๋ฐฉ์์ ๋ณธ์ง์ ๋๋ค.
๊ทธ๋
๋ ๋ ์ฝ๋ 5๊ฐ ๋ ์ฝ๋ 1, 2, 3, 4์ ์์กดํ๋ค๋ ๊ฒ์ ํ์ธํฉ๋๋ค. ๋ฐ๋ผ์ ์ด์ ์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ด๋ฏธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํต๊ณผํ์ ๋ ํด๋ผ์ด์ธํธ๊ฐ Penny์ ์ก์ธ์ค ๊ฒฐ์ ์ ๋ฐ๋ฅธ ๋ณ๊ฒฝ ์ฌํญ์ ์ก์ธ์คํ ์ ์์ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
์์ง ์ ๋ณด๊ฐ ๋๋ฌด ๋ง์์ ์๋๊ฐ ๋๋ ค์ง๋ฏ๋ก ์ด๋ ์ฐ๋ฆฌ์๊ฒ๋ ์ ํฉํ์ง ์์ต๋๋ค. ๋ ๋ค๋ฅธ ์ ๊ทผ๋ฒ์ด ์์ต๋๋ค ...
๋จํฌํธ ์๊ณ
๊ทธ๋ค์ ์์ฃผ ์ค๋๋์์ต๋๋ค. Lamport Clock์ ์ด๋ฌํ ์ข ์์ฑ์ด Lamport Clock์ด๋ผ๋ ์ค์นผ๋ผ ํจ์๋ก ์ ํ ์์์ ์๋ฏธํฉ๋๋ค.
์ค์นผ๋ผ ํจ์๋ ์ถ์ ์ซ์์ ๋๋ค. ํํ ๋ ผ๋ฆฌ์ ์๊ฐ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ฐ ์ด๋ฒคํธ๋ง๋ค ์ด ์นด์ดํฐ๊ฐ ์ฆ๊ฐํฉ๋๋ค. ํ์ฌ ํ๋ก์ธ์ค์ ์๋ ค์ง ์นด์ดํฐ๋ ๊ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋ ๋๋ค. ํ๋ก์ธ์ค๊ฐ ๋๊ธฐํ๋์ง ์์ ์ ์๊ณ ์์ ํ ๋ค๋ฅธ ์๊ฐ์ ๊ฐ์ง ์ ์๋ค๋ ๊ฒ์ ๋ถ๋ช ํฉ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์์คํ ์ ์ด๋ป๊ฒ๋ ๊ทธ๋ฌํ ๋ฉ์์ง์ ์๊ณ์ ๊ท ํ์ ๋ง์ถฅ๋๋ค. ์ด ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋๋์?
๋ช ํํ๊ฒ ํ๊ธฐ ์ํด ํฐ ์กฐ๊ฐ์ ๋ ๊ฐ๋ก ๋๋ด์ต๋๋ค. ์น๊ตฌ๋ ์ปฌ๋ ์ ์ ์ผ๋ถ๊ฐ ํฌํจ๋ ํ ๋ ธ๋์ ์ด ์ ์๊ณ Feed๋ ์ด ์ปฌ๋ ์ ์ ์ผ๋ถ๊ฐ ํฌํจ๋ ๋ค๋ฅธ ๋ ธ๋์ ์ด ์ ์์ต๋๋ค. ๊ทธ๋ค์ด ์ด๋ป๊ฒ ์ค์ ๋ฒ์ด๋ ์ ์๋์ง ๋ถ๋ช ํฉ๋๊น? ์ฒซ ๋ฒ์งธ ํผ๋์๋ "๋ณต์ ๋จ"์ด๋ผ๊ณ ํ์๋๊ณ ๊ทธ ๋ค์์๋ ์น๊ตฌ๊ฐ ํ์๋ฉ๋๋ค. ์์คํ ์ด Friends ์ปฌ๋ ์ ์ Friends ์ข ์์ฑ๋ ์ ๋ฌ๋ ๋๊น์ง ํผ๋๊ฐ ํ์๋์ง ์๋๋ค๋ ์ผ์ข ์ ๋ณด์ฅ์ ์ ๊ณตํ์ง ์์ผ๋ฉด ์ ๊ฐ ์ธ๊ธํ ์ํฉ๊ณผ ์ ํํ ์ผ์นํ๊ฒ ๋ฉ๋๋ค.
Feed์ ์นด์ดํฐ ์๊ฐ์ด ๋ ผ๋ฆฌ์ ์ผ๋ก ์ด๋ป๊ฒ ์ฆ๊ฐํ๋์ง ํ์ธํ์ธ์.
๋ฐ๋ผ์ ์ด Lamport ์๊ณ ๋ฐ ์ธ๊ณผ ๊ด๊ณ ์ผ๊ด์ฑ(Lamport ์๊ณ๋ฅผ ํตํด ์ค๋ช
๋จ)์ ์ฃผ์ ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ด๋ฒคํธ A์ B๊ฐ ์๊ณ ์ด๋ฒคํธ B๊ฐ ์ด๋ฒคํธ A*์ ์์กดํ๋ ๊ฒฝ์ฐ ์ด๋ฒคํธ A์ LogicalTime์ ๋ค์๋ณด๋ค ์์ต๋๋ค. ์ด๋ฒคํธ B์ LogicalTime
* ๋๋๋ก ๊ทธ๋ค์ A๊ฐ B๋ณด๋ค ๋จผ์ ์ผ์ด๋ฌ๋ค๊ณ ๋งํฉ๋๋ค. ์ฆ, A๊ฐ B๋ณด๋ค ๋จผ์ ์ผ์ด๋ฌ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ํ ์ ์ฒด ์ฌ๊ฑด ์งํฉ์ ๋ถ๋ถ์ ์ผ๋ก ์ ๋ ฌํ๋ ํน์ ๊ด๊ณ์ ๋๋ค.
๊ทธ ๋ฐ๋๋ ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค. ์ด๊ฒ์ ์ค์ ๋ก Lamport Clock์ ์ฃผ์ ๋จ์ ์ค ํ๋์ธ ๋ถ๋ถ ์ฃผ๋ฌธ์
๋๋ค. ๋์ ์ฌ๊ฑด, ์ฆ (A๊ฐ B๋ณด๋ค ๋จผ์ ์ผ์ด๋ฌ์)๋ ์๋๊ณ (A๊ฐ B๋ณด๋ค ๋จผ์ ์ผ์ด๋ฌ์)๋ ์๋ ์ฌ๊ฑด์ ๋ํ ๊ฐ๋
์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Leonard๊ฐ ๋ค๋ฅธ ์ฌ๋์ ์น๊ตฌ๋ก ์ถ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค(์๋ฅผ ๋ค์ด Leonard๊ฐ ์๋๋ผ Sheldon๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค).
์ด๊ฒ์ Lamport ์๊ณ๋ก ์์
ํ ๋ ์์ฃผ ์ฌ์ฉ๋๋ ์์ฑ์
๋๋ค. ๊ทธ๋ค์ ๊ธฐ๋ฅ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ดํด๋ณด๊ณ ์ด๋ก๋ถํฐ ์๋ง๋ ์ด๋ฌํ ์ด๋ฒคํธ๊ฐ ์ข
์์ ์ผ ์ ์๋ค๊ณ ๊ฒฐ๋ก ์ ๋ด๋ฆฝ๋๋ค. ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์ฌ์ค์ด๊ธฐ ๋๋ฌธ์ LogicalTime A๊ฐ LogicalTime B๋ณด๋ค ์์ผ๋ฉด B๋ A๋ณด๋ค ๋จผ์ ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ทธ ์ด์์ด๋ผ๋ฉด ์๋ง๋์.
๋ฒกํฐ ์๊ณ
Lamport ์๊ณ์ ๋
ผ๋ฆฌ์ ๋ฐ์ ์ ๋ฒกํฐ ์๊ณ์
๋๋ค. ์ฌ๊ธฐ์ ์๋ ๊ฐ ๋
ธ๋์๋ ์์ฒด ๋ณ๋์ ํด๋ญ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ ๋ฒกํฐ๋ก ์ ์ก๋๋ค๋ ์ ์ด ๋ค๋ฆ
๋๋ค.
์ด ๊ฒฝ์ฐ ๋ฒกํฐ์ 1๋ฒ์งธ ์ธ๋ฑ์ค๋ Feed๋ฅผ ๋ด๋นํ๊ณ ๋ฒกํฐ์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค๋ Friends(๊ฐ ๋
ธ๋)๋ฅผ ๋ด๋นํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๊ทธ๋ค์ ์ฆ๊ฐํ ๊ฒ์
๋๋ค: ๊ธ์ ์ธ ๋ โFeedโ์ 2 ์ง์๋ 3, XNUMX, XNUMX์ผ๋ก ์ฆ๊ฐํฉ๋๋ค:
๋ฒกํฐ ํด๋ญ์ด ๋ ๋์ ์ด์ ๋ ๋ฌด์์
๋๊น? ์ด๋ฅผ ํตํด ์ด๋ค ์ด๋ฒคํธ๊ฐ ๋์์ ๋ฐ์ํ๋์ง, ์ธ์ ๋ค๋ฅธ ๋
ธ๋์์ ๋ฐ์ํ๋์ง ํ์
ํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด๋ MongoDB์ ๊ฐ์ ์ค๋ฉ ์์คํ
์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ ํํ์ง ์์์ต๋๋ค. ๋น๋ก ๊ทธ๊ฒ์ด ํ๋ฅญํ ์ผ์ด๊ณ ํ๋ฅญํ๊ฒ ์๋ํ๋ฉฐ ์๋ง๋ ์ฐ๋ฆฌ์๊ฒ ์ ํฉํ ๊ฒ์
๋๋ค...
์ค๋๊ฐ 10๊ฐ์ธ ๊ฒฝ์ฐ ์์ถํ๊ฑฐ๋ ๋ค๋ฅธ ๊ฒ์ ์๊ฐํด๋ด๋๋ผ๋ 10๊ฐ์ ๊ตฌ์ฑ ์์๋ฅผ ์ ์กํ ์ ์์ต๋๋ค. ํ์ด๋ก๋๋ ์ฌ์ ํ ์ด ์ ์ฒด ๋ฒกํฐ์ ๋ณผ๋ฅจ๋ณด๋ค ๋ช ๋ฐฐ ๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ ๋ง์๊ณผ ์ด๋ฅผ ์ ๋ฌผ๊ณ ์ด ์ ๊ทผ ๋ฐฉ์์ ํฌ๊ธฐํ๊ณ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ ํํ์ต๋๋ค.
์คํจ๋ ํธ๋ฃจํ์. ์์์๊ณ
์คํจ๋์ ๋ํ ์ด์ผ๊ธฐ๊ฐ ์์ ๊ฑฐ๋ผ๊ณ ํ์ด์. ์ด๊ฒ์ XNUMX์ธ๊ธฐ์ ๋์จ ๋ฉ์ง ์ผ์ ๋๋ค. ์์ ์๊ณ, GPS ๋๊ธฐํ์ ๋๋ค.
๋ฌด์จ ์์ด๋์ด์ผ? "Spanner"๋ ์ต๊ทผ ์ฌ๋๋ค์ด ์ฌ์ฉํ ์ ์๊ฒ ๋ Google ์์คํ ์ ๋๋ค(SQL์ด ์ถ๊ฐ๋์์ต๋๋ค). ๊ฐ ๊ฑฐ๋์๋ ํ์ ์คํฌํ๊ฐ ์์ต๋๋ค. ์๊ฐ์ ๋๊ธฐํ*๋๋ฏ๋ก ๊ฐ ์ด๋ฒคํธ์ ํน์ ์๊ฐ์ด ํ ๋น๋ ์ ์์ต๋๋ค. ์์ ์๊ณ์๋ ๋๊ธฐ ์๊ฐ์ด ์์ผ๋ฉฐ ๊ทธ ํ์๋ ๋ค๋ฅธ ์๊ฐ์ด "๋ฐ์"ํ๋ ๊ฒ์ด ๋ณด์ฅ๋ฉ๋๋ค.
๋ฐ๋ผ์ ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ณ ์ผ์ ์๊ฐ ๋์ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ด๋ฒคํธ์ ์ง๋ ฌํ๊ฐ ์๋์ผ๋ก ๋ณด์ฅ๋ฉ๋๋ค. ๊ทธ๋ค์ ์์น์ ์ผ๋ก ์์ํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ธ๋ถ ์ผ๊ด์ฑ์
๋๋ค.
* ์ด๊ฒ์ด Lampart ์๊ณ์ ์ฃผ์ ๋ฌธ์ ์ ์ ๋๋ค. ๋ถ์ฐ ์์คํ ์์๋ ๊ฒฐ์ฝ ๋๊ธฐํ๋์ง ์์ต๋๋ค. ๊ทธ๋ค์ ๊ฐ๋ผ์ง ์ ์์ผ๋ฉฐ NTP๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ฌ์ ํ ์ ์๋ํ์ง ์์ต๋๋ค. "Spanner"์๋ ์์ ์๊ณ๊ฐ ์์ผ๋ฉฐ ๋๊ธฐํ๋ ๋ง์ดํฌ๋ก์ด์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ ์ ํํ์ง ์์๋์? ์ฐ๋ฆฌ๋ ์ฌ์ฉ์์๊ฒ ์์ ์๊ณ๊ฐ ๋ด์ฅ๋์ด ์๋ค๊ณ ๊ฐ์ ํ์ง ์์ต๋๋ค. ๋ชจ๋ ๋ ธํธ๋ถ์ ๋ด์ฅ๋ ์๊ณ๊ฐ ๋ํ๋๋ฉด ์ผ์ข ์ ๋งค์ฐ ๋ฉ์ง GPS ๋๊ธฐํ ๊ธฐ๋ฅ์ด ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ทธ๋ ์ต๋๋ค... ํ์ง๋ง ํ์ฌ๋ก์ ๊ฐ๋ฅํ ์ต๊ณ ๋ Amazon, ๋ฒ ์ด์ค ์คํ ์ด์ ์ ๋๋ค. ๊ด์ ์๋ฅผ ์ํ... ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ์๊ณ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. .
ํ์ด๋ธ๋ฆฌ๋ ์๊ณ
์ด๋ ์ค์ ๋ก ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ ๋ MongoDB์์ ํ์ธํ๋ ์ฌํญ์ ๋๋ค. ๊ทธ๋ค์ ์ด๋ป๊ฒ ํ์ด๋ธ๋ฆฌ๋์ ๋๊น? ํ์ด๋ธ๋ฆฌ๋๋ ์ค์นผ๋ผ ๊ฐ์ด์ง๋ง ๋ ๊ฐ์ง ๊ตฌ์ฑ ์์๊ฐ ์์ต๋๋ค.
- ์ฒซ ๋ฒ์งธ๋ Unix ์๋(โ์ปดํจํฐ ์ธ๊ณ์ ์์โ ์ดํ ๋ช ์ด๊ฐ ์ง๋ฌ๋์ง)์ ๋๋ค.
- ๋ ๋ฒ์งธ๋ ์ฝ๊ฐ์ ์ฆ๋ถ์ด๋ฉฐ ์ญ์ 32๋นํธ unsigned int์ ๋๋ค.
์ค์ ๋ก ๊ทธ๊ฒ ์ ๋ถ์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค. ์๊ฐ์ ๋ด๋นํ๋ ๋ถ๋ถ์ ํญ์ ์๊ณ์ ๋๊ธฐํ๋ฉ๋๋ค. ์ ๋ฐ์ดํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค ์ด ๋ถ๋ถ์ด ์๊ณ์ ๋๊ธฐํ๋์ด ์๊ฐ์ด ํญ์ ์ด๋ ์ ๋ ์ ํํ๋ค๋ ์ฌ์ค์ด ๋ฐํ์ง๋ฉฐ, ์ฆ๋ถ์ ํตํด ๋์ผํ ์์ ์ ๋ฐ์ํ ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ถํ ์ ์์ต๋๋ค.
์ด๊ฒ์ด MongoDB์ ์ ์ค์ํ๊ฐ์? ํน์ ์์ ์ ์ผ์ข ์ ๋ฐฑ์ ๋ ์คํ ๋์ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์, ์ฆ ์ด๋ฒคํธ๊ฐ ์๊ฐ๋ณ๋ก ์์ธํ๋ฉ๋๋ค. ์ด๋ ํน์ ์ด๋ฒคํธ๊ฐ ํ์ํ ๋ ์ค์ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฝ์ฐ ์ด๋ฒคํธ๋ ํน์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ๋ฐ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋ค.
๊ฐ์ฅ ์ค์ํ ์ด์ ๋ ๋น์ ์๊ฒ๋ง ์๋ ค๋๋ฆด๊ฒ์(์๋ฌด์๊ฒ๋ ๋งํ์ง ๋ง์ธ์)! ์ฐ๋ฆฌ๊ฐ ์ด๋ ๊ฒ ํ ์ด์ ๋ ์ด๊ฒ์ด MongoDB OpLog์์ ์กฐ์งํ๋๊ณ ์ธ๋ฑ์ฑ๋ ๋ฐ์ดํฐ์ฒ๋ผ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. OpLog๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ํฌํจํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค. ๋จผ์ OpLog๋ก ์ด๋ํ ๋ค์ ๋ณต์ ๋ ๋ ์ง ๋๋ ์ค๋์ธ ๊ฒฝ์ฐ ์คํ ๋ฆฌ์ง ์์ฒด์ ์ ์ฉ๋ฉ๋๋ค.
์ด๊ฒ์ด ์ฃผ๋ ์ด์ ์์ต๋๋ค. ํ์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ค์ ์ ์ธ ์๊ตฌ ์ฌํญ๋ ์์ต๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋จ์ํด์ผ ํฉ๋๋ค. ์ฆ, ์ฝ๋๊ฐ ์ ๊ณ ๋ค์ ์์ฑํ๊ณ ํ ์คํธํด์ผ ํ๋ ์์๋ ํญ๋ชฉ์ด ๊ฐ๋ฅํ ํ ์ ์ด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ์ oplog๊ฐ ํ์ด๋ธ๋ฆฌ๋ ์๊ณ์ ์ํด ์์ธํ๋์๋ค๋ ์ฌ์ค์ ๋ง์ ๋์์ด ๋์๊ณ ์ฌ๋ฐ๋ฅธ ์ ํ์ ํ ์ ์๊ฒ ํด์ฃผ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ ๋ง ํฐ ์ฑ๊ณผ๋ฅผ ๊ฑฐ๋์๊ณ ์ฒซ ๋ฒ์งธ ํ๋กํ ํ์ ์์ ๋ง๋ฒ์ฒ๋ผ ์๋ํ์ต๋๋ค. ๋งค์ฐ ๋ฉ์ก์ต๋๋ค!
์๊ณ ๋๊ธฐํ
๊ณผํ ๋ฌธํ์๋ ์ฌ๋ฌ ๊ฐ์ง ๋๊ธฐํ ๋ฐฉ๋ฒ์ด ์ค๋ช ๋์ด ์์ต๋๋ค. ์ ๋ ๋ ๊ฐ์ ์๋ก ๋ค๋ฅธ ์ค๋๊ฐ ์์ ๋์ ๋๊ธฐํ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ํ๋์ ๋ณต์ ๋ณธ ์ธํธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋๊ธฐํ๊ฐ ํ์ํ์ง ์์ต๋๋ค. ์ด๋ "๋จ์ผ ๋ง์คํฐ"์ ๋๋ค. ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋๋ OpLog๊ฐ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ชจ๋ ๊ฒ์ด ์ด๋ฏธ "Oplog" ์์ฒด์ ์์ฐจ์ ์ผ๋ก ์ ๋ ฌ๋์ด ์์ต๋๋ค. ํ์ง๋ง ๋ ๊ฐ์ ์๋ก ๋ค๋ฅธ ์ค๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์๋ ์๊ฐ ๋๊ธฐํ๊ฐ ์ค์ํฉ๋๋ค. ์ด๊ฒ์ ๋ฒกํฐ ์๊ณ๊ฐ ๋ ๋์์ด ๋ ๋ถ๋ถ์ ๋๋ค! ํ์ง๋ง ์ฐ๋ฆฌ์๊ฒ ๊ทธ๋ฐ ๊ฒ๋ค์ด ์์ต๋๋ค.
๋ ๋ฒ์งธ๊ฐ ์ ํฉํฉ๋๋ค. ์ด๊ฒ์ "Heartbeats"์
๋๋ค. ๋จ์ ์๊ฐ๋ง๋ค ๋ฐ์ํ๋ ์ผ๋ถ ์ ํธ๋ฅผ ๊ตํํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง ํํธ๋นํธ๊ฐ ๋๋ฌด ๋๋ ค์ ํด๋ผ์ด์ธํธ์ ๋๊ธฐ ์๊ฐ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ฌผ๋ก ์ง์ ํ ์๊ฐ์ ๋๋ผ์ด ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ค์ ๋งํ์ง๋ง, ์ด๊ฒ์ ์๋ง๋ ๋ฏธ๋์ผ ๊ฒ์ ๋๋ค... Atlas์์ ์ด๋ฏธ ์ํํ ์ ์์ง๋ง ์ด๋ฏธ ๋น ๋ฅธ "Amazon" ์๊ฐ ๋๊ธฐํ ์ฅ์น๊ฐ ์์ต๋๋ค. ํ์ง๋ง ๋ชจ๋ ์ฌ๋์ด ์ด์ฉํ ์ ์๋ ๊ฒ์ ์๋๋๋ค.
ํ๋ด์ ๋ชจ๋ ๋ฉ์์ง์ ์๊ฐ์ด ํฌํจ๋๋ ๊ฒฝ์ฐ์ ๋๋ค. ์ด๊ฒ์ด ๋๋ต ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋ ธ๋, ๋๋ผ์ด๋ฒ, ๋ฐ์ดํฐ ๋ ธ๋ ๋ผ์ฐํฐ ์ฌ์ด์ ๋ชจ๋ ๋ฉ์์ง, MongoDB์ ๋ชจ๋ ๊ฒ์ ์ผ์ข ์ ์์, ์ฆ ์คํ๋๋ ์๊ณ๋ฅผ ํฌํจํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ ์์์ ๋๋ค. ๊ทธ๋ค์ ์ด๋์์๋ ํ์ด๋ธ๋ฆฌ๋ ์๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์ ๋ฌ๋ฉ๋๋ค. 64๋นํธ? ์ด๊ฒ์ ๊ฐ๋ฅํฉ๋๋ค.
์ด ๋ชจ๋ ๊ฒ์ด ์ด๋ป๊ฒ ํจ๊ป ์๋ํฉ๋๊น?
์ฌ๊ธฐ์์๋ ์ข ๋ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํด ํ๋์ ๋ณต์ ์ธํธ๋ฅผ ๋ณด๊ณ ์์ต๋๋ค. ์ด๋ฑ๊ณผ ์ค๋ฑ์ด ์์ต๋๋ค. ๋ณด์กฐ๋ ๋ณต์ ๋ฅผ ์ํํ๋ฉฐ ํญ์ ๊ธฐ๋ณธ๊ณผ ์์ ํ ๋๊ธฐํ๋์ง๋ ์์ต๋๋ค.
ํน์ ์๊ฐ ๊ฐ์ผ๋ก "Primery"์ ์ฝ์ ์ด ๋ฐ์ํฉ๋๋ค. ์ด ์ฝ์ ์ ๋ด๋ถ ๊ฐ์๋ฅผ 11๋งํผ ์ฆ๊ฐ์ํต๋๋ค(์ด๊ฒ์ด ์ต๋๊ฐ์ธ ๊ฒฝ์ฐ). ๋๋ ์๊ณ ๊ฐ์ ํ์ธํ๊ณ ์๊ณ ๊ฐ์ด ๋ ํฌ๋ฉด ์๊ณ์ ๋๊ธฐํํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๊ฐ๋ณ๋ก ์ ๋ฆฌํ ์ ์์ต๋๋ค.
๊ทธ๊ฐ ๋ น์์ ํ๊ณ ๋๋ฉด ์ค์ํ ์๊ฐ์ด ์ผ์ด๋๋ค. ์๊ณ๋ "MongoDB"์ ์์ผ๋ฉฐ "Oplog"์ ์ฐ๋ ๊ฒฝ์ฐ์๋ง ์ฆ๊ฐ๋ฉ๋๋ค. ์ด๋ ์์คํ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ์ด๋ฒคํธ์ ๋๋ค. ๋ชจ๋ ๊ณ ์ ๊ธฐ์ฌ์์ ์ด๋ฒคํธ๋ ๋ฉ์์ง๊ฐ ๋ ธ๋์ ๋๋ฌํ ๋๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ฆ, ๋ฉ์์ง๊ฐ ๋์ฐฉํ์ผ๋ฉฐ ์ด๋ ์์คํ ์ํ๊ฐ ๋ณ๊ฒฝ๋์์์ ์๋ฏธํฉ๋๋ค.
์ด๋ ์ฐ๊ตฌ ์ค์ ์ด ๋ฉ์์ง๊ฐ ์ด๋ป๊ฒ ํด์๋ ์ง ์์ ํ ๋ช ํํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ด "Oplog"์ ๋ฐ์๋์ง ์์ผ๋ฉด ์ด๋ค ์์ผ๋ก๋ ํด์๋์ง ์์ผ๋ฉฐ ์์คํ ์ํ์ ๋ณ๊ฒฝ์ "Oplog"์ ํญ๋ชฉ์ผ ๋ฟ์ด๋ผ๋ ๊ฒ์ ํ์คํ ์๊ณ ์์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ์๊ฒ ๋ชจ๋ ๊ฒ์ ๋จ์ํ์ํต๋๋ค. ๋ชจ๋ธ์ ์ด๋ฅผ ๋จ์ํํ๊ณ ํ๋์ ๋ณต์ ๋ณธ ์ธํธ ๋ด์์ ๊ตฌ์ฑํ ์ ์๋๋ก ํ๋ฉฐ ๊ธฐํ ๋ง์ ์ ์ฉํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
"Oplog"์ ์ด๋ฏธ ๊ธฐ๋ก๋ ๊ฐ์ด ๋ฐํ๋ฉ๋๋ค. "Oplog"์ ์ด๋ฏธ ์ด ๊ฐ์ด ํฌํจ๋์ด ์๊ณ ์๊ฐ์ 12๋ผ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ด์ ์ฝ๊ธฐ๊ฐ ๋ค๋ฅธ ๋ ธ๋(๋ณด์กฐ)์์ ์์๋๊ณ afterClusterTime์ด ์ ์ก๋ฉ๋๋ค. ๋ฉ์์ง. ๊ทธ๋ ์ด๋ ๊ฒ ๋งํฉ๋๋ค. โ์ ์ด๋ 12์ ์ดํ๋ XNUMX์ ๋์ ์ผ์ด๋ ๋ชจ๋ ์ผ์ด ํ์ํฉ๋๋ค.โ(์ ๊ทธ๋ฆผ ์ฐธ์กฐ)
์ด๊ฒ์ด ๋ฐ๋ก ์ธ๊ณผ๊ด๊ณ(CAT)๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์ ๋๋ค. ์ด๋ก ์ ์ผ๋ก๋ ์ด๊ฒ์ด ๊ทธ ์์ฒด๋ก ์ผ๊ด๋ ์๊ฐ ์กฐ๊ฐ์ด๋ผ๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ 12์์ ์ ๊ด์ฐฐ๋ ์์คํ ์ ์ํ๋ผ๊ณ ํ ์ ์๋ค.
์ด์ ์ฌ๊ธฐ์๋ ์์ง ์๋ฌด๊ฒ๋ ์์ต๋๋ค. ์ด๋ ๊ธฐ๋ณธ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ๊ธฐ ์ํด ๋ณด์กฐ๊ฐ ํ์ํ ์ํฉ์ ์๋ฎฌ๋ ์ด์ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ ๊ธฐ๋ค๋ฆฝ๋๋ค... ์ด์ ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ์ต๋๋ค. ๊ทธ๋ ์ด ๊ฐ์ ๋ค์ ๋ฐํํฉ๋๋ค.
๊ทธ๊ฒ์ด ๋ชจ๋ ๊ฒ์ด ๊ฑฐ์ ์๋ํ๋ ๋ฐฉ์์
๋๋ค. ๊ฑฐ์.
"๊ฑฐ์"์(๋) ๋ฌด์จ ๋ป์ธ๊ฐ์? ์ด ๋ชจ๋ ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ฝ๊ณ ์ดํดํ ์ฌ๋์ด ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ClusterTime์ด ๋ฐ์ํ ๋๋ง๋ค ๋ด๋ถ ๋ ผ๋ฆฌ ์๊ณ๊ฐ ์ ๋ฐ์ดํธ๋๊ณ ๋ค์ ํญ๋ชฉ์ด 20์ฉ ์ฆ๊ฐํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด ํจ์๋ 64์ค์ ์ฌ์ฉํฉ๋๋ค. ์ด ์ฌ๋์ด XNUMX์ ๋บ ๊ฐ์ฅ ํฐ XNUMX๋นํธ ์ซ์๋ฅผ ์ ์กํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
์ "๋ง์ด๋์ค XNUMX"์ธ๊ฐ์? ๋ด๋ถ ์๊ณ๊ฐ ์ด ๊ฐ์ผ๋ก ๋์ฒด๋๊ธฐ ๋๋ฌธ์(๋ถ๋ช ํ ์ด๊ฒ์ ๊ฐ๋ฅํ ๊ฐ์ฅ ํฌ๊ณ ํ์ฌ ์๊ฐ๋ณด๋ค ํฝ๋๋ค) "Oplog"์ ํญ๋ชฉ์ด ๋ฐ์ํ๊ณ ์๊ณ๋ ๋ค๋ฅธ ๋จ์๋ก ์ฆ๊ฐ๋ฉ๋๋ค. ์ต๋๊ฐ์ด ๋์ด์ผ ํฉ๋๋ค(๋จ์ํ ๋ชจ๋ ๋จ์๊ฐ ์๊ณ ๋ ์ด์ ๊ฐ ๊ณณ์ด ์์ต๋๋ค), unsaint int).
๊ทธ ํ์๋ ์์คํ ์ ์ด๋ค ๊ฒ๋ ์ ๋ ์ ๊ทผํ ์ ์๊ฒ ๋๋ ๊ฒ์ด ๋ถ๋ช ํฉ๋๋ค. ์ธ๋ก๋ ๋ฐ ์ฒญ์๋ง ๊ฐ๋ฅํฉ๋๋ค. ๋ง์ ์์์ ์ด ํ์ํฉ๋๋ค. ์ ์ฒด ๊ฐ์ฉ์ฑ:
๊ฒ๋ค๊ฐ ์ด๊ฒ์ด ๋ค๋ฅธ ๊ณณ์์ ๋ณต์ ๋๋ฉด ์ ์ฒด ํด๋ฌ์คํฐ๊ฐ ๋จ์ํ ๋ค์ด๋ฉ๋๋ค. ๋๊ตฌ๋ ์์ฃผ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ ๋ฆฌํ ์ ์๋ ์ ๋ ์ฉ๋ฉํ ์ ์๋ ์ํฉ! ๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋ ์ด ์๊ฐ์ ๊ฐ์ฅ ์ค์ํ ์๊ฐ โโ์ค ํ๋๋ก ์ฌ๊ฒผ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ?
์ฐ๋ฆฌ์ ๋ฐฉ๋ฒ์ ClusterTime์ ์๋ช ํ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ด ๋ฉ์์ง์์ ์ ์ก๋๋ ๋ฐฉ์์ ๋๋ค(ํ๋์ ํ ์คํธ ์). ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ํ ์๋ช (ํ๋์ ํ ์คํธ)์ ์์ฑํ๊ธฐ ์์ํ์ต๋๋ค.
์๋ช
์ ๋ณด์ ๊ฒฝ๊ณ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋ถ์ ์ ์ฅ๋ ํค์ ์ํด ์์ฑ๋ฉ๋๋ค. ์์ฒด๊ฐ ์์ฑ๋๊ณ ์
๋ฐ์ดํธ๋ฉ๋๋ค(์ฌ์ฉ์๋ ์ด์ ๋ํด ์๋ฌด๊ฒ๋ ๋ณผ ์ ์์). ํด์๊ฐ ์์ฑ๋๊ณ ๊ฐ ๋ฉ์์ง๋ ์์ฑ๋ ๋ ์๋ช
๋๊ณ ์์ ๋ ๋ ์ ํจ์ฑ์ด ๊ฒ์ฌ๋ฉ๋๋ค.
์๋ง๋ ์ฌ๋๋ค์ ๋ง์ ์์๋ "์ด๊ฒ์ด ์ผ๋ง๋ ์๋๋ฅผ ๋ฆ์ถ๋๊ฐ?"๋ผ๋ ์ง๋ฌธ์ด ๋ ์ค๋ฅผ ๊ฒ์
๋๋ค. ํนํ ์ด ๊ธฐ๋ฅ์ด ์๋ ๊ฒฝ์ฐ์๋ ๋น ๋ฅด๊ฒ ์๋ํ ๊ฒ์ด๋ผ๊ณ ๋ง์๋๋ ธ์ต๋๋ค.
์ด ๊ฒฝ์ฐ ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋ฌด์์ ์๋ฏธํฉ๋๊น? ์ด๋ afterClusterTime ๋งค๊ฐ๋ณ์๋ฅผ ํ์ํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ด ์์ผ๋ฉด ์ด์จ๋ ๋จ์ํ ๊ฐ์ ์ ๋ฌํ๊ฒ ๋ฉ๋๋ค. ๋ฒ์ 3.6๋ถํฐ ํ๋ด์ ํญ์ ์๋ํฉ๋๋ค.
์ง์์ ์ธ ์๋ช ์์ฑ์ ๋ฐฉ์นํ๋ฉด ๊ธฐ๋ฅ์ด ์์ด๋ ์์คํ ์๋๊ฐ ๋๋ ค์ง๋ฏ๋ก ์ ๊ทผ ๋ฐฉ์๊ณผ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ์ง ๋ชปํฉ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ฌด์์ ํ๋์?
๋นจ๋ฆฌ ํ์ธ์!
๊ฝค ๊ฐ๋จํ ์ผ์ด์ง๋ง ์๋ น์ ํฅ๋ฏธ๋กญ์ต๋๋ค. ๊ณต์ ํ๊ฒ ์ต๋๋ค. ์๋ง๋ ๋๊ตฐ๊ฐ๊ฐ ๊ด์ฌ์ ๊ฐ์ง ๊ฒ์
๋๋ค.
์๋ช
๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํด์๊ฐ ์์ต๋๋ค. ๋ชจ๋ ๋ฐ์ดํฐ๋ ์บ์๋ฅผ ํต๊ณผํฉ๋๋ค. ์บ์๋ ํน์ ์๊ฐ์ ์๋ช
ํ์ง ์๊ณ ๋ฒ์๋ฅผ ์๋ช
ํฉ๋๋ค. ์ด๋ค ๊ฐ์ด ๋์ฐฉํ๋ฉด Range๋ฅผ ์์ฑํ๊ณ ๋ง์ง๋ง 16๋นํธ๋ฅผ ๋ง์คํฌ ์ฒ๋ฆฌํ ํ ๋ค์ ๊ฐ์ ์๋ช
ํฉ๋๋ค.
์ด๋ฌํ ์๋ช
์ ์์ ํจ์ผ๋ก์จ ์ฐ๋ฆฌ๋ ์์คํ
์๋๋ฅผ (์๋์ ์ผ๋ก) 65๋ฐฐ ํฅ์์ํต๋๋ค. ํ๋ฅญํ๊ฒ ์๋ํฉ๋๋ค. ์คํ์ ์ํํ์ ๋ ์์ฐจ์ ์
๋ฐ์ดํธ๋ฅผ ์ํํ์ ๋ ์ค์ ๋ก ์๊ฐ์ด 10๋ฐฐ ๊ฐ์ํ์ต๋๋ค. ๊ทธ๋ค์ด ์๋ก ์ถฉ๋ํ๋ฉด ์ด๊ฒ์ด ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ด ๋ถ๋ช
ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ์ค์ ์ฌ๋ก์์๋ ์๋ํฉ๋๋ค. Range ์๋ช
๊ณผ ์๋ช
์ ์กฐํฉ์ผ๋ก ๋ณด์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ฌด์์ ๋ฐฐ์ ์ต๋๊น?
์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์ ๋ฐฐ์ด ๊ตํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํฅ๋ฏธ๋ก์ด ๊ฒ๋ค์ด ๋ง๊ธฐ ๋๋ฌธ์ ์๋ฃ, ์ด์ผ๊ธฐ, ๊ธฐ์ฌ๋ฅผ ์ฝ์ด์ผํฉ๋๋ค. ์ผ๋ถ ๊ธฐ๋ฅ์ ์์
ํ ๋(ํนํ ์ง๊ธ์ ํธ๋์ญ์
์ ์ํํ ๋ ๋ฑ) ์ฝ๊ณ ์ดํดํด์ผ ํฉ๋๋ค. ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ด๋์ ์๋์ง ๋ช
ํํ๊ฒ ์๋ ค์ฃผ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์๋ก์ด ๊ฒ์ ์๊ฐํด ๋ด์ง ๋ชปํ ๊ฒ ๊ฐ์์ต๋๋ค. ๋จ์ง ์ฌ๋ฃ๋ง ๊ฐ์ ธ๊ฐ์ ๋ฟ์
๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํ์ ํ์(์: Sigmon)๊ฐ ์์ ๋ ์ฌ๊ณ ์๋ ์ด๋ ์ ๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๋ชจ๋๊ฐ ์๋ก์ด ์์ด๋์ด์ ์ง์คํฉ๋๋ค. ์ฐ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ์๋ก์ด ์ ์ ๋ฌด์์ ๋๊น? ์ฌ๊ธฐ์๋ ํน๋ณํ ์๋ก์ด ๊ฒ์ด ์์ต๋๋ค. ์คํ๋ ค ์ฐธ์ ํจ์ ๊ธฐ์กด ์ ๊ทผ ๋ฐฉ์์ ํจ๊ป ํผํฉํ๋ ๋ฐฉ์์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๊ฐ์ฅ ๋จผ์ ํ ์ผ์ Lampart๋ถํฐ ์์ํ์ฌ ๊ณ ์ ์ ์ฝ๋ ๊ฒ์ ๋๋ค.
- ์์ฐ ๊ณผ์ ์์๋ ์๊ตฌ ์ฌํญ์ด ์์ ํ ๋ค๋ฆ ๋๋ค. ์ฌ๋ฌ๋ถ ์ค ๋ง์ ๋ถ๋ค์ด ์ถ์์ ์ธ ๊ณต๋ฐฑ ์ํ์ "๊ตฌํ" ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋๋ผ ๊ฐ์ฉ์ฑ, ๋๊ธฐ ์๊ฐ ๋ฐ ๋ด๊ฒฐํจ์ฑ์ ๋ฌธ์ ๊ฐ ์๋ ์ ์์ ์ด๊ณ ์ค์ ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง๋ฉดํ๊ณ ์๋ค๊ณ ํ์ ํฉ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก ์ฐ๋ฆฌ๋ ์๋ก ๋ค๋ฅธ ์์ด๋์ด๋ฅผ ์ดํด๋ณด๊ณ ์์ ํ ๋ค๋ฅธ ์ฌ๋ฌ ๊ธฐ์ฌ๋ฅผ ํ๋์ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ๊ฒฐํฉํด์ผ ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ช
์ ๋ํ ์์ด๋์ด๋ ์ผ๋ฐ์ ์ผ๋ก Paxos ํ๋กํ ์ฝ์ ๊ณ ๋ คํ ๊ธฐ์ฌ์์ ๋์๋๋ฐ, ๋น์ํด ์คํจ์์ ๊ฒฝ์ฐ ์น์ธ ํ๋กํ ์ฝ ๋ด๋ถ์ ์๊ณ , ๋น์ํด ์คํจ์์ ๊ฒฝ์ฐ ์น์ธ ํ๋กํ ์ฝ ์ธ๋ถ์ ์์ต๋๋ค... ์ผ๋ฐ์ ์ผ๋ก ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ ํ๋ ๊ฒ์
๋๋ค. ํ๊ณ ๋๋ฌ์ต๋๋ค.
์ฌ๊ธฐ์๋ ์ ํ ์๋ก์ด ๊ฒ์ด ์์ต๋๋ค! ํ์ง๋ง ๋ค ์์๋ง์... ๊ณ๋, ๋ง์๋ค์ฆ, ์ค์ด๊ฐ ์ด๋ฏธ ๋ฐ๋ช ๋์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฆฌ๋น์ ์๋ฌ๋ ๋ ์ํผ๊ฐ ๋ง๋ ์๋๋ค๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค... ๊ฑฐ์ ๊ฐ์ ์ด์ผ๊ธฐ์ ๋๋ค.
์ด๊ฒ์ผ๋ก ๋ง์น๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
์ง๋ฌธ
์ฒญ์ค(์ดํ B)์ ์ง๋ฌธ: โ ๋ณด๊ณ ์๋ฅผ ๋ณด๋ด์ฃผ์ Mikhail์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ์๊ฐ์ ๊ดํ ์ฃผ์ ๊ฐ ํฅ๋ฏธ๋กญ์ต๋๋ค. ํ๋ด์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ชจ๋ ์ฌ๋์ ์์ ๋ง์ ์๊ฐ์ด ์๊ณ , ๋ชจ๋๊ฐ ์์ ์ ํ์ง ์๊ฐ์ ์๊ณ ์๋ค๊ณ ๋งํ์ต๋๋ค. ๋ด๊ฐ ์ดํดํ๋ ๋ฐ์ ๋ฐ๋ฅด๋ฉด ์ฐ๋ฆฌ์๊ฒ๋ ๋๋ผ์ด๋ฒ๊ฐ ์์ต๋๋ค. ๋๋ผ์ด๋ฒ, ์ฟผ๋ฆฌ ํ๋๋, ์ค๋ ๋ฑ์ ๊ฐ์ง ๋ง์ ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ ์์ต๋๋ค. ๊ฐ์๊ธฐ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ๋ฉด ์์คํ ์ ์ด๋ป๊ฒ ๋ ๊น์? XNUMX๋ถ ์ , ๋๊ตฐ๊ฐ XNUMX๋ถ ๋ฆ์๋์? ์ฐ๋ฆฌ๋ ์ด๋๋ก ๊ฐ ๊ฒ์ธ๊ฐ?
์ฐ: โ ์ ๋ง ์ข์ ์ง๋ฌธ์
๋๋ค! ๋๋ ๋จ์ง ์ค๋์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ์์ต๋๋ค. ์ง๋ฌธ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค. ์ค๋ 1๊ณผ ์ค๋ 2๊ฐ ์๊ณ ์ด ๋ ์ค๋์์ ์ฝ๊ธฐ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ ์ค๋์๋ ๋ถ์ผ์น๊ฐ ์๊ณ , ์๊ณ ์๋ ์๊ฐ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์๋ก ์ํธ ์์ฉํ์ง ์์ต๋๋ค. ํนํ oplog์ ์กด์ฌํ๋ ์๊ฐ์
๋๋ค.
์ค๋ 1์ด ๋ฐฑ๋ง ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ค๋ 2๋ ์๋ฌด ์์
๋ ์ํํ์ง ์์์ผ๋ฉฐ, ์์ฒญ์ด ์ค๋ 2๊ฐ์ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ afterClusterTime์ด ๋ฐฑ๋ง์ด ๋์ต๋๋ค. ์ด๋ฌํ ์ํฉ์์๋ ์์ ์ค๋ช
ํ๋ฏ์ด ์ค๋ XNUMX๋ ์ ํ ์๋ตํ์ง ์์ต๋๋ค.
์์ : โ ํ๋์ ๋ ผ๋ฆฌ์ ์๊ฐ์ ๋๊ธฐํํ๊ณ ์ ํํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์ถ์์ต๋๋ค.
์ฐ: - ๋๊ธฐํ๊ฐ ๋งค์ฐ ์ฝ์ต๋๋ค. Shard๋ afterClusterTime์ด ๊ทธ์๊ฒ ์ค๊ณ "Oplog"์์ ์๊ฐ์ ์ฐพ์ง ๋ชปํ๋ฉด ์น์ธ์ ์์ํ์ง ์์ต๋๋ค. ์ฆ, ๊ทธ๋ ์์ ์ ์๊ฐ์ ์ด ๊ฐ์ผ๋ก ๋์ธ๋ค. ์ด๋ ์ด ์์ฒญ๊ณผ ์ผ์นํ๋ ์ด๋ฒคํธ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ ์ด ์ฌ๊ฑด์ ์ธ์์ ์ผ๋ก ๋ง๋ค์ด ์ธ๊ณผ๊ด๊ณ์ ์ผ์นํ๊ฒ ๋ฉ๋๋ค.
์์ : โ ์ดํ์ ๋คํธ์ํฌ ์ด๋๊ฐ์์ ์์ค๋ ๋ค๋ฅธ ์ด๋ฒคํธ๊ฐ ๊ทธ์๊ฒ ์จ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
์ฐ: โ Shard๋ ๋จ์ผ ๋ง์คํฐ์ด๊ธฐ ๋๋ฌธ์ ๋ค์๋ ์ค์ง ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ทธ๊ฐ ์ด๋ฏธ ๋ฑ๋กํ๋ค๋ฉด ๊ทธ๋ค์ ์ค์ง ์์ ๊ฒ์ด์ง๋ง ๋์ค์ ์ฌ ๊ฒ์ ๋๋ค. ์ด๋๊ฐ์ ๋ญ๊ฐ๊ฐ ๊ฑธ๋ ค์ ๊ธ์ ์ฐ์ง ์๊ณ ์ด๋ฌํ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ฌ ์ธ๊ณผ์ ์ผ๊ด์ฑ์ด ๊นจ์ง๋ ์ผ์ ์ผ์ด๋ ์ ์์ต๋๋ค. ๊ทธ๊ฐ ๊ธ์ ์ฐ์ง ์์ผ๋ฉด ๋ชจ๋ ๋ค์์ ์์ผ ํฉ๋๋ค(๊ทธ๋ ๊ทธ๋ค์ ๊ธฐ๋ค๋ฆด ๊ฒ์ ๋๋ค).
์์ : โ ๋๊ธฐ์ด์ ๊ดํด ๋ช ๊ฐ์ง ์ง๋ฌธ์ด ์์ต๋๋ค. ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ์ํํด์ผ ํ ํน์ ์์
๋๊ธฐ์ด์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ํจํค์ง ์ค ํ๋๊ฐ ์ฌ๋ผ์ง๋ฉด ์ด๋ป๊ฒ ๋๋์? ์ฌ๊ธฐ์ 10์ผ, 11์ผ์ด ์ต๋๋ค... 12์ผ์ ์ฌ๋ผ์ก๊ณ , ๋ค๋ฅธ ์ฌ๋๋ค์ ๊ทธ๊ฒ์ด ์คํ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๊ฐ์๊ธฐ ์ฐจ๊ฐ ๊ณ ์ฅ ๋์ ์๋ฌด๊ฒ๋ ํ ์ ์์ต๋๋ค. ์คํ๋๊ธฐ ์ ์ ๋์ ๋๋ ๋๊ธฐ์ด์ ์ต๋ ๊ธธ์ด๊ฐ ์์ต๋๊น? ํ๋์ ์ํ๊ฐ ์์ค๋๋ฉด ์ด๋ค ์น๋ช
์ ์ธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๊น? ๊ฒ๋ค๊ฐ ์ด์ ์ํ๊ฐ ์๋ค๊ณ ์ ๋๋ค๋ฉด ์ด๋ป๊ฒ๋ ๊ทธ๊ฒ๋ถํฐ ์์ํด์ผ ํ ๊น์? ํ์ง๋ง ๊ทธ๋ค์ ๊ทธ๋ฅผ ๋ฐ์ด๋ด์ง ์์์ต๋๋ค!
์ฐ: โ ๋ํ ์ข์ ์ง๋ฌธ์
๋๋ค! ์ฐ๋ฆฌ๋ ๋ฌด์์ํ๊ณ ์์ต๋๊น? MongoDB์๋ ์ฟผ๋ผ ์ฐ๊ธฐ, ์ฟผ๋ผ ์ฝ๊ธฐ ๊ฐ๋
์ด ์์ต๋๋ค. ์ด๋ค ๊ฒฝ์ฐ์ ๋ฉ์์ง๊ฐ ์์ค๋ ์ ์๋์? ์ฐ๊ธฐ๊ฐ ์ฟผ๋ผ์ด ์๋๊ฑฐ๋ ์ฝ๊ธฐ๊ฐ ์ฟผ๋ผ์ด ์๋ ๊ฒฝ์ฐ(์ด๋ค ์ข
๋ฅ์ ์ฐ๋ ๊ธฐ๋ ๋จ์ ์ ์์)
์ธ๊ณผ์ ์ผ๊ด์ฑ๊ณผ ๊ด๋ จํ์ฌ ๋๊ท๋ชจ ์คํ ํ
์คํธ๋ฅผ ์ํํ ๊ฒฐ๊ณผ ์ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ๊ฐ ์ฟผ๋ผ์ด ์๋ ๊ฒฝ์ฐ ์ธ๊ณผ์ ์ผ๊ด์ฑ ์๋ฐ์ด ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ๋น์ ์ด ๋งํ๋ ๊ฒ๊ณผ ๋๊ฐ์ต๋๋ค!
์ฐ๋ฆฌ์ ์กฐ์ธ: ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ์ฌ์ฉํ ๋ ์ต์ํ ์ฟผ๋ผ ์ฝ๊ธฐ๋ฅผ ์ฌ์ฉํ์ญ์์ค. ์ด ๊ฒฝ์ฐ ์ฟผ๋ผ ๋ ์ฝ๋๊ฐ ์์ค๋๋๋ผ๋ ์๋ฌด๊ฒ๋ ์์ค๋์ง ์์ต๋๋ค. ์ด๋ ์ง๊ต ์ํฉ์ ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ ์์ค์ ์ํ์ง ์์ผ๋ฉด ์ฟผ๋ผ ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ์ง์์ฑ์ ๋ณด์ฅํ์ง ์์ต๋๋ค. ๋ณต์ ๋ฐ ๋ณต์ ์ ๊ด๋ จ๋ ๊ธฐ๊ณ๋ฅผ ํตํด ๋ด๊ตฌ์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค.
์์ : โ ์ฐ๋ฆฌ๋ฅผ ์ํด ์ค๋ฉ์ ์ํํ๋ ์ธ์คํด์ค(๊ฐ๊ฐ ๋ง์คํฐ๊ฐ ์๋๋ผ ์ฌ๋ ์ด๋ธ)๋ฅผ ์์ฑํ ๋ ์์ฒด ๋จธ์ ์ Unix ์๊ฐ์ด๋ "๋ง์คํฐ"์ ์๊ฐ์ ์์กดํฉ๋๋ค. ์ฒ์์ผ๋ก ๋๊ธฐํํฉ๋๊น, ์๋๋ฉด ์ฃผ๊ธฐ์ ์ผ๋ก ๋๊ธฐํํฉ๋๊น?
์ฐ: โ ์ด์ ๋ช ํํํ๊ฒ ์ต๋๋ค. ์ค๋(์ฆ, ์ํ ํํฐ์ ) โ ๊ฑฐ๊ธฐ์๋ ํญ์ ๊ธฐ๋ณธ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋์๋ "๋ง์คํฐ"๊ฐ ์์ ์ ์๊ณ ๋ณต์ ๋ณธ์ด ์์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค๋๋ ์ผ๋ถ ๋๋ฉ์ธ(์ค๋์ ๊ธฐ๋ณธ ๋๋ฉ์ธ์ด ์์)์ ์ง์ํด์ผ ํ๋ฏ๋ก ํญ์ ๋ น์์ ์ง์ํฉ๋๋ค.
์์ : โ ๊ทธ๋ผ ๋ชจ๋ ๊ฒ์ด ์์ ํ โ๋ง์คํฐโ์๊ฒ ๋ฌ๋ ค ์๋ค๋ ๊ฒ๋๊น? ๋ง์คํฐ ์๊ฐ์ ํญ์ ์ฌ์ฉ๋ฉ๋๊น?
์ฐ: - ์. ๋น์ ์ ์ผ๋ก ๋งํ ์ ์์ต๋๋ค. "๋ง์คํฐ", "Oplog"์ ๋ํ ํญ๋ชฉ์ด ๋ฐ์ํ ๋ ์๊ณ๊ฐ ๋๋ฑ๊ฑฐ๋ฆฌ๊ณ ์์ต๋๋ค.
์์ : โ ์ฐ๊ฒฐ๋์ด ์๊ณ ์๊ฐ์ ๋ํด ์๋ฌด๊ฒ๋ ์ ํ์๊ฐ ์๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ต๋๊น?
์ฐ: โ ์ ํ ์ ํ์๊ฐ ์์ต๋๋ค! ํด๋ผ์ด์ธํธ์์ ์๋ํ๋ ๋ฐฉ์์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์ธ๊ณผ ์ผ๊ด์ฑ์ ์ฌ์ฉํ๋ ค๋ฉด ์ธ์ ์ ์ด์ด์ผ ํฉ๋๋ค. ์ด์ ๋ชจ๋ ๊ฒ์ด ์์ต๋๋ค. ์ธ์ ์ ํธ๋์ญ์ ๊ณผ ๊ถํ ๊ฒ์... ์ธ์ ์ ํด๋ผ์ด์ธํธ์์ ๋ฐ์ํ๋ ๋ ผ๋ฆฌ์ ์ด๋ฒคํธ์ ์์์ ๋๋ค.
์ด ์ธ์ ์ ์ด๊ณ ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ์ํ๋ค๊ณ ๋งํ๋ฉด(์ธ์ ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๊ณผ์ ์ผ๊ด์ฑ์ ์ง์ํ๋ ๊ฒฝ์ฐ) ๋ชจ๋ ๊ฒ์ด ์๋์ผ๋ก ์๋ํฉ๋๋ค. ์ด์ ์๋ ์ด ์๊ฐ์ ๊ธฐ์ตํ๊ณ ์ ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด ์ด ์๊ฐ์ ๋๋ฆฝ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ ์๋ฒ์์ ์ด์ ์๋ต์ด ๋ฐํ๋ ์๋ต์ ๊ธฐ์ตํฉ๋๋ค. ๋ค์ ์์ฒญ์๋ afterCluster("์ด ๊ฐ๋ณด๋ค ํฐ ์๊ฐ")์ด ํฌํจ๋ฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ ์๋ฌด๊ฒ๋ ์ ํ์๊ฐ ์์ต๋๋ค! ๊ทธ์๊ฒ๋ ์ด๊ฒ์ด ์์ ํ ๋ถํฌ๋ช ํฉ๋๋ค. ์ฌ๋๋ค์ด ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค๋ฉด ๋ฌด์์ ํ ์ ์์ต๋๊น? ์ฒซ์งธ, ๋ณด์กฐ๋ฅผ ์์ ํ๊ฒ ์ฝ์ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ฐ๊ณ ์ง๋ฆฌ์ ์ผ๋ก ๋ณต์ ๋ ๋ณด์กฐ์์ ์ฝ์ ์ ์์ผ๋ฉฐ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๋์์ ๊ธฐ๋ณธ์์ ๋ นํ๋ ์ธ์ ์ ๋ณด์กฐ๋ก ์ ์กํ ์๋ ์์ต๋๋ค. ์ฆ, ํ๋์ ์ธ์ ์ด ์๋ ์ฌ๋ฌ ์ธ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์ : โ ์ปดํจํ ๊ณผํ์ ์๋ก์ด ๊ณ์ธต์ธ CRDT(์ถฉ๋ ์๋ ๋ณต์ ๋ฐ์ดํฐ ์ ํ) ๋ฐ์ดํฐ ์ ํ์ ์ต์ข ์ผ๊ด์ฑ ์ฃผ์ ์ ๋ฐ์ ํ ๊ด๋ จ์ด ์์ต๋๋ค. ์ด๋ฌํ ์ ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํตํฉํ๋ ๊ฒ์ ๊ณ ๋ คํด ๋ณด์ จ๋์? ์ด์ ๋ํด ์ด๋ป๊ฒ ๋ง์ํ์๊ฒ ์ต๋๊น?
์ฐ: - ์ข์ ์ง๋ฌธ! CRDT๋ ์ฐ๊ธฐ ์ถฉ๋์ ์ ํฉํฉ๋๋ค. MongoDB์์๋ ๋จ์ผ ๋ง์คํฐ์ ๋๋ค.
์์ : - ๋ฐ๋ธ์ต์ค์์ ์ง๋ฌธ์ด ์์ต๋๋ค. ํ์ค ์ธ๊ณ์์๋ ๋น์ํด ์คํจ๊ฐ ๋ฐ์ํ๊ณ ๋ณดํธ ๊ฒฝ๊ณ ๋ด๋ถ์ ์ฌ์ ํ ์ฌ๋๋ค์ด ํ๋กํ ์ฝ์ ์ฐ๋ฅด๊ธฐ ์์ํ๊ณ ํน๋ณํ ๋ฐฉ๋ฒ์ผ๋ก ๊ณต์ํ ํจํค์ง๋ฅผ ๋ณด๋ด๋ ์์ํ ์ํฉ์ด ์์ต๋๊น?
์ฐ: โ ๊ฒฝ๊ณ ๋ด๋ถ์ ์
ํ ์ฌ๋๋ค์ ํธ๋ก์ด ๋ชฉ๋ง์ ๊ฐ์ต๋๋ค! ๊ฒฝ๊ณ ๋ด๋ถ์ ์ฌ์
ํ ์ฌ๋๋ค์ ๋ง์ ๋์ ์ผ์ ํ ์ ์์ต๋๋ค.
์์ : โ ๋๋ต์ ์ผ๋ก ๋งํ๋ฉด ์๋ฒ์ ๊ตฌ๋ฉ์ ๋ซ์ด ์ฝ๋ผ๋ฆฌ ๋๋ฌผ์์ ๋ง๋ค์ด ํด๋ฌ์คํฐ ์ ์ฒด๋ฅผ ์์ํ ๋ถ๊ดด์ํฌ ์ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํฉ๋๋ค. ์๋ ๋ณต๊ตฌ์๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ ๋๋คโฆ ์ด๊ฒ์ ๊ฐ๋จํ ๋งํด์์ ๋๋ค. ์๋ชป๋. ๋ฐ๋ฉด์ ์ด๊ฒ์ ํฅ๋ฏธ ๋กญ์ต๋๋ค. ์ค์ ์ํ์์ ์ค์ ๋ก ์ ์ฌํ ๋ด๋ถ ๊ณต๊ฒฉ์ด ๋ฐ์ํ๋ ์ํฉ์ด ์์ต๋๊น?
์ฐ: โ ์ค์ํ์์ ๋ณด์ ์นจํด๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ ์ฌ๋ถ๋ฅผ ๋งํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ๋ฐ ์ฒ ํ์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํฉ๋๋ค. ๋ณด์์ ์ํํ๋ ์ฌ๋๋ค์๊ฒ ๊ฒฝ๊ณ์ ์ด ์์ต๋๋ค. ์ด๊ฒ์ ์ฑ์ด์ ๋ฒฝ์ ๋๋ค. ๊ฒฝ๊ณ์ ์์์๋ ์ํ๋ ๋๋ก ๋ฌด์์ด๋ ํ ์ ์์ต๋๋ค. ๋ณด๊ธฐ๋ง ๊ฐ๋ฅํ ์ฌ์ฉ์๋ ์๊ณ , ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ธ ์ ์๋ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ ์๋ ๊ฒ์ ๋ถ๋ช ํฉ๋๋ค.
๊ถ๋ฆฌ์ ๋ฐ๋ผ ์ด์ฉ์๊ฐ ์ ํ ์ ์๋ ํผํด๋ ์ฅ๊ฐ ๋ ์๋ ์๊ณ , ์ฝ๋ผ๋ฆฌ๊ฐ ๋ ์๋ ์์ต๋๋ค. ๋ชจ๋ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ ๋ฌด์์ด๋ ํ ์ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํฉ๋๋ค. ์ ํ๋ ๊ถ๋ฆฌ๋ฅผ ๊ฐ์ง ์ฌ์ฉ์๋ ํผํด๋ฅผ ํจ์ฌ ์ค์ผ ์ ์์ต๋๋ค. ํนํ ์์คํ ์ ๊นจ๋จ๋ฆด ์๋ ์์ต๋๋ค.
์์ : โ ๋ณดํธ๋ ๊ฒฝ๊ณ์์ ๋๊ตฐ๊ฐ ์๋ฒ๋ฅผ ์์ ํ ํ๊ดดํ๊ธฐ ์ํด ์๋ฒ์ ๋ํ ์์์น ๋ชปํ ํ๋กํ ์ฝ์ ์์ฑํ๋ ค๊ณ ์๋ํ์ผ๋ฉฐ ์ด์ด ์ข์ผ๋ฉด ์ ์ฒด ํด๋ฌ์คํฐ๊ฐ... ๊ทธ๋ ๊ฒ "์ข์" ๊ฒ์ ์ป์ ์ ์์ต๋๊น?
์ฐ: โ๊ทธ๋ฐ ์๊ธฐ๋ ๋ค์ด๋ณธ ์ ์ด ์์ด์.โ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์๋ฒ๊ฐ ์ถฉ๋ํ ์ ์๋ค๋ ์ฌ์ค์ ๋น๋ฐ์ด ์๋๋๋ค. ๋ด๋ถ์์ ์คํจํ๊ณ , ํ๋กํ ์ฝ์์ ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ๋์ด ๋ฉ์์ง์ ์ด์ ๊ฐ์ ๋ด์ฉ์ ์ธ ์ ์๋ ๊ฒฝ์ฐ... ์ค์ ๋ก๋ ๊ณ์ ํ์ธ๋๋ฏ๋ก ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฅผ ์ํ์ง ์๋ ์ฌ์ฉ์์ ๋ํด์๋ ์ด ์ธ์ฆ์ ๋นํ์ฑํํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด๊ฒ์ด ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค. ๋๋ต์ ์ผ๋ก ๋งํ๋ฉด ๊ทธ๋ค์ ๋ฒฝ ์์ฒด๋ฅผ ํ๊ดดํ๊ณ ๊ฑฐ๊ธฐ์ ์ฝ๋ผ๋ฆฌ๋ฅผ ๋ฐ์ด ๋ฃ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ง๋ฐํ ๊ฒ์ ๋๋ค... ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ฆฌ๊ณต์ผ๋ก ์ท์ ์ ๊ณ ์์ ๋์ด๋ผ ์ ์์ต๋๋ค!
์์ : โ ์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ธ๋ฅด๊ฒ์ด (Yandex). ๋ชฝ์๋ Replica Set์ ํฌํ ๋ฉค๋ฒ ์๋ฅผ ์ ํํ๋ ์์๊ฐ ์๋๋ฐ, ์ด ์์๋ 7(XNUMX)์ด๋ค. ์ด๊ฒ์ด ์ ์์์ ๋๊น? ์ด๊ฒ์ด ์ผ์ข ์ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
์ฐ: โ 40๊ฐ์ ๋ ธ๋๊ฐ ์๋ ๋ณต์ ์ธํธ๊ฐ ์์ต๋๋ค. ํญ์ ๋ค์๊ฐ ์์ต๋๋ค. ์ด๋ค ๋ฒ์ ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง...
์์ : โ Replica Set์์๋ ํฌํ๊ถ์ด ์๋ ํ์์ ์ด์ํ ์ ์์ง๋ง ํฌํ ํ์์ ์ต๋ 7๋ช ์ ๋๋ค. Replica Set์ด 3๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ์ ๋ถ์ฐ๋์ด ์๋ ๊ฒฝ์ฐ ์ด ๊ฒฝ์ฐ ์ข ๋ฃ ์ ์ด๋ป๊ฒ ์ด์๋จ์ ์ ์์ต๋๊น? ํ๋์ ๋ฐ์ดํฐ ์ผํฐ๋ ์ฝ๊ฒ ๊บผ์ง ์ ์๊ณ ๋ค๋ฅธ ์์คํ ์ ๋จ์ด์ง ์ ์์ต๋๋ค.
์ฐ: โ ์ด๋ ์ด๋ฏธ ๋ณด๊ณ ์์ ๋ฒ์๋ฅผ ์กฐ๊ธ ๋ฒ์ด๋ ๋ด์ฉ์ ๋๋ค. ์ด๊ฒ์ ์ผ๋ฐ์ ์ธ ์ง๋ฌธ์ ๋๋ค. ๋์ค์ ๊ทธ๊ฒ์ ๋ํด ๋ง์๋๋ฆด ์๋ ์๊ฒ ๋ค์.
์ผ๋ถ ๊ด๊ณ ๐
์ฐ๋ฆฌ์ ํจ๊ป์์ด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ฐ๋ฆฌ ๊ธฐ์ฌ๊ฐ ๋ง์์ ๋์ญ๋๊น? ๋ ์ฌ๋ฏธ์๋ ์ฝํ
์ธ ๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด? ์ฃผ๋ฌธํ๊ฑฐ๋ ์น๊ตฌ์๊ฒ ์ถ์ฒํ์ฌ ์ฐ๋ฆฌ๋ฅผ ์ง์ํ์ญ์์ค.
Dell R730xd๋ ์์คํ
๋ฅด๋ด์ Equinix Tier IV ๋ฐ์ดํฐ ์ผํฐ์์ 2๋ฐฐ ๋ ์ ๋ ดํฉ๋๊น? ์ฌ๊ธฐ์ ๋ง
์ถ์ฒ : habr.com