6.1 ์ฝ์ด ์ ์: BASE ๋. ์ฐ
"ํํ์์ pH๋ ์์ฉ์ก์ ์๋์ ์ฐ๋๋ฅผ ์ธก์ ํฉ๋๋ค. pH ์ฒ๋๋ 0(๊ฐ์ฐ์ฑ ๋ฌผ์ง)์์ 14(๊ฐ์์นผ๋ฆฌ์ฑ ๋ฌผ์ง)๊น์ง์ ๋๋ค. 25ยฐC์ ์์ํ ๋ฌผ์ pH๊ฐ 7์ด๋ฉฐ ์ค์ฑ์ ๋๋ค. ๋ฐ์ดํฐ ์์ง๋์ด๋ ํธ๋์ญ์ ์ ์ ๋ขฐ์ฑ๊ณผ ๊ด๋ จํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋น๊ตํ๊ธฐ ์ํด ์ด ์์ ๋ฅผ ์ฌ์ฉํ์ต๋๋ค." ์๋ง๋ ์์ด๋์ด๋ ์ด๊ฒ์ด์์ ๊ฒ์ ๋๋ค. pH๊ฐ ๋์์๋ก, ์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ "์์นด๋ผ์ธ"("BASE")์ ๊ฐ๊น์ธ์๋ก ํธ๋์ญ์ ์ ์์ ์ฑ์ด ๋จ์ด์ง๋๋ค. |
MySQL๊ณผ ๊ฐ์ ๋์ค์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ACID๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฑ์ฅํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง๋ 10๋ ๋์ ์ด ์ด๋ฆ์ผ๋ก ๋งค์ฐ ๋ค๋ฅธ ์ฌ๋ฌ ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฒฐํฉํ ์์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ACID ์์ด๋ ๊ฝค ์ ์๋ํ์ต๋๋ค. ์ค์ ๋ก NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์์ ํ๊ณ ํธ๋์ญ์ ๋ฐ ์์ ์ฑ์ ๋ํด ์ ํ ์ ๊ฒฝ ์ฐ์ง ์๋ ๋ง์ ๊ฐ๋ฐ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ค์ด ์ณ์์ง ๋ณด์.
NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ข์ ์ถ์ํ์ผ ๋ฟ์ด๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก ๋งํ ์ ์์ต๋๋ค. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง ํ์ ์์คํ ์ ๋์์ธ๊ณผ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ์๋ก ๋ค๋ฆ ๋๋ค. NoSQL์ ๋ฌธ์ ์งํฅ CouchDB์ด์ ๊ทธ๋ํ Neo4J์ ๋๋ค. ๊ทธ๋ฌ๋ ํธ๋์ญ์ ์ ๋งฅ๋ฝ์์ ์ด์ผ๊ธฐํ๋ฉด ๋ชจ๋ ํ ๊ฐ์ง ์ ์์ ์ ์ฌํ ๊ฒฝํฅ์ด ์์ต๋๋ค. ์ ํ๋ ๋ฒ์ ์ ์์์ฑ ๋ฐ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ฏ๋ก ACID ๋ณด์ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ด๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋ฅผ ์ดํดํ๋ ค๋ฉด ๋ค์ ์ง๋ฌธ์ ๋ตํด ๋ด ์๋ค. ACID๊ฐ ์๋๋ผ๋ฉด ๋ฌด์์ ์ ๊ณตํฉ๋๊น? ์๋ฌด๊ฒ๋ ์๋?
์ค๋ง. ๊ฒฐ๊ตญ, ๊ทธ๊ฒ๋ค์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฆ๋ค์ด ํจํค์ง๋ก ํ๋งค๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ๊ทธ๋ค ์์ ์ "ํํ"์ฝ์ด ์ธ BASE๋ฅผ ์๊ฐํด ๋์ต๋๋ค.
6.2 ๊ธธํญ์ ๋ก์์ BASE
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ๋ค์ ๋ฌธ์ ์์๋๋ก ๊ฐ์ง ์๊ณ ๊ธฐ๋ณธ ์ฉ์ด์ธ ์ผ๊ด์ฑ๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค. ์ด ์ผ๊ด์ฑ์ ACID์ ์ผ๊ด์ฑ๊ณผ ๊ฑฐ์ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ ๊ทํ์ ์ธ์ ํจ๊ณผ๋ฅผ ํ์คํํด์ผ ํฉ๋๋ค. ์ผ๊ด์ฑ์ด๋ผ๋ ์ฉ์ด์ ๋ฌธ์ ์ ์ ๋๋ฌด ๋ง์ ๋งฅ๋ฝ์์ ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ผ๊ด์ฑ์ ์ฌ์ฉ์ ํจ์ฌ ๋ ๋์ ๋งฅ๋ฝ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ค์ ๋ก ์ด๊ฒ์ ๋ถ์ฐ ์์คํ ์ ๋ ผ์ํ ๋ ๋ ผ์๋๋ ์ผ๊ด์ฑ์ ๋๋ค.
์์์ ์ธ๊ธํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋ก ๋ค๋ฅธ ์์ค์ ํธ๋์ญ์ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ฉฐ ๊ฐ์ฅ ์๊ฒฉํ ๊ฒฉ๋ฆฌ๋ ํ ํธ๋์ญ์ ์ด ๋ค๋ฅธ ํธ๋์ญ์ ์ ์๋ชป๋ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ณผ ์ ์๋๋ก ํฉ๋๋ค. ์์ ์ ๊ณ์ฐ๋์ ์ ์๊ณ ๊ทธ ์๊ฐ ์๋๋ฃ๊ฐ ๊ทํ์ ๊ณ์ข์์ ์ธ์ถ๋์์ง๋ง ์๋๋ฃ ์ด์ฒด ๊ฑฐ๋๊ฐ ์คํจํ๊ณ ๊ทํ์ ๊ณ์ข๊ฐ ์ด์ ๊ฐ์น๋ก ๋์๊ฐ๋๋ค (๋์ ์ธ์ถ๋์ง ์์) ๊ฒฐ์ ์ ๊ฒฐ์ ๊ฑฐ๋๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์ด๋ฌํ ์ ์ค์ฒ๋ฅผ ์ธ์ํ์ง ๋ชปํฉ๋๋ค. ๊ฒฐ๊ตญ ํด๋น ๊ฑฐ๋๋ ์งํ๋์ง ์์์ผ๋ฉฐ ๊ฑฐ๋ ๊ฒฉ๋ฆฌ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ผ์์ ์ธ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค๋ฅธ ๊ฑฐ๋์์ ์ ์ ์์ต๋๋ค.
๋ง์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ฒฉ๋ฆฌ ๋ณด์ฅ์ ํฌ๊ธฐํ๊ณ "์ต์ข ์ผ๊ด์ฑ"์ ์ ๊ณตํ๋ฏ๋ก ๊ฒฐ๊ตญ ์ ํจํ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์์ง๋ง ํธ๋์ญ์ ์ด ์ ํจํ์ง ์์ ๊ฐ(์ฆ, ์ผ์์ ์ด๊ฑฐ๋ ๋ถ๋ถ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๊ฑฐ๋ ์ค๋๋ ๊ฐ)์ ์ฝ์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ "์ง์ฐ" ๋ชจ๋์์ ๋ฐ์ดํฐ๊ฐ ์ผ๊ด๋๊ฒ ๋ ์ ์์ต๋๋ค("์ฝ๊ธฐ ์๊ฐ์ ์ง์ฐ").
NoSQL์ ์ค์๊ฐ ๋ถ์์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ธ์๋์์ผ๋ฉฐ ๋ ๋น ๋ฅธ ์๋๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์ผ๊ด์ฑ์ ํฌ์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ BASE๋ผ๋ ์ฉ์ด๋ฅผ ๋ง๋ ์ฌ๋์ธ Eric Brewer๋ ์์ "CAP ์ ๋ฆฌ"๋ฅผ ๊ณต์ํํ์ต๋๋ค.
๋ถ์ฐ ์ปดํจํ ๊ตฌํ์ ๊ฒฝ์ฐ ๋ค์ ์ธ ๊ฐ์ง ์์ฑ ์ค ๋ ๊ฐ๋ง ์ ๊ณตํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ ( ์ผ๊ด์ฑ ) - ์๋ก ๋ค๋ฅธ ๋ ธ๋(์ธ์คํด์ค)์ ๋ฐ์ดํฐ๊ฐ ์๋ก ๋ชจ์๋์ง ์์ต๋๋ค.
- ๊ฐ์ฉ์ฑ ( ๊ฐ์ฉ์ฑ ) - ๋ถ์ฐ ์์คํ ์ ๋ํ ๋ชจ๋ ์์ฒญ์ ์ฌ๋ฐ๋ฅธ ์๋ต์ผ๋ก ๋๋์ง๋ง ๋ชจ๋ ์์คํ ๋ ธ๋์ ์๋ต์ด ๋์ผํ๋ค๋ ๋ณด์ฅ์ ์์ต๋๋ค.
- ํํฐ์ ๊ณต์ฐจ (partition tolerance ) - ๋ ธ๋ ๊ฐ์ ์ฐ๊ฒฐ์ด ์์ด๋ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๊ณ์ ์๋ํฉ๋๋ค.
CAP์ ๋ํ ์์ฃผ ๊ฐ๋จํ ์ค๋ช ์ ์ํ์๋ฉด ์ฌ๊ธฐ๋ก ๊ฐ์ญ์์ค.
CAP ์ ๋ฆฌ๊ฐ ์๋ํ์ง ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋๋ฌด ์ถ์์ ์ผ๋ก ๊ณต์ํ๋๋ค๋ ์๊ฒฌ์ด ์์ต๋๋ค. ์ด๋ค ์์ผ๋ก๋ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์๊ณผ ๊ฐ์ ์ํฉ์ ์ค๋ช ํ๋ CAP ์ ๋ฆฌ์ ๋งฅ๋ฝ์์ ์ผ๊ด์ฑ์ ๊ฑฐ๋ถํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ์๋ ํด๋ฌ์คํฐ์์ ์ ๋ฐ์ดํธ๋์์ง๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์์ง ๋ชจ๋ ์ธ์คํด์ค์์ ๋๊ธฐํ๋์ง ์์์ต๋๋ค. ์์ DynamoDB ์๋ฅผ ์ธ๊ธํ ๊ฒ์ ๊ธฐ์ตํ์ญ์์ค. ๋ณ๊ฒฝ ์ฌํญ์ด ์ง์ ๊ฐ๋ฅํด์ก์ต๋๋ค. ์ฌ๊ธฐ HTTP 200์ด ์์ต๋๋ค. ํ์ง๋ง ๋ณ๊ฒฝ ์ฌํญ์ 10์ด ํ์๋ง ํ์ธ๋์์ต๋๋ค. ๊ฐ๋ฐ์์ ์ผ์ ์ํ์์ ๋ ๋ค๋ฅธ ์๋ ๋๋ฉ์ธ ์ด๋ฆ ์์คํ ์ธ DNS์ ๋๋ค. ๋ชจ๋ฅด๋ ์ฌ๋์ด ์๋ค๋ฉด ์ด๊ฒ์ http ์ฃผ์๋ฅผ IP ์ฃผ์๋ก ๋ณํํ๋ "์ฌ์ "์ ๋๋ค.
์ ๋ฐ์ดํธ๋ DNS ๋ ์ฝ๋๋ ์บ์ฑ ๊ฐ๊ฒฉ ์ค์ ์ ๋ฐ๋ผ ์๋ฒ์ ์ ํ๋๋ฏ๋ก ์ ๋ฐ์ดํธ๊ฐ ์ฆ์ ๋์ ๋์ง ์์ต๋๋ค. ์, ๋น์ทํ ์๊ฐ์ ๋ถ์ผ์น(์ฆ, ๊ฒฐ๊ตญ ์ผ๊ด์ฑ)๊ฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ(์: MySQL)์์ ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ฒฐ๊ตญ ์ด ์ผ๊ด์ฑ์ ACID์ ์ผ๊ด์ฑ๊ณผ ์๋ฌด ๊ด๋ จ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ์๋ฏธ์์ SQL ๋ฐ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํด๋ฌ์คํฐ์ ์ฌ๋ฌ ์ธ์คํด์ค์ ๊ด๋ จํ์ฌ ํฌ๊ฒ ๋ค๋ฅผ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ ์ ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋ํ end-to-end ์ผ๊ด์ฑ์ ์ฐ๊ธฐ ์์ฒญ์ด ์์์ ๋ง์ง ์์์ ์๋ฏธํ ์ ์์ต๋๋ค. ์ฆ, ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋์ง๋ง ๊ฒฐ๊ตญ ์์ ๋ ๊ฐ์ ์ฐ๊ธฐ ๋๊ธฐ์ด์ ๋ง์ง๋ง ๊ฐ์ด ์๋๋๋ค. .
Non-ACID NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋ํฌ์๋ ์ผ๊ด์ฑ ๋ชจ๋ธ๋ก ์ธํด ์ด๋ฅธ๋ฐ "์ํํธ ์ํ"๋ฅผ ๊ฐ์ต๋๋ค. ์ฆ, ์ ๋ ฅ ์์ด๋ ์์คํ ์ํ๊ฐ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ฌํ ์์คํ ์ ๋ ํฐ ์ ๊ทผ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ ธ๋ ฅํฉ๋๋ค. 100% ๊ฐ์ฉ์ฑ์ ์ ๊ณตํ๋ ๊ฒ์ ์ฌ์ํ ์์ ์ด ์๋๋ฏ๋ก "๊ธฐ๋ณธ ๊ฐ์ฉ์ฑ"์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ธ ๊ฐ์ง ๊ฐ๋ ์ธ "๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ", "์ํํธ ์ํ"("์ํํธ ์ํ") ๋ฐ "์ต์ข ์ผ๊ด์ฑ"์ด ์ฝ์ด BASE๋ฅผ ํ์ฑํฉ๋๋ค.
์์งํ ๋งํด์ BASE์ ๊ฐ๋ ์ ACID๋ณด๋ค ๋ ๋น ๋ง์ผํ ๋ํผ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ก์ด ๊ฒ์ ์ ๊ณตํ์ง ์๊ณ ์ด๋ค ์ ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํน์ฑํํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ์ด๋ธ(ACID, BASE, CAP)์ ๋ถ์ฐฉํ๋ฉด ๊ฐ๋ฐ์๋ฅผ ํผ๋์ค๋ฝ๊ฒ ํ ์ ์์ต๋๋ค. ์ด์ฐจํผ ์ด ์ฉ์ด๋ฅผ ์๊ฐํ๊ธฐ๋ก ํ ์ด์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณต๋ถํ ๋ ์ฐํํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ด์ ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ์์์ผ๋ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์์ผ์ จ์ผ๋ฉด ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณ ๋ฆฝ์ ๊ฐ๋ ์ผ๋ก ๋์๊ฐ ๋ด ์๋ค.
6.3 ๊ทธ๋ ๋ค๋ฉด BASE ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ACID ๊ธฐ์ค์ ์ ํ ์ถฉ์กฑํ์ง ์์ต๋๊น?
๊ธฐ๋ณธ์ ์ผ๋ก ACID ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋น ACID์ ๋ค๋ฅธ ์ ์ ๋น ACID๊ฐ ์ค์ ๋ก ๊ฒฉ๋ฆฌ๋ฅผ ํฌ๊ธฐํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌธ์๋ฅผ ์ฝ๊ณ Hermitage ํ๋ก์ ํธ์ ์ฌ๋๋ค์ด ํ๋ ๋ฐฉ์์ผ๋ก ํ ์คํธํ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ค์ํฉ๋๋ค. ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ฑ์๊ฐ ACID ๋๋ BASE, CAP ๋๋ CAP๊ฐ ์๋ ์์ด๋์ด๋ฅผ ์ ํํ ์ด๋ป๊ฒ ๋ถ๋ฅด๋์ง๋ ๊ทธ๋ค์ง ์ค์ํ์ง ์์ต๋๋ค. ์ค์ํ ๊ฒ์ ์ ํํ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ์๊ฐ ACID ๋ณด์ฆ์ ์ ๊ณตํ๋ค๊ณ ์ฃผ์ฅํ๋ ๊ฒฝ์ฐ ์ด์ ๋ํ ์ด์ ๊ฐ ์์ ์ ์์ง๋ง ์ด๊ฒ์ด ์ฌ์ค์ธ์ง, ์ด๋ ์ ๋์ธ์ง ์ดํดํ๊ธฐ ์ํด ์ง์ ํ ์คํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ทธ๋ฌํ ๋ณด์ฆ์ ์ ๊ณตํ์ง ์๋๋ค๊ณ ์ ์ธํ๋ ๊ฒฝ์ฐ ์ด๋ ๋ค์์ ์๋ฏธํ ์ ์์ต๋๋ค.
-
DB๋ ์์์ฑ์ ๋ณด์ฅํ์ง ์์ต๋๋ค. ์ผ๋ถ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์์ ์์ ์ ์ํ ๋ณ๋์ API๋ฅผ ์ ๊ณตํ์ง๋ง(์: DynamoDB);
- DB๋ ๊ฒฉ๋ฆฌ ๋ณด์ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ๋ ์์๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ฐ์ง ์์์ ์๋ฏธํ ์ ์์ต๋๋ค.
๋ด๊ตฌ์ฑ ๋ณด์ฅ๊ณผ ๊ด๋ จํ์ฌ ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฑ๋ฅ์ ์ํด ์ด ์ ์ ์ ์ถฉํฉ๋๋ค. ๋์คํฌ์ ์ฐ๋ ๊ฒ์ ๋๋ฌด ๊ธด ์์ ์ด๋ฉฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ก ์ ๋ํด ๋ง์ด ๋ค๋ฃจ๊ณ ์ถ์ง๋ ์์ง๋ง, ์ด๋ค ๋ฐฉ์์ผ๋ก ๋ด์ผ ํ๋์ง ๋๋ต์ ์ผ๋ก ์ดํดํ ์ ์๋๋ก ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ด๊ตฌ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ผ๋ฐ์ ์ธ ์ฉ์ด๋ก ์ค๋ช ํ๊ฒ ์ต๋๋ค.
๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋น๊ตํ๋ ค๋ฉด ๋ฌด์๋ณด๋ค๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์ ํ์ ์์คํ ์ ๊ธฐ๋ฐ์ด ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์์์ผ ํฉ๋๋ค. ์์ปจ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง๋ค ์ธ๋ฑ์ฑ ๊ตฌํ์ด ๋ค๋ฆ ๋๋ค. ์ฆ, ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ค ์ค ์ผ๋ถ๋ ๋ฐ์ดํฐ๋ฅผ ๋ ๋นจ๋ฆฌ ์ธ ์ ์๊ณ ๋ค๋ฅธ ์ผ๋ถ๋ ๋ ๋นจ๋ฆฌ ์ฝ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ผ๋ถ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๋ด๊ตฌ์ฑ์ ๋์ด๊ฑฐ๋ ๋ฎ์ถ๋ค๊ณ ๋งํ ์๋ ์์ต๋๋ค.
6.4 ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ฑ์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ ์ด๊ฒ์ด ๋ด๊ตฌ์ฑ์ ๋ฏธ์น๋ ์ํฅ ๋ฑ
๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์์๋ ๋ ๊ฐ์ง ์ฃผ์ ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ก๊ทธ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํ์ผ ๋์ ์์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค(์ฆ, ์ถ๊ฐ ์์ ์ด ํญ์ ๋ฐ์ํจ). CRUD ์์ ์ ๋จ์ํ ๋ก๊ทธ์ ๊ธฐ๋ก๋ฉ๋๋ค. ๋ก๊ทธ ๊ฒ์์ ๋นํจ์จ์ ์ด๋ฉฐ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ์ ํํ ์์น์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํน๋ณํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ธ ์ธ๋ฑ์ค๊ฐ ๋ค์ด์ค๋ ๊ณณ์ ๋๋ค. ๋ก๊ทธ์ ๋ํ ๊ฐ์ฅ ๊ฐ๋จํ ์ธ๋ฑ์ฑ ์ ๋ต์ ํค์ ๊ฐ์ ์ถ์ ํ๋ ํด์ ๋งต์ ๋๋ค. ๊ฐ์ ๋ก๊ทธ(๋ก๊ทธ)์ด๋ฉฐ ๋์คํฌ์ ์ ์ฅ๋๋ ํ์ผ ๋ด๋ถ์ ๊ธฐ๋ก๋ ๋ฐ์ดํฐ์ ๋ํ ๋ฐ์ดํธ ์คํ์ ์ ๋ํ ์ฐธ์กฐ๊ฐ ๋ฉ๋๋ค. ์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์ ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐ๋ฉด ๋ฐ์ดํฐ ์์ฒด๋ ๋์คํฌ์ ์์ผ๋ฉฐ LSM ํธ๋ฆฌ(๋ก๊ทธ ๊ตฌ์กฐ ๋ณํฉ)๋ผ๊ณ ํฉ๋๋ค.
๋น์ ์ ์๋ง๋ ๊ถ๊ธํ์ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํญ์ ์ ๋์ ์์ ์ ๊ธฐ๋กํ๋ฉด ์์ฒญ๋๊ฒ ์ปค์ง๊น์? ์, ๋ฐ๋ผ์ ์ผ๋ถ ์ฃผ๊ธฐ์ฑ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ "์ ๋ฆฌ"ํ๋ ์์ถ ๊ธฐ์ ์ด ๋ฐ๋ช ๋์์ต๋๋ค. ์ฆ, ๊ฐ ํค์ ๋ํด ๊ฐ์ฅ ๊ด๋ จ์ฑ์ด ๋์ ๊ฐ๋ง ๋จ๊ธฐ๊ฑฐ๋ ์ญ์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์คํฌ์ ํ๋ ์ด์์ ๋ก๊ทธ๊ฐ ์๊ณ ๋ชจ๋ ์ ๋ ฌ๋ ๊ฒฝ์ฐ SSTable("์ ๋ ฌ๋ ๋ฌธ์์ด ํ ์ด๋ธ")์ด๋ผ๋ ์๋ก์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ป๊ฒ ๋๋ฉฐ ์ด๋ ์์ฌํ ์ฌ์ง์์ด ์ฑ๋ฅ์ ํฅ์์ํฌ ๊ฒ์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์์ ์ ๋ ฌํ๋ ค๋ ๊ฒฝ์ฐ ์์ MemTable์ด๋ผ๋ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ์ป๊ฒ ๋์ง๋ง ๋ฌธ์ ๋ ์น๋ช ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋ง์ง๋ง์ผ๋ก ๊ธฐ๋ก๋ ๋ฐ์ดํฐ(MemTable์ ์์ง๋ง ์์ง ๊ธฐ๋ก๋์ง ์์)์ ๋๋ค. ๋์คํฌ)๊ฐ ์์ค๋ฉ๋๋ค. ์ค์ ๋ก,
์ธ๋ฑ์ฑ์ ๋ํ ๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ B-ํธ๋ฆฌ("B-ํธ๋ฆฌ")๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. B-ํธ๋ฆฌ์์ ๋ฐ์ดํฐ๋ ๊ณ ์ ํฌ๊ธฐ ํ์ด์ง๋ก ๋์คํฌ์ ๊ธฐ๋ก๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ ๋ธ๋ก์ ํฌ๊ธฐ๊ฐ ์ฝ 4KB์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ ํค๋ณ๋ก ์ ๋ ฌ๋ ํค-๊ฐ ์์ด ์์ต๋๋ค. ํ๋์ B-ํธ๋ฆฌ ๋ ธ๋๋ ํ์ด์ง ๋ฒ์์ ๋ํ ๋งํฌ๊ฐ ์๋ ๋ฐฐ์ด๊ณผ ๊ฐ์ต๋๋ค. ์ต๋ ๋ฐฐ์ด์ ๋งํฌ ์๋ฅผ ๋ถ๊ธฐ ์์ธ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ฐ ํ์ด์ง ๋ฒ์๋ ๋ค๋ฅธ ํ์ด์ง ๋ฒ์์ ๋ํ ๋งํฌ๊ฐ ์๋ ๋ ๋ค๋ฅธ B-ํธ๋ฆฌ ๋ ธ๋์ ๋๋ค.
๊ฒฐ๊ตญ ์ํธ ์์ค์์ ๊ฐ๋ณ ํ์ด์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ์ด ์์ด๋์ด๋ ์ด๋ฌํ ํ์ด์ง ์ฐธ์กฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ ๋์คํฌ์ ์ ์ฅ๋๋ค๋ ์ ์ ์ ์ธํ๋ฉด ์ ์์ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํฌ์ธํฐ์ ์ ์ฌํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ INSERT ๋ฐ DELETE๊ฐ ๋ฐ์ํ๋ฉด ์ผ๋ถ ๋ ธ๋๊ฐ ๋ถ๊ธฐ ์์์ ์ผ์นํ๋๋ก ๋ ๊ฐ์ ํ์ ํธ๋ฆฌ๋ก ๋ถํ ๋ ์ ์์ต๋๋ค. ํ๋ก์ธ์ค ์ค๊ฐ์ ์ด๋ค ์ด์ ๋ก๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด ์์๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด B-ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ชจ๋ ๋จ์ผ ํธ๋์ญ์ ์ด ๊ธฐ๋ก๋๋ "๋ฏธ๋ฆฌ ์ฐ๊ธฐ ๋ก๊ทธ" ๋๋ WAL์ ์ ์งํฉ๋๋ค. ์ด WAL์ ์์๋ ๊ฒฝ์ฐ B-ํธ๋ฆฌ์ ์ํ๋ฅผ ๋ณต์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ๋ด๊ตฌ์ฑ ์ธก๋ฉด์์ B-ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ ์ข๊ฒ ๋ง๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ LSM ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก WAL๊ณผ ๋์ผํ ๊ธฐ๋ฅ์ ์ํํ๋ ํ์ผ์ ์ ์งํ ์๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฏธ ๋งํ ๋ด์ฉ์ ํ ๋ฒ ์ด์ ๋ฐ๋ณตํ๊ฒ ์ต๋๋ค. ์ ํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ฉ์ปค๋์ฆ์ ์ดํดํ์ญ์์ค.
๊ทธ๋ฌ๋ B-ํธ๋ฆฌ์ ๋ํด ํ์คํ ์ ์ ํธ๋์ญ์ ์ ์ ํฉํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ฐ ํค๋ ์ธ๋ฑ์ค์ ํ ์์น์์๋ง ๋ฐ์ํ๋ ๋ฐ๋ฉด ์ ๋ ์คํ ๋ฆฌ์ง ํ์ ์์คํ ์ ์๋ก ๋ค๋ฅธ ์ค๋์ ๋์ผํ ํค์ ์ฌ๋ฌ ๋ณต์ฌ๋ณธ์ ๊ฐ์ง ์ ์์ต๋๋ค(์: ๋ค์ ์์ถ์ด ์ํ๋ฉ๋๋ค).
๊ทธ๋ฌ๋ ์ธ๋ฑ์ค์ ๋์์ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. LSM ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋์คํฌ์ ๋ํ ์ฐ๊ธฐ๊ฐ ์์ฐจ์ ์ด๋ฉฐ B-ํธ๋ฆฌ๋ ๋ค์ค ์์ ๋์คํฌ ์ก์ธ์ค๋ฅผ ์ ๋ฐํ๋ฏ๋ก B-ํธ๋ฆฌ๋ณด๋ค LSM์์ ์ฐ๊ธฐ ์์ ์ด ๋ ๋น ๋ฆ ๋๋ค. ์ด ์ฐจ์ด๋ ์์ฐจ ์ฐ๊ธฐ๊ฐ ์์ ์ฐ๊ธฐ๋ณด๋ค ํจ์ฌ ๋น ๋ฅธ ์๊ธฐ ํ๋ ๋์คํฌ ๋๋ผ์ด๋ธ(HDD)์์ ํนํ ์ค์ํฉ๋๋ค. ์๋ก ๋ค๋ฅธ ์์ถ ๋จ๊ณ์ ์๋ ์ฌ๋ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ SS ํ ์ด๋ธ์ ์ดํด๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ LSM ํธ๋ฆฌ์์๋ ์ฝ๊ธฐ ์๋๊ฐ ๋๋ฆฝ๋๋ค. ์์ธํ ๋ณด๋ฉด ์ด๋ ๊ฒ ์๊ฒผ์ต๋๋ค. LSM์ผ๋ก ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด ๋จผ์ MemTable์์ ํค๋ฅผ ์ฐพ์ต๋๋ค. ๊ฑฐ๊ธฐ์ ์์ผ๋ฉด ๊ฐ์ฅ ์ต๊ทผ์ SSTable์ ์ดํด๋ด ๋๋ค. ๊ฑฐ๊ธฐ์ ์์ผ๋ฉด ๋ง์ง๋ง์์ ๋ ๋ฒ์งธ SSTable ๋ฑ์ ๋ด ๋๋ค. ์์ฒญ๋ ํค๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด LSM์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๋ง์ง๋ง์ผ๋ก ์ ์ ์์ต๋๋ค. LSM ํธ๋ฆฌ๋ ์๋ฅผ ๋ค์ด LevelDB, RocksDB, Cassandra ๋ฐ HBase์์ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ ๋ ์ฌ๋ฌ ๊ฐ์ง ์ฌํญ์ ๊ณ ๋ คํด์ผ ํ๋ค๋ ๊ฒ์ ์ดํดํ ์ ์๋๋ก ๋ชจ๋ ๊ฒ์ ์์ธํ ์ค๋ช ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๋ฅผ ๋ ๋ง์ด ์ฐ๊ฑฐ๋ ์ฝ์ ๊ฒ์ผ๋ก ์์ํฉ๋๊น? ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฐจ์ด์ ์ ๋ํด์๋ ์์ง ์ธ๊ธํ์ง ์์์ต๋๋ค(๊ทธ๋ํ ๋ชจ๋ธ์ด ํ์ฉํ๋ ๋๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ํด์ผ ํฉ๋๊น? ๋ฐ์ดํฐ์ ์๋ก ๋ค๋ฅธ ๋จ์ ๊ฐ์ ๊ด๊ณ๊ฐ ์ ํ ์์ต๋๊น? ๊ทธ๋ฌ๋ฉด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ตฌ์ถ๋ ๊ฒ์ ๋๊น?). ๋ฐ 2๊ฐ์ง ์ ํ์ ๋ฐ์ดํฐ ์คํค๋ง - ์ฐ๊ธฐ(๋ง์ NoSQL์์์ ๊ฐ์ด) ๋ฐ ์ฝ๊ธฐ(๊ด๊ณ์์์ ๊ฐ์ด).
๋ด๊ตฌ์ฑ ์ธก๋ฉด์ผ๋ก ๋์๊ฐ๋ฉด ๊ฒฐ๋ก ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ธ๋ฑ์ฑ ๋ฉ์ปค๋์ฆ์ ๊ด๊ณ์์ด ๋์คํฌ์ ์ฐ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ์ ๋ด๊ตฌ์ฑ์ ๋ํด ์ข์ ๋ณด์ฅ์ ์ ๊ณตํ ์ ์์ง๋ง ๊ฐ๊ฐ์ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. , ์ ํํ ๋ฌด์์ ์ ๊ณตํฉ๋๋ค.
6.5 ์ธ๋ฉ๋ชจ๋ฆฌ DB ์๋ ๋ฐฉ์
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๋์คํฌ์ ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์๋ ์ฃผ๋ก RAM์์ ์๋ํ๋ ์์ "๋ฉ๋ชจ๋ฆฌ ๋ด" ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์ต๋๋ค. ์ฆ, ๋ฉ๋ชจ๋ฆฌ ๋ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ๋น ๋ฅธ ์ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ์๋๋ฅผ ์ํด ๋ฎ์ ๋ด๊ตฌ์ฑ์ ์ ๊ณตํ์ง๋ง ์ผ๋ถ ์์ฉ ํ๋ก๊ทธ๋จ์๋ ์ ํฉํ ์ ์์ต๋๋ค.
์ฌ์ค RAM ๋ฉ๋ชจ๋ฆฌ๋ ์ค๋ซ๋์ ๋์คํฌ๋ณด๋ค ๋น์์ง๋ง ์ต๊ทผ์๋ ๊ธ์๋๋ก ์ ๋ ดํด์ง๊ธฐ ์์ํ์ฌ RAM์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์๋๋ฅผ ๊ณ ๋ คํ ๋ ๋ ผ๋ฆฌ์ ์ธ ์๋ก์ด ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๊ฒจ๋ฌ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ๋ณด์์ ์ด๋ป์ต๋๊น? ์ฌ๊ธฐ์ ๋ค์ ๊ตฌํ์ ์ธ๋ถ ์ฌํญ์ ์ดํด๋ด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฐฐํฐ๋ฆฌ๋ก ๊ตฌ๋๋๋ RAM์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ณ๊ฒฝ ๋ก๊ทธ๋ฅผ ๋์คํฌ์ ๊ธฐ๋กํ๋ ๊ฒ์ ๊ฐ๋ฅํ์ง๋ง(์์์ ์ธ๊ธํ WAL๊ณผ ๊ฐ์ ๊ฒ) ๋ฐ์ดํฐ ์์ฒด๋ ๊ธฐ๋กํ ์ ์์ต๋๋ค.
- ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ์ ๋ณต์ฌ๋ณธ์ ๋์คํฌ์ ์ธ ์ ์์ต๋๋ค(๋ค๋ฅธ ์ต์ ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ณด์ฆ์ ์ ๊ณตํ์ง ์์ง๋ง ๋ด๊ตฌ์ฑ๋ง ํฅ์๋จ).
- RAM์ ์ํ๋ฅผ ๋ค๋ฅธ ์์คํ ์ ๋ณต์ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฃผ๋ก ๋ฉ์์ง ํ ๋๋ ์บ์๋ก ์ฌ์ฉ๋๋ ์ธ๋ฉ๋ชจ๋ฆฌ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ACID์ ๋ด๊ตฌ์ฑ์ด ๋ถ์กฑํฉ๋๋ค. ์ง์์ฑ ํ์ฑํ) ์ผ์ ํ ๊ฐ๊ฒฉ์ผ๋ก ๋น๋๊ธฐ์์ผ๋ก๋ง ๊ฐ๋ฅํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์ํ์ง ์์ต๋๋ค. 1-2์ด๋ง๋ค ํ๋ฌ์๋๋ EtherPad ํ๋ ฅ ์จ๋ผ์ธ ํธ์ง๊ธฐ์ ์๋ฅผ ์ฐพ์์ผ๋ฉฐ ์ ์ฌ์ ์ผ๋ก ์ฌ์ฉ์๋ ๊ฑฐ์ ์ค์ํ์ง ์์ ๋ ๊ธ์ ๋๋ ๋จ์ด๋ฅผ ์์ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋์คํฌ ์ธ๋ฑ์ค๋ก ๊ตฌํํ๊ธฐ ์ด๋ ค์ด ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ๊ณตํ๋ค๋ ์ ์์ ์ข๊ธฐ ๋๋ฌธ์ Redis๋ฅผ ์ฌ์ฉํ์ฌ ํธ๋์ญ์ ์ ๊ตฌํํ ์ ์์ต๋๋ค. ์ฐ์ ์์ ํ๋ฅผ ํตํด ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค.
GO TO FULL VERSION