4์ฅ. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํคํ ์ฒ ๊ตฌ์ฑ
๊ฒฌ๊ณ ํ๊ณ ๊ณ ์์ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํคํ ์ฒ
- ํด๋ฌ์คํฐ๋ง
- ๋ฆฌํ๋ฆฌ์ผ์ด์
- ์ค๋ฉ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํคํ ์ฒ
๐ก ์ํคํ ์ฒ๋
์์คํ ์ ๋ง๋ค๊ธฐ ์ํ ๋ฌผ๋ฆฌ ๋ ๋ฒจ์ ์กฐํฉ
โก๏ธ ํ๋์จ์ด์ ๋ฏธ๋ค์จ์ด์ ๊ตฌ์ฑ = ์ด๋ค ๊ธฐ๋ฅ์ ๊ฐ์ง ์๋ฒ๋ฅผ ์ค๋นํ๊ณ ์ด๋ ํ ์ ์ฅ์๋ ๋คํธ์ํฌ ๊ธฐ๊ธฐ์ ์กฐํฉํ ๊ฒ์ธ์ง?
1. ์ญ์ฌ์ ๊ฐ์
์ํคํ ์ฒ์ ์ญ์ฌ
'์ํคํ ์ฒ'๋ผ๋ ๋ง์ ์ถ์์ ์ด์ด์ ๋ฑ ๋ค์์ ๋ ์ด๋ฏธ์ง๋ฅผ ๋ ์ฌ๋ฆฌ๊ธฐ๊ฐ ์ฝ์ง ์๋ค.
๊ทธ๋์ ๊ตฌ์ฒด์ ์ธ ์์คํ ๊ตฌ์ฑ์ ์๋ก ๋ค์ด๋ณด๋ ค๊ณ ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ดํ ์ํคํ ์ฒ์ ์ญ์ฌ๋ ๋ค์ 3๋จ๊ณ๋ก ๋๋์ด์ง๋ค.
1) Stand-alone (~1980๋ ๋)
2) ํด๋ผ์ด์ธํธ/์๋ฒ (1990๋ ๋~2000๋ )
3) Web 3๊ณ์ธต (2000๋ ~ํ์ฌ)
1) Stand-alone
- ํน์ง
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋์ํ๋ ๋จธ์ ์ด LAN์ด๋ ์ธํฐ๋ท ๋ฑ์ ๋คํธ์ํฌ์ ์ ์ํ์ง ์๊ณ ๋ ๋ฆฝ๋์ด ๋์ํ๋ ๊ตฌ์ฑ
- DBMS์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํํธ์จ์ด๋ ๊ฐ์ DB ์๋ฒ์์ ๋์ → ์ฌ์ฉ์๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก DB ์๋ฒ๊ฐ ์ค์น๋ ์ฅ์๊น์ง ์ ๊ทผํด์ผ ํจ
- ์ฅ์
- ๊ตฌ์ถ์ด ๊ฐ๋จํด์ ์๊ท๋ชจ ์์ ์ด๋ ํ ์คํธ์ ์ ํฉ
- ๋ณด์์ด ๋งค์ฐ ๋์ (์๋ฌด๋ ๋ง๋์ง ์์ผ๋ฉด ์ ์ผ๋ณ ๊ฐ์ผ์ ์ํ์ด ๋ฎ์ ๊ฒ๊ณผ ๊ฐ์)
- ๋จ์
- ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋จ์ด์ง ์ฅ์์์ ์ ๊ทผํ ์ ์๋ค
- ๋ณต์ ์ฌ์ฉ์๊ฐ ๋์์ ์์ ํ ์ ์๋ค
- ๊ฐ์ฉ์ฑ์ด ๋ฎ๋ค
- ํ์ฅ์ฑ์ด ๋ถ์กฑํ๋ค (์๋ฒ๊ฐ ์ฑ๋ฅ์ ํ๊ณ์ ๋ฌํ๋ ๊ฒฝ์ฐ ๋จธ์ ์์ฒด ์ฑ๋ฅ์ ์ฌ๋ฆฌ๋ ๊ฒ์ธ์ ๊ฐ์ ์๋จ์ด ์๋ค)
2) ํด๋ผ์ด์ธํธ/์๋ฒ
- ํน์ง
- DB ์๋ฒ 1๋์ ๋ณต์ ์ฌ์ฉ์๊ฐ ์ ์ํ๋ ๊ตฌ์ฑ
- C/S, ํด๋ผ ์๋ฒ ๋๋ 2๊ณ์ธต ๊ตฌ์ฑ์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํจ
- ํ์ฅ
- ๊ธฐ์ ์ด๋ ์กฐ์ง ๋ด ๋ซํ ๋คํธ์ํฌ์์ ์ด์ฉ๋์ด ์ธ๋ถ๋ฅผ ๊ฑฐ์ณ์ ์ ์ํ๋ ์ผ์ ์์์
- ์กฐ์ง ๋ด์์ ์ ํ๋ ์ฉ๋์ ์์คํ ์ผ๋ก ์ด์ฉ๋จ
- ์ธํฐ๋ท ์๋์๋ ๊ฒฐ์ ์ ์ผ๋ก ๋ถ์ ํฉํ ๋ช ๊ฐ์ง ๋จ์ ์ ๊ฐ์ง๊ณ ์์
- ๋จ์
- ๋ณด์ ์ํ : ์ธํฐ๋ท์์ ์ง์ DB์ ์ ์ํ๊ธฐ ๋๋ฌธ์
- ๊ด๋ฆฌ๋น์ฉ ๋ฌธ์ : ํด๋ผ์ด์ธํธ๋ง๋ค์ ํ๊ฒฝ์ ๊ณ ๋ คํด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ธฐ ์ด๋ ค์ → Web 3๊ณ์ธต ์ ์๋จ
3) Web 3๊ณ์ธต
- ์น ์๋ฒ + ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ + ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ
- ์น ์๋ฒ
- ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ์ ๋ฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ก ๋๊ธฐ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ฐํ
- Apache, IIS
- ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ
- ๋น์ฆ๋์ค ๋ก์ง์ ๊ตฌํํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์
- ์น ์๋ฒ์ ์ฐ๊ณ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ํ์ํ๋ฉด DB ์๋ฒ์ ์ ์ํด์ ๋ฐ์ดํฐ ์ถ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์น ์๋ฒ๋ก ๋ฐํ
- Tomcat, WebLogic, WebSphere
- ํน์ง
- ์ฌ์ฉ์๋ก๋ถํฐ ์ง์ ์ ์ธ ์ ์ ์์ฒญ → only ์น ์๋ฒ : ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณ์ธต์ ๋ณด์์ด ๋์์ง
- ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ๋น์ฆ๋์ค ๋ก์ง ์ง์ค → ์ ํ๋ฆฌ์ผ์ด์ ๊ด๋ฆฌ ๋น์ฉ์ด ๋ฎ์์ง
- ํ์ฌ ์น ์์คํ ์์์ ํ์ค
2. ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ ํ๋ณด
๐ง ์ด๋ป๊ฒ ํ๋ฉด ์ ์งํ์ง ์๋ ์์คํ ์ ๋ง๋ค ์ ์์๊น?
์ํคํ ์ฒ ์ค๊ณ์์ ๊ฒฌ๊ณ ํ ์์คํ ์ ๋ง๋ค๊ธฐ ์ํด ๊ฐ์ฅ ์ค์ํ ์ ์ ๊ฐ์ฉ์ฑ ์ด๋ค.
๊ฐ์ฉ์ฑ์ ๋์ด๋ 2๊ฐ์ง ์ ๋ต
- ์ฌ์ฅ์ ๋ต : ์์คํ ์ ๊ตฌ์ฑํ๋ ๊ฐ ์ปดํฌ๋ํธ์ ์ ๋ขฐ์ฑ์ ๋์ฌ ์ฅ์ ๋ฐ์๋ฅ ์ ์ต์ ํด์ ๊ฐ์ฉ์ฑ์ ๋์ (๊ณ ํ์ง-์์์ ๋ต)
- ์ ์ฅ์ ๋ต : '์ฌ๋ฌผ์ ์ธ์ ๊ฐ ๋ง๊ฐ์ง๋ค'๋ ์ ์ ๋ก ์ฌ๋ถ์ ์ค๋นํด ๋ , ๋ฌผ๋์์ (์ ํ์ง-๋ค์์ ๋ต)
- ๊ด๊ณ
- ํ์ฌ๋ ์ ์ฅ์ ๋ต ๋ ธ์ ์์ฃผ, FT ์๋ฒ ๋ฑ์์๋ ์ฌ์ฅ์ ๋ต ์ด์ฉ ์ค
- ์ฌ์ฅ์ ๋ต๊ณผ ์ ์ฅ์ ๋ต์ ์ค์ฒฉ๋๋ฉฐ, ์ฌ์ฅ์ ๋ต๋ ์ฌ์ค์ ์ ์ฅ์ ๋ต์ ์ํด ์คํ๋๋ ์ค
๐ก ํด๋ฌ์คํฐ๋
- ๋์ผํ ๊ธฐ๋ฅ์ ์ปดํฌ๋ํธ๋ฅผ ๋ณต์ ๊ฐ ์ค๋นํด ํ ๊ฐ์ ๊ธฐ๋ฅ์ ์คํ
- ์ ์ฅ์ ๋ต์ฒ๋ผ ๋์ผํ ๊ธฐ๋ฅ์ ์ปดํฌ๋ํธ ๋ณ๋ ฌํํ๋ ๊ฒ → ํด๋ฌ์คํฐ๋ง
- ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ผ๋ก ์์คํ ์ ๊ฐ๋๋ฅ ์ ๋์ด๋ ๊ฒ → ์ฌ์ ๋(Redundancy)๋ฅผ ํ๋ณดํ๋ค, ๋ค์คํ
์๋ฅผ ๋ค์ด, ์ด๋ค ์๋ฒ์ ๊ณ ์ฅ๋ฅ ์ด 10%๋ผ๊ณ ํ์.
์์คํ ์ ์ฒด ์ฅ์ ๋ฐ์๋ฅ ์ ์ ์๋ฒ๊ฐ ๋์์ ๊ณ ์ฅ๋ฌ์ ๋ ํํ๊ธฐ ๋๋ฌธ์
์๋ฒ๊ฐ ์ฆ๊ฐํ ์๋ก ์ฅ์ ๋ฐ์๋ฅ ์ ์๋์ ๊ฐ์ด ์ค์ด๋ ๋ค.
- ์๋ฒ 1๋ = 10% (0.1)
- ์๋ฒ 2๋ = 1% (0.1 * 0.1)
- ์๋ฒ 3๋ = 0.1% (0.1 * 0.1 * 0.1)
๐ก ๊ฐ๋๋ฅ = 100% - ์ฅ์ ๋ฐ์๋ฅ
๐ก ๋จ์ผ ์ฅ์ ์ ์ด๋
SPOF(Single Point of Failure), ๋ค์คํ๋์ด ์์ง ์์์ ์์คํ ์ ์ฒด ์๋น์ค์ ๊ณ์์ฑ์ ์ํฅ์ ์ฃผ๋ ์ปดํฌ๋ํธ
์ ์ฌ์ฌ์ ๊ฐ๋๋ ๊ฐ์ฅ ์ฝํ ๊ณ ๋ฆฌ์ ๊ฐ๋๋ก ๊ฒฐ์ ๋๋ค = ๋จ์ผ ์ฅ์ ์ ์ ์ ๋ขฐ์ฑ์ด ์์คํ ์ ์ ์ฒด์ ๊ฐ์ฉ์ฑ์ ๊ฒฐ์ ํ๋ค
์ ๋ขฐ์ฑ๊ณผ ๊ฐ์ฉ์ฑ
์ ๋ขฐ์ฑ : ํ๋์จ์ด๋ ์ํํธ์จ์ด ๊ณ ์ฅ ๋น๋๋ฅผ ๋ํ๋ด๋ ๊ฐ๋ → ์์คํ ์ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ์ ๋ํด
๊ฐ์ฉ์ฑ : ์ฌ์ฉ์ ์ ์ฅ์์ ๋ณผ ๋ ์์คํ ์ ์ด๋์ ๋ ์ฌ์ฉํ ์ ์๋์ง → ์์คํ ์ ์ฒด์์ ์ฌ์ฉ์ ๋๋์ด์ ๋ง์ถฐ ์๊ฐ
→ ์ ๋ขฐ์ฑ์ด ๋ฎ์ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ค ํ๋๋ผ๋, ๋ค์คํํ๋ค๋ฉด ์์คํ ์ ์ฒด์ ๊ฐ์ฉ์ฑ์ ๋์ผ ์ ์๋ค.
DB ์๋ฒ์ ๋ค์คํ - ํด๋ฌ์คํฐ๋ง
๐ก ๋ค์คํ๋
๊ณ ๊ฐ์ฉ์ฑ(HA)์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋๋ฐ,
์๋ฅผ ๋ค๋ฉด DB ์๋ฒ 2๋์์ 1๋๊ฐ ๊ณ ์ฅ์ด ๋๋ ๋๋จธ์ง 1๋๊ฐ ๋์ํ๋๋ก ํด์ ์๋น์ค์ ์ ์ง๋ฅผ ๋ง๋ ๊ฒ๊ณผ ๊ฐ๋ค.
DB ์๋ฒ์ ๋ค์คํ
DB ์๋ฒ๋ ์ค๋ซ๋์ ํด๋ฌ์คํฐ๋ง์ด ์ด๋ ค์ด ์ปดํฌ๋ํธ๋ก ์ธ์๋จ
๋ฐ์ดํฐ๋ฅผ ๋ณด์กดํ๋ ์์(Persistence) ๊ณ์ธต์ด๊ธฐ ๋๋ฌธ์
DB์ ๋ค๋ฅธ ์๋ฒ์ ์ฐจ์ด
- ์น ์๋ฒ, ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ : ์ผ์์ ์ธ ์ฒ๋ฆฌ
- DB์๋ฒ : ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌ์ ์ผ๋ก ๋ณด์กดํด์ผ ํ๊ณ ๊ทธ์ ๋ฐ๋ฅธ ์ฑ๋ฅ๋ ์๊ตฌ๋์ด ํ์ ์๊ฑด์ด ๋์
DB์๋ฒ(๊ณ์ฐ์ด๋ ์ ๋ฌด ๋ก์ง ์ฒ๋ฆฌ)์ ์ํคํ ์ฒ๋ ์ ์ฅ์(๋ฐ์ดํฐ ๋ณด์กด)์ ๋ฌถ์ด์ ์๊ฐ
๋ฐ์ดํฐ๋ ํญ์ ๊ฐฑ์ ๋๊ธฐ ๋๋ฌธ์ ๋ค์คํ๋ฅผ ์ ์งํ๋ ์ค์ ๋ฐ์ดํฐ ์ ํฉ์ฑ๋ ์ค์ํ๊ฒ ์์ํด์ผ ํจ
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ค์คํ
๊ฐ์ฅ ๊ฐ๋จํ ๋ค์คํ ๊ตฌ์ฑ = DB ์๋ฒ ์ฌ๋ฌ๊ฐ + ์ ์ฅ์ 1๊ฐ
1) Active-Active
ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ๋ฅผ ๋์์ ๊ฐ๋
- ์ฅ์
- ์์คํ ๋ค์ด ์๊ฐ์ด ์งง์ : DB ์๋ฒ ์ฌ๋ฌ ๋๊ฐ ๋์์ ๋์ํ๊ณ ์์ด์ 1๋๊ฐ ๋ค์ด๋๋๋ผ๋ ๋จ์ ์๋ฒ๊ฐ ์ฒ๋ฆฌ๋ฅผ ๊ณ์ํด ์์คํ ์ ์ฒด๊ฐ ์ ์งํ๋ ๊ฒ์ ๋ฐฉ์ง
- ์ฑ๋ฅ์ด ์ข์ : DB ์๋ฒ ๋์๊ฐ ์ฆ๊ฐํ๋ฉด ๋์์ ๊ฐ๋ํ๋ CPU๋ ๋ฉ๋ชจ๋ฆฌ๋ ์ฆ๊ฐํด์ ์ฑ๋ฅ๋ ํฅ์๋จ (์ ์ฅ์๊ฐ ๋ฒํ๋ฅ์ด ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ๋งํผ ํฅ์๋์ง ์๊ธฐ๋..)
- Oracle RAC(Real Application Clusters), DB2 pureScale
- ๋จ์ : ๋น์ธ๋ค
๐ก Heartbeat์ด๋
Standby DB ์๋ฒ์์ ์ผ์ ๊ฐ๊ฒฉ์ผ๋ก Active DB์ ์ด์์ด ์ ๋์ง ์กฐ์ฌํ๊ธฐ ์ํ ํต์
2) Active-Standby
ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ ์ค ์ค์ ๊ฐ๋ํ๋ ๊ฒ์ Active, ๋จ์ ๊ฒ์ ๋๊ธฐ(Standby)
- Cold-Standby : ํ์์๋ Standby DB๊ฐ ์๋ํ์ง ์๋ค๊ฐ Active DB๊ฐ ๋ค์ด๋ ์์ ์ ์๋
- Hot-Standby : ํ์์๋ Standby DB๊ฐ ์๋ํ๋ ๊ตฌ์ฑ
- ์ ํ ์๊ฐ์ด ์งง์ ๋งํผ ๋ผ์ด์ ์ค๋ฃ๊ฐ ๋์ (Active-Active๋ณด๋ค๋ ์ ๋ ด)
๊ฐ์ฉ์ฑ๊ณผ ์ฑ๋ฅ์ด ์ข์ ์์
- Active-Actvie
- Active-Standby (Hot-Standby)
- Active-Standby (Cold-Standby)
DB ์๋ฒ์ ๋ฐ์ดํฐ์ ๋ค์คํ - ๋ฆฌํ๋ฆฌ์ผ์ด์
๐ก ๋ฆฌํ๋ฆฌ์ผ์ด์ ์ด๋
DB ์๋ฒ์ ์ ์ฅ์ ์ธํธ๋ฅผ ๋ณต์๋ก ์ค๋นํ๋ ๊ฒ
- Active-Active, Active-Standby ํด๋ฌ์คํฐ๋ ์๋ฒ๋ ๋ค์คํํ ์ ์์ง๋ง, ์ ์ฅ์๋ ๋ค์คํํ์ง ์๋ ๋จ์ ์ ๋ณด์
- ์ ์ฅ์๋ ๋ด๋ถ ์ปดํฌ๋ํธ๊ฐ ๋ค์คํ๋์ด ์์ง๋ง(RAID), ๋ฆฌํ๋ฆฌ์ผ์ด์
์ ์ฌ๋ ์ํฉ์ ๋์ํ๊ธฐ ์ํ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์
- DB์๋ฒ์ ์ ์ฅ์๊ฐ ๋์์ ์ฌ์ฉ ๋ถ๋ฅ์ผ ๋, ์๋น์ค๋ฅผ ์ง์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ ์ ์์ ๊ฐ์ฉ์ฑ์ด ๋์ ์ํคํ ์ฒ
- Oracle Data Guard, DB2 HADR, MySQL(๋ถํ ๋ถ์ฐ์ฉ์ ๊ฐ๊น์)
๐ก RAID๋
Redundant Array of Independent Disks, ์ ์ฅ์ ๋ด๋ถ์ ์ปดํฌ๋ํธ๋ฅผ ๋ค์คํํ๋ ๊ธฐ์
๊ธฐ๋ณธ์ ์ผ๋ก ํด๋ฌ์คํฐ๋ง๊ณผ ๋์ผํ๊ฒ ๋จ์ผ ์ฅ์ ์ ์ ์ ๊ฑฐํ์ฌ, ๋์คํฌ๋ฅผ ๋ณ๋ ฌ๋ก ๋์ดํด ํ๊ฐ๊ฐ ๋ง๊ฐ์ ธ๋ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ์ง ์๋๋ก ํจ
๋ฆฌํ๋ฆฌ์ผ์ด์ ์์ ์ฃผ์ํ ์
- Active์ Standby ์ ์ฅ์์ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ์ ์งํ ๊ฒ
- Active ์ธก ์ ์ฅ์์ ๋ฐ์ดํฐ - ํญ์ ์ฌ์ฉ์๋ก๋ถํฐ ๊ฐฑ์ ๋จ → Standby ์ธก ๋ฐ์ดํฐ๋ฅผ ๋ ์ต์ ํํ์ง ์์ผ๋ฉด ์ ํฉ์ฑ์ด ๊นจ์ง
- ์ต์ ํ๋ฅผ ์ํ ๋๊ธฐํ๋ฅผ ์ผ์ ์ฃผ๊ธฐ๋ก ํ ๋, ๊ฐฑ์ ์ฃผ๊ธฐ๋ฅผ ์ผ๋ง๋ก ํ ๊ฒ์ธ๊ฐ์ ์ฑ๋ฅ ์ฌ์ด์ ํธ๋ ์ด๋ ์คํ ๋ฐ์
- ๊ตฌ์ฑ์ ํผ๋ผ๋ฏธ๋ํ์ผ๋ก (= ์์๋ ์ฆ์์ ์ธํธ๋ฅผ ๋ง๋๋ ๊ฒ)
- ๋ฐ์ดํฐ๊ฐ ์ค๋ ๋์ด๋ ์ฐธ์กฐ๋ง ํ๋ฉด ๋๋ค๋ ์ฒ๋ฆฌ๋ฅผ ์์๋ ์ฆ์์ ์ธํธ์์ ํ์ฌ ๋ถ๋ชจ์ ๊ฑธ๋ฆฌ๋ ๋ถํ๋ฅผ ๋ถ์ฐํจ
์ฑ๋ฅ์ ์ถ๊ตฌํ๊ธฐ ์ํ ๋ค์คํ - Shared Nothing
๐ก Share Disk๋
- Active-Active ๊ตฌ์ฑ DB = ์ฌ๋ฌ๋์ DB์๋ฒ๊ฐ 1๋์ ๋์คํฌ ์ ์ฅ์๋ฅผ ๊ณต์ → ์ ์ฅ์ ๋ถ๋ถ์์ ๋ณ๋ชฉ์ด ๋ฐ์ํ๋ค.
- DB์๋ฒ๋ฅผ ๋๋ ค๋ ์ฒ๋ฆฌ์จ์ด ์ธ์ ๊ฐ ํ๊ณ์ ์ ๋๋ฌํ๋ค.
- ์ ์ฅ์๋ ๊ณต์ ์์์ด๋ผ์ ์ฝ๊ฒ ๋๋ฆฌ๊ธฐ ์ด๋ ต๊ณ , DB์๋ฒ ๋์๊ฐ ์ฆ๊ฐํ ์๋ก DB ์๋ฒ ๊ฐ์ ์ ๋ณด๊ณต์ ๋ฅผ ์ํ ๋๊ธฐํ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ
๐ก Share Nothing์ด๋
'์๋ฌด๊ฒ๋ ๊ณต์ ํ์ง ์๋๋ค'๋ผ๋ ์๋ฏธ๋ก ๋คํธ์ํฌ ์ด์ธ์ ์์์ ๋ชจ๋ ๋ถ๋ฆฌํ๋ ๋ฐฉ์
- ์ฅ์ : ์๋ฒ์ ์ ์ฅ์ ์ธํธ๋ฅผ ๋๋ฆฌ๋ฉด ๋ณ๋ ฌ์ฒ๋ฆฌ ๋๋ฌธ์ ์ฑ๋ฅ์ด ์ ํ์ ์ผ๋ก ํฅ์
- ๋จ์ : ๊ฐ๊ฐ์ DB ์๋ฒ๊ฐ ๋์ผํ 1๊ฐ์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์์ → ์ปค๋ฒ๋ง ๊ตฌ์ฑ์ ๊ณ ๋ คํด์ผ ํจ
- Google์ด ๊ฐ๋ฐํ Shared Nothing ๊ตฌ์กฐ = ์ค๋ฉ(Sharding)
์ ๋ฆฌ
๊ฐ์ฉ์ฑ, ์ ๋ขฐ์ฑ, ์ฌํด๋์ฑ , ์ฑ๋ฅ, ๋ณด์ ๊ฐ์ ๋น๊ธฐ๋ฅ์ ์ธ ์๊ฑด์ ๋ํด์๋ ๊ณ ๋ ค
์ํคํ ์ฒ๋ ๋ณ๊ฒฝ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ ์คํ ๊ฒฐ์
๊ณ ๊ธฐ๋ฅ์ ์ํคํ ์ฒ๋ฅผ ์ฑ์ฉํ๋ค๋ฉด ์์ฐ, ์๊ฐ๊ณผ ์ธ์ ์์ ๊ฐ์ ์ ์ฝ ์๊ฑด๋ ์๊ฐ