ProSync ์ ํ ์ดํด๋ฅผ ์ํ ๊ธฐ๋ณธ์ ์ธ ์ค๊ณ ์๋ฃ๋ฅผ ์๋ดํ๋ค.
ProSync๋ ์์ ๊ฐ์ ์ค๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ ์ฒด ์ค๊ณ์ ๋ํ ๊ฐ๋จํ ์์ฝ์ ํ๋ฉด ์๋์ ๊ฐ๋ค.
Extract ํ๋ก์ธ์ค๋ SRC DB์ ํด๋นํ๋ ์ถ์ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค( SRC DB ) ์์ Redo Log ๋ฅผ ์ถ์ถํ๋ค. ์ถ์ถ์ ๊ฐ DB๋ณ Log Reader Library ๋ฅผ ํตํด ์งํํ๋ฉฐ, ํ์ํ ๊ฒฝ์ฐ, ๊ฐ DB๋ณ๋ก ์ ๊ณตํ๋ ๋ณ๋์ ๋ก๊ทธ ๋ถ์ ๊ธฐ๋ฅ์ ํตํด ์ถ์ถ์ ์งํํ๊ธฐ๋ ํ๋ค. ์ถ์ถ๋ ๋ฐ์ดํฐ๋ Apply ํ๋ก์ธ์ค๋ก ์ ๋ฌ๋๋ค.
๋ฐ์ดํฐ๋ ๋ณดํต ๋ ์ฝ๋ ๋จ์ (์ฝ๊ฒ ๋งํด DML ๋จ์)๋ก ๋จ๊ฒ ๋๋ฉฐ, ํด๋น ๋ฐ์ดํฐ๋ Apply ํ๋ก์ธ์ค์์ ํธ๋์ญ์ ๋ณ๋ก ์ทจํฉํด ๋ฐ์ํด์ฃผ์ด์ผ ํ๋ค. ๋ฐ๋ผ์ Apply ํ๋ก์ธ์ค๋ ๋ ์ฝ๋๋ค์ ์ ๋ฌ๋ฐ์ ํธ๋์ญ์ ๋ณ๋ก ๋ชจ์๋๋ค. commit์ ํด๋นํ๋ ๋ ์ฝ๋ ๊ฐ ์ค๊ฒ๋๋ฉด, ํธ๋์ญ์ ์ ๋ฐ์์ํจ๋ค.
ProSync์ Data Flow๋ฅผ ๊ธฐ์ค์ผ๋ก ์ดํด๋ณด๋ฉด ์กฐ๊ธ ๋ ์์ธํ ๊ณผ์ ์ ๋ณผ ์ ์๋ค.
Extract ํ๋ก์ธ์ค๋ ๋ ์ฝ๋ ๋ฅผ chunk ๋จ์๋ก ๋ชจ์ Apply ํ๋ก์ธ์ค๋ก ์ ๋ฌํ๋ค. ์ ๋ฌ๋ฐ์ Apply ํ๋ก์ธ์ค๋ ๊ฐ ๋ ์ฝ๋ ๋ค์ ํธ๋์ญ์ ๋จ์๋ก ๋ชจ์์ค๋ค. commit ๋ ์ฝ๋๊ฐ ์ฌ ๊ฒฝ์ฐ ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(TAR DB) ๋ก ๋ฐ์ํ๊ฒ ๋๋ค.
ProSync๋ ํ๋ก์ธ์ค ๊ฐ ํต์ ์ TCP๋ฅผ ์ฌ์ฉํ๊ณ , ์ค๋ ๋ ๊ฐ ํต์ ์ Pipe๋ฅผ ์ฌ์ฉํ๋ค.
์ด๋ค ์ข ๋ฅ์ ํ๋ก์ธ์ค๊ฑด, Main ์ฐ๋ ๋๋ ๋ฐ๋์ ์กด์ฌํ๊ณ (ProSync์์ CTH ํน์ Control Thread ๋ผ๊ณ ๋ถ๋ฅธ๋ค.) ํด๋น ์ฐ๋ ๋๊ฐ ๋ค๋ฅธ ์ฐ๋ ๋์์ ํต์ ์ ๋ชจ๋ ๋ด๋นํ๋ค. ์ฆ, A๋ผ๋ ์ฐ๋ ๋์์ B๋ผ๋ ์ฐ๋ ๋์ ์ง์ ํต์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๊ณ , ๋ฐ๋์ Main ์ฐ๋ ๋๋ฅผ ๊ฑฐ์ณ์ ํต์ ํ๊ฒ ๋์ด ์๋ค.
๋ํ ํ๋ก์ธ์ค๊ฐ ํต์ ์์ TCP ๋ก๋ง ํต์ ์ ์งํํ๊ฒ๋๋ฉฐ, ์ด์ ๋ํ ์์ผ์ connect ์ accept ๋ ๋ชจ๋ ๊ฐ ํ๋ก์ธ์ค์ Main ์ฐ๋ ๋๊ฐ ๋ด๋นํ๋ค.
์ ์ฒด ํ๋ก์ธ์ค๋ค์ ๊ธฐ๋ฅ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ค.
Data Flow ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๋ ํ๋ก์ธ์ค๋ ์ฃผ๋ก Extract ํ๋ก์ธ์ค์ Apply ํ๋ก์ธ์ค์ด๋ค. ์ด ๋ ํ๋ก์ธ์ค๊ฐ ProSync์ ํต์ฌ ํ๋ก์ธ์ค์ด๋, ํ๋ก์ธ์ค ์ ์ฒด๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ ๋ชจ๋ํฐ๋ง ํด์ ์ ๋ฌํด์ฃผ๋ ๋ฑ์ ๊ธฐ๋ฅ์ ํด์ฃผ๋ Agent ํ๋ก์ธ์ค๋ Long ํน์ Lob ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ณ๋๋ก ๊ตฌ์ฑ๋ Llob ํ๋ก์ธ์ค, Agent ํ๋ก์ธ์ค๋ฅผ ํตํด ์ค์ ํ๋ก์ธ์ค์ ๋ช ๋ น์ ๋ด๋ฆฌ๋ Admin ํ๋ก์ธ์ค์ ๊ตฌ์ฑ์ ์ดํดํ๋ฉด ์ดํ์ ์ธ๊ธ๋๋ ๋ด์ฉ์ ์ดํดํ๊ธฐ ์ฝ๋ค.
์ ์ฒด ๊ตฌ์ฑ์ ๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
๊ฐ ํ๋ก์ธ์ค์ ๋ํ ์ญํ ์ ์๋์ ๊ฐ๋ค.
Agent ํ๋ก์ธ์ค๋ฅผ ํตํด ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ ๋ช ๋ น์ ๋ด๋ฆฐ๋ค. Agent ์๊ฒ ๋ด๋ฆฐ ๋ช ๋ น๊ณผ ๋ฆฌํด์ ํฐ๋ฏธ๋์์ ์ถ๋ ฅํ๋ค๊ณ ์ดํดํ ์ ์๋ค.
๋ช ๋ น์ด ๋ชฉ๋ก์ ๋ฉ๋ด์ผ์ ์ฐธ๊ณ ํ๋ค.
ํ๋ก์ธ์ค ๊ด๋ฆฌ์ ๋ค์ด๊ฐ๋ ๋ค์ํ ์ ๋ฌด๋ฅผ ์ฌ๊ธฐ์ ๋ชจ๋ ์ํํ๋ค. ๋ํ์ ์ผ๋ก ์๋์ ๊ฐ์ ์์ ๋ค์ด ์๋ค.
ํ๋ก์ธ์ค ๊ธฐ๋ / ์ข ๋ฃ
ํ๋ก์ธ์ค ๋ณ ๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง
ํ๋ก์ธ์ค ์ค์ ๋ณ๊ฒฝ
์ด์ธ์๋ ๊ด๋ฆฌ์ ํด๋นํ๋ ์์ ์ ๋ชจ๋ ์ด๊ณณ์์ ์์ ์ ์ํํด์ค๋ค.
CDC ์ ์์ด์ ๋ณ๊ฒฝ ๋ฐ์ดํฐ๋ฅผ ์บก์ณํ๋ ํ๋ก์ธ์ค์ด๋ค. ํ์ฌ๋ RDBMS์ ๋ฆฌ๋๋ก๊ทธ๋ฅผ ๋ณด๊ณ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ์์ ์ ์ํํ๋ค.
๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ peer์ชฝ์ ๋ฐ์ํ๋ ์์ ์ ์ํํ๋ค.
RDBMS์์ ์ฌ์ฉ๋๋ Long ํน์ Lob ๊ณผ ๊ฐ์ ํฐ ๋จ์์ ๋ฐ์ดํฐ๋ ๋ณ๊ฒฝ๋ถ์ ๋ฐ์ดํฐ๋ ํฌ๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ ๋ฆฌ๋์ ๋จ๋๋ค ํ์ฌ๋, ํธ๋์ญ์ ๋ง๋ฏธ์๋ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๊ฐ ๋๊ฑฐ๋ ํน์ ํฌ๊ฒ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
ํธ๋์ญ์ ๋จ์๋ก ๋ดค์ ๋, ๋ง์ง๋ง ํ์์ ๋ฐ์ดํฐ๋ง ์์๋ ACID๋ฅผ ์ ์งํ๋ ๋ฐ์๋ ์๋ฌด ๋ฌธ์ ๊ฐ ์๋ค. ๋ชจ๋ ๋ณ๊ฒฝ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ์ง ์์๋ ACID๊ฐ ์ ์ง๊ฐ ๋๋ค๋ ๋ป์ ์ฒ๋ฆฌ์ฑ๋ฅ(Throughput)์ ๋ถํ์ํ๊ฒ ํฌ์ํ๋ฉด์๊น์ง ์ฐ์ฐ์ ์ํํ ํ์๋ ์๋ค๋ ์๋ฏธ์ด๋ค.
Llob ํ๋ก์ธ์ค์์ ์ฃผ๋ก ์ํํ๋ ์ผ์ Commit ์ด ๋ค์ด์จ ์์ ์ Flashback ์ฟผ๋ฆฌ๋ฅผ ์ํํ์ฌ ํด๋น ์์ ์ฆ ํธ๋์ญ์ ์ด ์ข ๋ฃ๋๋ ์์ ์์์ ๋ฐ์ดํฐ๋ง ์กฐํํ์ฌ Apply ์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋์ ์ค์ด๊ณ , ์ ์ฒด ๋๊ธฐํ ๊ณผ์ ์์์ ๋ถํ๋ฅผ ์ค์ฌ์ฃผ๋ ํ๋ก์ธ์ค์ด๋ค.



