long transaction, group transaction
๐ OEA
1. ๊ฐ์
ํธ๋์ญ์ ๊ธฐ๋ฐ ์ ์ฌ ์์คํ ์ ์ด์ํ๋ค ๋ณด๋ฉด ๋ ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ๋ณตํด์ ๋ถ๋ชํ๋๋ค.
ํ๋๋ย Long Transaction์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค๋ ์ ์ ํ๋ ๋ฌธ์ ์ด๊ณ ,ย ๋ค๋ฅธ ํ๋๋ย ์์ ํธ๋์ญ์ ์ด ๋๋ฌด ์์ฃผ COMMIT๋๋ฉด์ DB ๋ถํ๋ฅผ ํค์ฐ๋ ๋ฌธ์ ์ ๋๋ค.
์ฒ์์๋ ์ด ๋ ๋ฌธ์ ๋ฅผ ๋ณ๊ฐ์ ํ์์ผ๋ก ๋ดค์ต๋๋ค.ย ํ๋๋ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ์ด๊ณ ,ย ๋ค๋ฅธ ํ๋๋ DB I/O ๋ฌธ์ ์ฒ๋ผ ๋ณด์๊ธฐ ๋๋ฌธ์ ๋๋ค.ย ๊ทธ๋ฐ๋ฐ ์ด์ ๊ด์ ์์ ๋ค์ ๋ณด๋ฉด ๋ ๋ค ๊ฐ์ ์ง๋ฌธ์ผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
ํธ๋์ญ์ ์ ์ธ์ ๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๋ถ๋ค๊ณ ์์ ๊ฒ์ธ๊ฐ. ๊ทธ๋ฆฌ๊ณ DB์๋ ์ด๋ค ์์ ์ ์ด๋ค ๋จ์๋ก ๋ฐ์ํ ๊ฒ์ธ๊ฐ.
๊ธฐ์กด ๊ตฌ์กฐ๋ COMMIT์ด ๋์ฐฉํ ๋๊น์ง ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ ์์๋๋ ๋ฐฉ์์ด์์ต๋๋ค.ย ์ด ๋ฐฉ์์ ๊ตฌํ์ด ๋จ์ํ๊ณ ํธ๋์ญ์ ๊ฒฝ๊ณ๋ ์ง๊ด์ ์ ๋๋ค.ย ํ์ง๋ง ํธ๋์ญ์ ์ด ๊ธธ์ด์ง๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ปค์ง๊ณ ,ย ๋ฐ๋๋ก ์งง์ ํธ๋์ญ์ ์ด ์์ฃผ ๋ค์ด์ค๋ฉด DB์๋ ์ฆ์ COMMIT์ด ๋ฐ์ํฉ๋๋ค.
์ด๋ฒ ๊ฐ์ ์ ๋ชฉ์ ์ ๋จ์ํ ์ฑ๋ฅ ํ๋์ด ์๋์์ต๋๋ค.
ํต์ฌ์ ๋ค์ ์ธ ๊ฐ์ง์์ต๋๋ค.
- Long Transaction์ผ๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ๋ถ์์ ์ ์ค์ผ ๊ฒ
- COMMIT ๊ฐ๋ฅํ ๋จ์๋ง ๋ฌถ์ด์ DB ๋ถํ๋ฅผ ๋ฎ์ถ ๊ฒ
- ์ฑ๋ฅ์ ์ฌ๋ฆฌ๋๋ผ๋ ํธ๋์ญ์ ๋ฌด๊ฒฐ์ฑ์ ๊นจ์ง์ง ์๊ฒ ํ ๊ฒ
์ด๋ฅผ ์ํด ํธ๋์ญ์ ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ ๋จ๊ณ๋ก ๋๋ด์ต๋๋ค.
์ฒซ์งธ,ย flush์ commit์ ๋ถ๋ฆฌํ์ต๋๋ค.
๋์งธ,ย commit ๊ฐ๋ฅํ ํธ๋์ญ์ ๋ง ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๋ ๋ฐฉ์์ ๋์ ํ์ต๋๋ค.
2. ๊ธฐ์กด ๊ตฌ์กฐ์ ํ๊ณ
๊ธฐ์กด ๊ตฌ์กฐ๋ ๋จ์ํ์ต๋๋ค.
- ํธ๋์ญ์ ์์ ํ ๋ค์ด์ค๋ ๋ณ๊ฒฝ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ค.
- COMMIT์ด ๋์ฐฉํ๋ฉด ๊ทธ ์์ ์ DB์ ๋ฐ์ํ๋ค.
- ๋ฐ์์ด ๋๋๋ฉด checkpoint๋ฅผ ๊ธฐ๋กํ๋ค.
๋ฌธ์ ๋ ์ด ๊ตฌ์กฐ๊ฐ ํธ๋์ญ์ ๊ธธ์ด์ ์ง๋์น๊ฒ ๋ฏผ๊ฐํ๋ค๋ ์ ์ด์์ต๋๋ค.
ํธ๋์ญ์ ์ด ์งง๊ณ ๊ท์น์ ์ผ๋ก ๋๋๋ฉด ํฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.ย ํ์ง๋ง ์ด์ ํ๊ฒฝ์์๋ ํญ์ ๊ทธ๋ฐ ์์ผ๋ก๋ง ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค์ง ์์ต๋๋ค.ย ํน์ ๊ตฌ๊ฐ์์๋ ํ๋์ ํธ๋์ญ์ ์ด ์์๋ณด๋ค ๊ธธ์ด์ง ์ ์๊ณ ,ย ๋ฐ๋๋ก ์์ฃผ ์์ ํธ๋์ญ์ ์ด ์งง์ ๊ฐ๊ฒฉ์ผ๋ก ์ฐ๋ฌ์ ๋ค์ด์ฌ ์๋ ์์ต๋๋ค.
์ด ๊ตฌ์กฐ์์๋ ๋ ๊ฐ์ง ํ๊ณ๊ฐ ๋ถ๋ช ํ์ต๋๋ค.
์ฒซ์งธ,ย Long Transaction์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๊ณ์ ๋ฐ์ด ์ฌ๋ฆฝ๋๋ค.
COMMIT์ด ์ค๊ธฐ ์ ๊น์ง๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ค๋์ ๊ณณ์ด ์๊ธฐ ๋๋ฌธ์,ย ํธ๋์ญ์ ์ด ๊ธธ์๋ก ๋ฉ๋ชจ๋ฆฌ ์ ์ ์๊ฐ์ด ํจ๊ป ๋์ด๋ฉ๋๋ค.ย ์ผ์ ์์ค์ ๋์ด์๋ฉด GC ๋ถ๋ด์ด ์ปค์ง๊ณ ,ย ์ต์ ์ ๊ฒฝ์ฐ OOM ์ํ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
๋์งธ,ย ์งง์ ํธ๋์ญ์ ์ DB์ ๊ณผ๋ํ COMMIT ๋ถํ๋ฅผ ๋ง๋ญ๋๋ค.
ํธ๋์ญ์ ํ๋๊ฐ ๋๋ ๋๋ง๋ค ๋ฐ๋ก COMMITํ๋ฉด DB ์ ์ฅ์์๋ ์์ ์์ ์ ๋งค์ฐ ์์ฃผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.ย ๋ฐ์ดํฐ ๋ฐ์ ์์ฒด๋ณด๋ค COMMIT์ checkpoint ๊ฐฑ์ ์ด ๋ ์์ฃผ ๋ฐ์ํ๋ฉด์ ์ ์ฒด ์ฒ๋ฆฌ ํจ์จ์ด ๋จ์ด์ง ์ ์์ต๋๋ค.
๊ฒฐ๊ตญ ๊ธฐ์กด ๊ตฌ์กฐ๋ ๋จ์ํ์ง๋ง,ย ๋ค์๊ณผ ๊ฐ์ ํธ๋ ์ด๋์คํ๋ฅผ ์ ํ ํก์ํ์ง ๋ชปํ์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ vs ํธ๋์ญ์ ์ข ๋ฃ ๋๊ธฐ
- DB ๋ฐ์ ์์ vs COMMIT ๋น๋
- ์ฒ๋ฆฌ๋ ๊ฐ์ vs ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ
์ด ๋ฌธ์ ๋ ๋ก์ง ๋ช ์ค์ ์๋ณด๋ ์์ค์ด ์๋๋ผ,ย ํธ๋์ญ์ ์ ๋ค๋ฃจ๋ ๋จ์๋ฅผ ๋ค์ ์ ์ํ๋ ๋ฌธ์ ์ ๊ฐ๊น์ ์ต๋๋ค.
3. Long Transaction์ด ๋ง๋ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์
๊ฐ์ฅ ๋จผ์ ์๋ณธ ๊ฒ์ Long Transaction ์ฒ๋ฆฌ ๋ฐฉ์์ด์์ต๋๋ค.
๊ธฐ์กด์๋ COMMIT์ด ์ค๊ธฐ ์ ๊น์ง ๋ชจ๋ ๋ณ๊ฒฝ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์งํ์ต๋๋ค.ย ์ด ๋ฐฉ์์ ํธ๋์ญ์ ๋จ์๋ฅผ ๋ณด์กดํ๊ธฐ์๋ ๊น๋ํ์ง๋ง,ย ์ค์ ์ด์์์๋ย โ์ธ์ ๋๋ ์ง ๋ชจ๋ฅด๋ ํธ๋์ญ์ โ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ฒํฐ๋ ๊ตฌ์กฐ๊ฐ ๋ฉ๋๋ค.
์ด ๊ตฌ์กฐ๊ฐ ์ํํ ์ด์ ๋ ๋จ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ด๋ค๋ ๋ฐ ์์ง ์์ต๋๋ค.
๋ ํฐ ๋ฌธ์ ๋ย ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ํธ๋์ญ์ ๊ธธ์ด์ ์ง์ ์ข ์๋๋ค๋ ์ ์ ๋๋ค.ย ์์คํ ์ด ์ฒ๋ฆฌ๋์ ๋๋ฆฌ๊ธฐ ์ํด ๊ฐ๋นํด์ผ ํ๋ ๋น์ฉ์ด ์๋๋ผ,ย ํน์ ํธ๋์ญ์ ํ๋์ ๊ธธ์ด์ ์ํด ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ์ด ํ๋ค๋ฆฌ๋ ๊ตฌ์กฐ๋ ์ด์ํ๊ธฐ ์ด๋ ต์ต๋๋ค.
ํนํ CDC๋ ์ ์ฌ ํ์ดํ๋ผ์ธ์ฒ๋ผ ์ ๋ ฅ ํจํด์ ์์ ํ ํต์ ํ ์ ์๋ ์์คํ ์์๋ ๋ ๊ทธ๋ ์ต๋๋ค.ย ๋๋ถ๋ถ์ ํธ๋์ญ์ ์ด ์งง๋๋ผ๋,ย ๋ช ๊ฐ์ ๋น์ ์์ ์ผ๋ก ๊ธด ํธ๋์ญ์ ์ด ์ ์ฒด ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ ๊ณก์ ์ ๋ง๊ฐ๋จ๋ฆด ์ ์์ต๋๋ค.
์ฆ ๋ฌธ์ ๋ย โ๊ฐ๋ ๊ธด ํธ๋์ญ์ ์ด ์๋คโ๊ฐ ์๋๋ผ,ย ๊ธด ํธ๋์ญ์ ํ๋๊ฐ ์์คํ ์์ ์ฑ์ ์ํํ ์ ์๋ ๊ตฌ์กฐ ์์ฒด์์ต๋๋ค.
4. flush์ commit์ ๋ถ๋ฆฌํ ์ด์
์ด ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์ ํํ ๋ฐฉ์์ COMMIT ์ ์ ์ ์ฌ ๊ตฌ์กฐ์์ต๋๋ค.
ํต์ฌ์ ๊ฐ๋จํฉ๋๋ค.
- ํธ๋์ญ์ ๊ฑด์๋ ๋๊ธฐ ์๊ฐ์ด ์๊ณ์น๋ฅผ ๋์ผ๋ฉด
- COMMIT์ด ์ค๊ธฐ ์ ์ด๋ผ๋ DB์ ๋จผ์ flushํ๋ค.
- flush๊ฐ ๋๋๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ ๋น์ด๋ค.
- ๋ค๋ง ์ด ์์ ์๋ commitํ์ง ์๋๋ค.
- ์ต์ข COMMIT์ด ๋์ฐฉํ์ ๋๋ง ์ค์ commit๊ณผ checkpoint ๊ธฐ๋ก์ ์ํํ๋ค.
์ฆ,ย ๋ฐ์ดํฐ ์ ์ฌ ์์ ๊ณผ ํธ๋์ญ์ ํ์ ์์ ์ ๋ถ๋ฆฌํ ๊ฒ์ ๋๋ค.
์ด ๊ตฌ์กฐ์์ ์ค์ํ ๊ฒ์ flush๋ฅผ commit์ฒ๋ผ ๋ค๋ฃจ์ง ์๋๋ค๋ ์ ์ ๋๋ค.
flush๋ ์ด๋๊น์ง๋ ๋ฉ๋ชจ๋ฆฌ ์๋ ฅ์ ์ค์ด๊ธฐ ์ํ ์ค๊ฐ ์ ์ฌ์ ๋๋ค.ย ํธ๋์ญ์ ์ด ์๋ฃ๋๋ค๋ ๋ป์ด ์๋๋๋ค.ย ๊ทธ๋์ flush ์ดํ์๋ ํด๋น ํธ๋์ญ์ ์ ์ฌ์ ํย โ๋ฏธ์๋ฃ ์ํโ๋ก ๊ด๋ฆฌ๋์ด์ผ ํ๊ณ ,ย ์ต์ข COMMIT ์ ๊น์ง๋ checkpoint ์ญ์ ์ ์งํ๋ฉด ์ ๋ฉ๋๋ค.
์ด๋ ๊ฒ ๋ณด๋ฉด ์ด๋ฒ ๋ณ๊ฒฝ์ ๋จ์ ์ต์ ํ๊ฐ ์๋๋๋ค.ย ๊ตฌ์กฐ์ ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํธ๋์ญ์ ์ ์ฒด ๊ธธ์ด์์ ๋ถ๋ฆฌํ๋ค.
- DB ์ ์ฌ์ ํธ๋์ญ์ ํ์ ์ ๋ค๋ฅธ ์ด๋ฒคํธ๋ก ๊ด๋ฆฌํ๋ค.
- COMMIT ์ด์ ๋ฐ์ดํฐ์ COMMIT ์๋ฃ ๋ฐ์ดํฐ๋ฅผ ๋ช ํํ ๊ตฌ๋ถํ๋ค.
์ด ๋ถ๋ฆฌ๊ฐ ํ์ํ ์ด์ ๋ ๋ถ๋ช ํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ผ์ฐ ๋ด๋ ค๋๊ณ ์ถ๋ค๊ณ ํด์,ย ํธ๋์ญ์ ๊ฒฝ๊ณ๊น์ง ํจ๊ป ๋น๊ฒจ์ค๋ฉด ์ ๋ฉ๋๋ค.ย ๋ฐ๋๋ก ๋ฌด๊ฒฐ์ฑ์ ์งํค๊ฒ ๋ค๊ณ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๋ค๊ณ ์์ผ๋ฉด ์ด์ ์์ ์ฑ์ด ๋๋น ์ง๋๋ค.
๊ฒฐ๊ตญ ํ์ํ ๊ฒ์ ๋ ์ค ํ๋๋ฅผ ํฌ๊ธฐํ๋ ๋ฐฉ์์ด ์๋๋ผ,ย flush์ commit์ ์ฑ ์์ ๋ถ๋ฆฌํ๋ ๋ฐฉ์์ด์์ต๋๋ค.
5. ๊ฐ์ ๋ Long Transaction ์ฒ๋ฆฌ ๋ฐฉ์
๊ฐ์ ์ดํ Long Transaction์ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํธ๋์ญ์ ์์ ํ ๋ณ๊ฒฝ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๋ฉด ์ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ค.
- ์ ์ฌ ๊ฑด์๋ ๋๊ธฐ ์๊ฐ์ด ๊ธฐ์ค์น๋ฅผ ๋์ผ๋ฉด ํ์ฌ๊น์ง์ ๋ฐ์ดํฐ๋ฅผ DB์ flushํ๋ค.
- flush๊ฐ ๋๋ ๋ฐ์ดํฐ๋ ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐํ๋ค.
- ์ดํ ๋ค์ด์ค๋ ๊ฐ์ ํธ๋์ญ์ ์ ํ์ ๋ฐ์ดํฐ๋ ๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ค.
- ์ต์ข COMMIT์ด ๋์ฐฉํ๋ฉด, ์์ง ๋จ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ํ ๋ค ์ ์ฒด ํธ๋์ญ์ ์ commitํ๊ณ checkpoint๋ฅผ ๊ธฐ๋กํ๋ค.
์ด ๋ฐฉ์์ ์ฅ์ ์ ๋ถ๋ช ํฉ๋๋ค.
์ฐ์ Long Transaction์ด ๊ธธ์ด์ ธ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ฌดํ์ ์ปค์ง์ง ์์ต๋๋ค.ย ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ฒด ํธ๋์ญ์ ๊ธธ์ด๋ณด๋คย flush ์๊ณ์น์ ๋ ์ง์ ์ ์ผ๋ก ์ํฅ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.ย ์ด์ ์ธก๋ฉด์์๋ ์ด๊ฒ๋ง์ผ๋ก๋ ์์คํ ์ ํจ์ฌ ์์ธก ๊ฐ๋ฅํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
๋์์ ํธ๋์ญ์ ๋ฌด๊ฒฐ์ฑ๋ ์ ์งํ ์ ์์ต๋๋ค.ย DB์ ๋จผ์ ์ ์ฌ๋ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ๋,ย ์ต์ข commit ์ ๊น์ง๋ ์๋ฃ๋ ํธ๋์ญ์ ์ผ๋ก ์ทจ๊ธํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ๋ฆฌํ๋ฉด ์ด ๊ตฌ์กฐ์ ํต์ฌ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ ์ค๋ ๋ถ๋ค์ง ์๋๋ค.
- DB์๋ ๋ฏธ๋ฆฌ ์ ์ฌํ ์ ์๋ค.
- ํ์ง๋ง ํธ๋์ญ์ ์๋ฃ ํ์ ์ COMMIT์์๋ง ํ๋ค.
์ด ์ธ ๊ฐ์ง๋ฅผ ๋ถ๋ฆฌํ์ง ์์ผ๋ฉด Long Transaction ๋ฌธ์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌด๊ฒฐ์ฑ ์ค ํ๋๋ฅผ ํฌ์ํ๋ ๋ฐฉํฅ์ผ๋ก ํ๋ฅด๊ธฐ ์ฝ์ต๋๋ค.
6. Group Transaction์ด ํ์ํ ์ด์
Long Transaction ๋ฌธ์ ๋ฅผ ์ ๋ฆฌํ๊ณ ๋๋ฉด,ย ๋ฐ๋์ชฝ ๋์ ์๋ ์์ ํธ๋์ญ์ ๋ค์ด ๋ณด์ ๋๋ค.
์ด ๊ฒฝ์ฐ ๋ฌธ์ ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋๋ผ COMMIT ๋น๋์ ๋๋ค.
์์ ํธ๋์ญ์ ์ด ์์ฃผ ๋ค์ด์ค๋ฉด ๊ฐ ํธ๋์ญ์ ์ ๊ธ๋ฐฉ ๋๋ฉ๋๋ค.ย ๊ฐ๋ณ ํธ๋์ญ์ ๋ง ๋๊ณ ๋ณด๋ฉด ๋ถ๋ด์ด ์์ ๋ณด์ด์ง๋ง,ย ์์คํ ์ ์ฒด๋ก ๋ณด๋ฉด DB๋ ๋งค์ฐ ์งง์ ๊ฐ๊ฒฉ์ผ๋ก ๋ฐ๋ณต์ ์ธ COMMIT๊ณผ checkpoint ๊ฐฑ์ ์ ์ํํ๊ฒ ๋ฉ๋๋ค.
์ด ์ํฉ์์๋ ๋ฐ์ดํฐ ๋ฐ์ ์์ฒด๋ณด๋คย ์์ ๋จ์์ ์๋ฃ ์ฒ๋ฆฌ๋ฅผ ๋๋ฌด ์์ฃผ ์ํํ๋ ๋น์ฉ์ด ๋ ๋์ ๋๊ธฐ ์์ํฉ๋๋ค.
ํนํ ์ ์ฌ ์์คํ ์ ๋จ๊ฑด ์๋ต ์๊ฐ์ ๊ฒจ๋ฃจ๋ ์์คํ ์ด ์๋๋ผ,ย ์ผ์ ๊ตฌ๊ฐ ๋์ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌ๋์ ์ ์งํ๋ ์ชฝ์ด ๋ ์ค์ํ ๋๊ฐ ๋ง์ต๋๋ค.ย ๊ทธ๋ฐ ํ๊ฒฝ์์ ์์ ํธ๋์ญ์ ์ ๋ชจ๋ ์ฆ์ COMMITํ๋ ๋ฐฉ์์ ๊ตฌํ์ ๋จ์ํ์ง๋ง,ย ์ด์ ํจ์จ์ ๊ทธ๋งํผ ๋จ์ด์ง ์ ์์ต๋๋ค.
๊ทธ๋์ ๋์ ํ ๊ฒ์ด Group Transaction ๋ฐฉ์์ ๋๋ค.
7. Group Commit์ ์ด๋ป๊ฒ ์ค๊ณํ๋๊ฐ
์ฌ๊ธฐ์ ์ค์ํ ์ ์ย โํธ๋์ญ์ ์ ๋ฌด์กฐ๊ฑด ๋ฌถ๋๋คโ๊ฐ ์๋๋ผ๋ ๊ฒ์ ๋๋ค.
๋ฌถ์ ์ ์๋ ๊ฒ์ย ์ด๋ฏธ COMMIT ์กฐ๊ฑด์ ์ถฉ์กฑํ ํธ๋์ญ์ ๋ฟ์ ๋๋ค.
๊ฐ์ ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ฐ๋ณ ํธ๋์ญ์ ์ ๋ฐ์ดํฐ ๋ฐ์์ ๊ธฐ์กด ๊ท์น๋๋ก ์ฒ๋ฆฌํ๋ค.
- COMMIT์ด ๋์ฐฉํด ์๋ฃ ๊ฐ๋ฅํ ์ํ๊ฐ ๋ ํธ๋์ญ์ ์ ์ฆ์ ๋จ๊ฑด commitํ์ง ์๊ณ ๋๊ธฐ์ด์ ๋๋ค.
- ์ด ๋๊ธฐ์ด์ ๊ฑด์ ๊ธฐ์ค ๋๋ timeout ๊ธฐ์ค์ผ๋ก ๋ชจ์์ ์ผ๊ด commitํ๋ค.
- ๋ค๋ง ์์ง COMMIT์ด ์ค์ง ์์ ํธ๋์ญ์ ์ timeout์ด ์ง๋๋ ์ ๋ commitํ์ง ์๋๋ค.
์ฆ,ย ๊ทธ๋ฃนํ์ ๊ธฐ์ค์ ์๊ฐ์ด๋ ๊ฑด์์ด์ง๋ง,ย ์ปค๋ฐ ๊ฐ๋ฅ ์ฌ๋ถ์ ๊ธฐ์ค์ ํญ์ ํธ๋์ญ์ ์ํ์ ๋๋ค.
์ด ์ฐจ์ด๊ฐ ์ค์ํฉ๋๋ค.
์ฑ๋ฅ๋ง ๋ณด๋ฉด timeout์ด ์์ ๋ ๋๊ธฐ ์ค์ธ ๊ฒ๋ค์ ํ ๋ฒ์ ๋ฐ์ด ๋ฃ๊ณ ์ถ์ด์ง ์ ์์ต๋๋ค.ย ํ์ง๋ง ๊ทธ ์์ ์์ง COMMIT๋์ง ์์ ํธ๋์ญ์ ์ด ์์ด๋ฉด,ย ๊ทธ ์๊ฐ๋ถํฐ ์์คํ ์ ์ฒ๋ฆฌ๋์ ์ป๋๋ผ๋ ๋ฌด๊ฒฐ์ฑ์ ์๊ฒ ๋ฉ๋๋ค.
๊ทธ๋์ Group Commit์ ๋ฐฐ์น ์ต์ ํ๊ฐ ์๋๋ผ,ย ๋ฌด๊ฒฐ์ฑ ๊ฒฝ๊ณ๋ฅผ ์ ์งํ ์ํ์์๋ง ํ์ฉ๋๋ ๋ฐฐ์น ์ ๋ต์ผ๋ก ์ค๊ณ๋์ด์ผ ํฉ๋๋ค.
8. timeout์ด ์๋ ์ปค๋ฐํ๋ฉด ์ ๋๋ ์ด์
์ด ๋ถ๋ถ์ ์๊ฐ๋ณด๋ค ์์ฃผ ์คํด๋ฉ๋๋ค.
timeout์ด ์๋ค๋ ๊ฒ์ย โ์ค๋ ๊ธฐ๋ค๋ ธ๋คโ๋ ๋ป์ด์ง,ย โํธ๋์ญ์ ์ด ๋๋ฌ๋คโ๋ ๋ป์ด ์๋๋๋ค.
์์คํ ์ ์ฅ์์ ๊ธฐ๋ค๋ฆผ์ ๊ธธ์ด์ ํธ๋์ญ์ ์๋ฃ ์ฌ๋ถ๋ ์ ํ ๋ค๋ฅธ ์ ํธ์ ๋๋ค.ย ๊ทธ๋ฐ๋ฐ ๋์ ๊ฐ์ ๊ฒ์ผ๋ก ์ทจ๊ธํ๋ฉด,ย ์์ง ๋๋์ง ์์ ํธ๋์ญ์ ์ ์์คํ ์ด ์์๋ก ํ์ ํด๋ฒ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค.
์ด๋ ๊ฒ ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์ผ๋ถ ๋ณ๊ฒฝ๋ง ๋ฐ์๋ ์ํ์์ ํธ๋์ญ์ ์ด ์ข ๋ฃ๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์๋ค.
- ์ดํ ๋ค์ด์จ ์ค์ COMMIT ์ด๋ฒคํธ์ ์์คํ ์ํ๊ฐ ์ด๊ธ๋ ์ ์๋ค.
- checkpoint๊ฐ ์์ ๋๊ฐ๋ฉด์ ์ฌ์ฒ๋ฆฌ ๊ธฐ์ค์ ์ด ๊นจ์ง ์ ์๋ค.
๊ฒฐ๊ตญ timeout์ ๋ฐฐ์น ์๋์ฐ๋ฅผ ๋ซ๋ ๊ธฐ์ค์ผ ์๋ ์์ด๋,ย ํธ๋์ญ์ ์๋ฃ๋ฅผ ํ์ ํ๋ ๊ธฐ์ค์ด ๋ ์๋ ์์ต๋๋ค.
๊ทธ๋์ ์ด๋ฒ ๊ตฌ์กฐ์์๋ ๋ค์ ์์น์ ์ ์งํ์ต๋๋ค.
- timeout์ย ์ด๋ฏธ commit ๊ฐ๋ฅํ ๊ฒ๋ค์ ๋ชจ์ ๋ฐ์ํ๋ ๊ธฐ์ค
- COMMIT ์ด๋ฒคํธ๋ย ํธ๋์ญ์ ์๋ฃ๋ฅผ ํ์ ํ๋ ์ ์ผํ ๊ธฐ์ค
์ด ์์น์ด ์์ด์ผ Group Commit์ ์ ์ฉํด๋ ํธ๋์ญ์ ์๋ฏธ๊ฐ ํ๋ค๋ฆฌ์ง ์์ต๋๋ค.
9. ์ด๋ฒ ๊ฐ์ ์ด ๊ฐ์ง ์๋ฏธ
์ด๋ฒ ์์ ์ ํต์ฌ์ ์ฑ๋ฅ ์์น๋ฅผ ์กฐ๊ธ ์ฌ๋ฆฐ ๋ฐ ์์ง ์์ต๋๋ค.
๋ ์ค์ํ ๊ฒ์ ํธ๋์ญ์ ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ค์์ฒ๋ผ ๋ถ๋ฆฌํ๋ค๋ ์ ์ ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๊ด์ ์์๋ flush๋ฅผ ํตํด Long Transaction ์๋ ฅ์ ๋ฎ์ถ๊ณ
- DB ๊ด์ ์์๋ Group Commit์ ํตํด ์ฆ์ ์๋ฃ ๋น์ฉ์ ์ค์ด๊ณ
- ๋ฌด๊ฒฐ์ฑ ๊ด์ ์์๋ commit ๊ฐ๋ฅํ ๊ฒฝ๊ณ๋ง ์๊ฒฉํ๊ฒ ์ธ์ ํ ๊ฒ
์ฆ,ย ํ๋์ ๊ธฐ๋ฒ์ผ๋ก ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ด ์๋๋ผ,ย ๊ฐ ๋ฌธ์ ๋ฅผ ์๋ก ๋ค๋ฅธ ์ฑ ์์ผ๋ก ๋๋ ๋ค๋ค์ต๋๋ค.
์ด๋ฐ ์ข ๋ฅ์ ๊ฐ์ ์ ๋ณดํต ์ฝ๋ ๋ช ์ค๋ก ์ค๋ช ๋์ง ์์ต๋๋ค.ย ์ค์ํ ๊ฒ์ ์ด๋ค ํจ์๋ฅผ ์ถ๊ฐํ๋์ง๊ฐ ์๋๋ผ,ย ์์คํ ์ด ํธ๋์ญ์ ์ ์ด๋ค ์ํ๋ก ์ธ์ํ๊ณ ์ด๋ค ์ด๋ฒคํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค์ ๋จ๊ณ๋ก ๋๊ธฐ๋์ง์ ๋๋ค.
์ด๋ฒ ๊ตฌ์กฐ๋ฅผ ํตํด ์ป์ ๊ฒ์ ํฌ๊ฒ ๋ ๊ฐ์ง์ ๋๋ค.
์ฒซ์งธ,ย Long Transaction์ด ๋ค์ด์๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ ์์ ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ๋์ต๋๋ค.
๋์งธ,ย ์งง์ ํธ๋์ญ์ ์ด ๋ง์๋ DB์ ๋ถํ์ํ COMMIT ์๋ ฅ์ ๋ ์ฃผ๊ฒ ๋์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ ๊ฐ์ง๋ฅผ ์ป๋ ๊ณผ์ ์์ ๊ฐ์ฅ ์ค์ํ๊ฒ ์งํจ ๊ฒ์,ย ์ฑ๋ฅ ๊ฐ์ ์ด ํธ๋์ญ์ ์๋ฏธ๋ฅผ ์นจ๋ฒํ์ง ์๊ฒ ํ๋ ๊ฒ์ด์์ต๋๋ค.
10. ๊ฒฐ๋ก
ํธ๋์ญ์ ์ฒ๋ฆฌ ์์คํ ์์ ์ฑ๋ฅ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์์ฃผ ์ถฉ๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ผ๋ ค๋ฉด ๋นจ๋ฆฌ ๋ด๋ ค๋๊ณ ์ถ๊ณ ,ย DB ๋ถํ๋ฅผ ์ค์ด๋ ค๋ฉด ๋ฌถ์ด์ ์ฒ๋ฆฌํ๊ณ ์ถ์ต๋๋ค.ย ํ์ง๋ง ๊ทธ ๊ณผ์ ์์ ํธ๋์ญ์ ์๋ฃ์ ์๋ฏธ๊น์ง ํ๋ ค์ง๋ฉด,ย ๊ฒฐ๊ตญ ์์คํ ์ ๋นจ๋ผ์ง๋ ๋์ ์ ๋ขฐ๋ฅผ ์๊ฒ ๋ฉ๋๋ค.
์ด๋ฒ ๊ฐ์ ์ ๊ทธ ์ถฉ๋์ ํผํ๋ ๋ฐฉํฅ์ผ๋ก ๊ตฌ์กฐ๋ฅผ ๋ค์ ์ก๋ ์์ ์ด์์ต๋๋ค.
Long Transaction์ ๋ํด์๋ย COMMIT ์ ์ ์ ์ฌ๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ์๋ ฅ์ ๋ถ์ฐํ๊ณ ,ย ์์ ํธ๋์ญ์ ์ ๋ํด์๋ย commit ๊ฐ๋ฅํ ๊ฒ๋ง ๋ฌถ๋ Group Commit์ ํตํด DB ๋ถํ๋ฅผ ์ค์์ต๋๋ค.ย ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ ๊ตฌ์กฐ๋ฅผ ๊ดํตํ๋ ์์น์ผ๋กย flush์ commit์ ๋ถ๋ฆฌํ๊ณ , COMMIT ์ด๋ฒคํธ๋ง ์ต์ข ํ์ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉํ์ต๋๋ค.
์ด์ ์์คํ ์์๋ ๋จ์ํ ๋น ๋ฅธ ๊ตฌ์กฐ๋ณด๋ค,ย ์ ์์ ํ์ง ์ค๋ช ํ ์ ์๋ ๊ตฌ์กฐ๊ฐ ๋ ์ค๋ ๊ฐ๋๋ค.
์ด๋ฒ ๊ฐ์ ์ ๋ฐ๋ก ๊ทธ ์ง์ ์ ์ ๋ฆฌํ ์์ ์ด์์ต๋๋ค.