๋ฐ์ํ
๐ฏ ์ฃผ์
- ๋๊ท๋ชจ ์์คํ ์์์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ ์ ์ง ๋ฐฉ๋ฒ๊ณผ ๋ถ์ฐ ํธ๋์ญ์ ์ ์ดํด
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ๋ค์ํ ๊ธฐ๋ฒ ํ์ต
๐ ํต์ฌ๊ฐ๋ ์ ๋ฆฌ
- ๋ถ์ฐ ํธ๋์ญ์
์ ๊ฐ๋
- โญ ์ฌ๋ฌ ๋ ๋ฆฝ๋ ์์คํ ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋์์ ๋ฐ์ํ๋ ํธ๋์ญ์ ์ ์ผ๊ด๋๊ฒ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ
- ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ์ฌ๋ฌ ์๋น์ค๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์๋ ๋ ํ์
- ACID ์์ฑ
- ์์์ฑ(Atomicity): ํธ๋์ญ์ ์ ์ ์ฒด ์ฑ๊ณต ๋๋ ์ ์ฒด ์คํจ ๋ณด์ฅ
- ์ผ๊ด์ฑ(Consistency): ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด ์ ์ง
- ๊ฒฉ๋ฆฌ์ฑ(Isolation): ๋์ ์คํ ํธ๋์ญ์ ๊ฐ ๊ฐ์ญ ๋ฐฉ์ง
- ์ง์์ฑ(Durability): ์๋ฃ๋ ํธ๋์ญ์ ๊ฒฐ๊ณผ์ ์๊ตฌ์ ์ ์ง
- 2PC(Two-Phase Commit) ํ๋กํ ์ฝ
- ์ค๋น ๋จ๊ณ: ๊ฐ ์ฐธ์ฌ ๋ ธ๋๊ฐ ํธ๋์ญ์ ์ค๋น ์ํ ํ์ธ ๋ฐ ๋ณด๊ณ
- ์ปค๋ฐ ๋จ๊ณ: ๋ง์คํฐ ๋ ธ๋์ ์ต์ข ์ปค๋ฐ ๋๋ ๋กค๋ฐฑ ์ง์
- โญ ์ค์ํ ์์: ์ฌ๋ฌ ๋ช ์ด ํจ๊ป ๋๋ฌ๊ฐ๊ธฐ๋ก ์ฝ์ํ๋ ๊ณผ์ ๊ณผ ์ ์ฌ
- ์ฌ๊ฐ(Saga) ํจํด
- ํธ๋์ญ์ ์ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ
- ์คํจ ์ ๋ณด์ ํธ๋์ญ์ ์ ํตํ ๋กค๋ฐฑ ์ํ
- ์์: ์ฃผ๋ฌธ ์์ฑ → ๊ฒฐ์ ์ฒ๋ฆฌ → ์ฌ๊ณ ๊ฐ์์ ๋จ๊ณ๋ณ ์ฒ๋ฆฌ
- ๋ถ์ฐ ํธ๋์ญ์
์ ์ฅ์
- ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ณด์ฅ
- ์์คํ ํ์ฅ์ฑ ํฅ์
- ACID ํน์ฑ ์ ์ง๋ฅผ ํตํ ์ ๋ขฐ๋ ํฅ์
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ ์ ์ง
- ๋ณต๊ตฌ ๊ฐ๋ฅ์ฑ ํ๋ณด