ํธ๋์ญ์
ํธ๋์ญ์ ์ด๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ฐ๊พธ๊ธฐ ์ํด ์ํํ๋ ์์ ์ ๋จ์๋ฅผ ๋งํ๋ค. ๋ง์ฝ ์์ ์ด ์ค๋จ๋์ ๊ฒฝ์ฐ ์ฒ์๋ถํฐ ๋ค์ ์คํํ๋ Rollback์ ์ํํ๊ณ , ์ค๋ฅ์์ด ์คํ์ ๋ง์น๋ฉด Commit์ ์ํํ๋ ๋ ผ๋ฆฌ์ ์ธ ๋จ์์ด๋ค. ๋ํ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ ๋ช ๋ น๋ฌธ๋ค์ ๋ชจ์ ๋์ ๋ ผ๋ฆฌ์ ์ธ ์์ ๋จ์๋ผ๊ณ ๋ณผ ์ ์๋ค.
์
์๋ฅผ ๋ค์ด ํธ๋์ญ์ ์ ์ํ ์ ์ถ๊ธ์ผ๋ก ์๋ฅผ ๋ง์ด ๋ ๋ค.
1. ํธ๋์ญ์ ์ '๊ฑฐ๋'๋ผ๋ ๋ป์ผ๋ก, ์ํ์์ ์ ๊ธ๊ณผ ์ถ๊ธ์ ํ๋ ๊ทธ ๊ฑฐ๋๋ฅผ ๋ปํ๋ค.
2. A ์ํ์์ ์ถ๊ธํ์ฌ B์ํ์ผ๋ก ์ก๊ธํ๋ค๊ณ ๊ฐ์ ํ์.
3. ์ก๊ธํ๋ ์ค์ ์ ์ ์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ A์ํ ๊ณ์ข์์ ๋์ด ๋น ์ ธ ๋๊ฐ๋๋ฐ B์ํ ๊ณ์ข์ ์ ๊ธ๋์ง ์์๋ค.
4. ์ด๋, ์ฐ๋ฆฌ๋ A์ํ ๊ณ์ข์ ์ถ๊ธ์ ์ทจ์ํ๊ฑฐ๋, ์ถ๊ธ๋ ๊ธ์ก๋งํผ B์ํ ๊ณ์ข๋ก ๋ค์ ์ก๊ธํ๋ฉด ๋๋ค.
5. ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ๋ฒ๊ฑฐ๋กญ๊ณ ๋ ์ฌํ ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ์ ์๋ค.
6. ๊ทธ๋์ ์๊ฐํด๋ธ ํด๊ฒฐ์ฑ ์ด, ๊ฑฐ๋๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ชจ๋ ๋๋ ํ์์ผ ์ด๋ฅผ ์์ ํ ๊ฑฐ๋๋ก ์น์ธํ๊ณ , ๊ฑฐ๋ ๋์ค ๋ญ๊ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋๋ ์ด ๊ฑฐ๋๋ฅผ ์์ ์ฒ์๋ถํฐ ์์๋ ๊ฑฐ๋๋ก ๋๋๋ฆฌ๋ ๊ฒ์ด๋ค.
7. ์ด๋ ๊ฒ ๊ฑฐ๋์ ์์ ์ฑ์ ํ๋ณดํ๋ ๋ฐฉ๋ฒ์ด ํธ๋์ญ์ ์ด๋ค.
8. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ์จ ํ ๋ค๋ฅธ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๊ฑฐ๋ ๊ฐฑ์ , ์ญ์ ํ๋๋ฐ ์ฒ๋ฆฌ ๋์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ชจ๋ ์์ ์ ์์ํ๋ก ๋๋๋ฆฐ๋ค.
9. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฒ๋ฆฌ ๊ณผ์ ์ด ๋ชจ๋ ์ฑ๊ณตํ์ ๋๋ง ์ต์ข ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ํ๋ค.
Rollback & Commit
Rollback : ํ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ๊ฐ ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ผ๊ด์ฑ์ ๊นจ๋จ๋ ธ์ ๋ ํธ๋์ญ์ ์ ์ผ๋ถ๊ฐ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์๋๋ผ๋ ํธ๋์ญ์ ์ ์์์ฑ์ ๊ตฌํํ๊ธฐ ์ํด ์ด ํธ๋์ญ์ ์ด ํํ ๋ชจ๋ ์ฐ์ฐ์ ์ทจ์ํ๋ ์ฐ์ฐ์ด๋ค. Rollback์์๋ ํด๋น ํธ๋์ญ์ ์ ์ฌ์์ํ๊ฑฐ๋ ํ๊ธฐํ๋ค.
Commit : ํ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ๊ฐ์ฑ๊ณต์ ์ผ๋ก ๋๋ฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ค์ ์ผ๊ด๋ ์ํ์ ์์ ๋ ์ด ํธ๋์ญ์ ์ด ํํ ์ฐ์ฐ์ด ์๋ฃ๋ ๊ฒ์ ํธ๋์ญ์ ๊ด๋ฆฌ์์๊ฒ ์๋ ค์ฃผ๋ ์ฐ์ฐ์ด๋ค.
ํธ๋์ญ์ ์ ํน์ฑ(ACID)
ํธ๋์ญ์ ์๋ ์ด 4๊ฐ์ง์ ํน์ฑ์ด ์กด์ฌํ๋ค. 4๊ฐ์ง ํน์ฑ์ ์ ๊ธ์๋ง ๋ฐ์ ACID ํน์ฑ์ด๋ผ๊ณ ํ๋ค.
์์์ฑ(Atomicity) : ํธ๋์ญ์ ์ ์์ ์ด ๋ถ๋ถ์ ์ผ๋ก ์คํ๋๊ฑฐ๋ ์ค๋จ๋์ง ์๋ ๊ฒ์ ๋ณด์ฅํ๋ ๊ฒ์ ๋งํ๋ค. ์ฆ, All or Noting์ ๊ฐ๋ ์ผ๋ก์ ์์ ๋จ์๋ฅผ ์ผ๋ถ๋ถ๋ง ์คํํ์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ผ๊ด์ฑ(Consistency) : ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด ์ผ๊ด์ ์ธ DB์ํ๋ฅผ ์ ์งํ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ๋งํ๋ ์ผ๊ด์ฑ์ด๋, ์์ ์ก๊ธ ์์ ์์ ๊ธ์ก์ ๋ฐ์ดํฐ ํ์ ์ด ์ ์ํ(integer)์ธ๋ฐ, ๊ฐ์๊ธฐ ๋ฌธ์์ด(string)์ด ๋์ง ์๋ ๊ฒ์ ๋งํ๋ค. ์ฆ, ์ก๊ธ ์ ํ ๋ชจ๋ ๊ธ์ก์ ๋ฐ์ดํฐ ํ์ ์ ์ ์ํ์ด์ฌ์ผ ํ๋ค๋ ๊ฒ์ด ์ผ๊ด์ฑ์ด๋ค.
๊ฒฉ๋ฆฌ์ฑ(Isolation) : ํธ๋์ญ์ ์ํ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ ์์ ์ด ๋ผ์ด๋ค์ง ๋ชปํ๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋งํ๋ค. ์ฆ, ํธ๋์ญ์ ๋ผ๋ฆฌ๋ ์๋ก๋ฅผ ๊ฐ์ญํ ์ ์๋ค.
์ง์์ฑ(Durability) : ์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ํธ๋์ญ์ ์ ์์ํ ๋ฐ์์ด ๋๋ ๊ฒ์ ๋งํ๋ค. commit์ ํ๋ฉด ํ์ฌ ์ํ๋ ์์ํ ๋ณด์ฅ๋๋ค.
'๐ฆ ๋ฐ์ดํฐ ๋ฒ ์ด์ค (DB) ๐ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Elasticsearch์ ๊ด๊ณํ DB ๋น๊ต (0) | 2021.07.12 |
---|
๋๊ธ