Change Data Capture(์ดํ CDC)๋ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ peer ์ธก ์๋ฒ๋ก ์ ๋ฌํด์ฃผ๋ ๊ธฐ๋ฅ์ ํ๋ ์ํํธ์จ์ด๋ฅผ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ์๋ ์ ํ ๋ฐ์ดํฐ, ๋ฐ์ ํ ๋ฐ์ดํฐ ํน์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํฌํจํ๋ค.
์ผ๋ฐ์ ์ธ Migration ์๋ฃจ์ ๊ณผ๋ ๋ค๋ฅด๊ฒ CDC๋ ๋ณ๊ฒฝ ๋ถ๋ถ์ ๋ํด์๋ง ์ ๋ฌํจ์ผ๋ก์จ ์ฒ๋ฆฌ๋์ด ์ ์ด Throughput ๋ฑ์ ์์ด์ ํฐ ์ด์ ์ ์ป์ ์ ์๋ค.
ProSync๋ TmaxTibero์ CDC ์๋ฃจ์ ์ด๋ค. ํ์ฌ ์ ๊ณต๋๋ ๋ฐ์ดํฐ ํ์ ์ ์ ํ ๋ฐ์ดํฐ, ์ฆ RDBMS์ ๋ํ ๋๊ธฐํ๋ง์ ์ ๊ณตํ๊ณ ์์ผ๋ฉฐ ์ค์๊ฐ์ฑ์ด ๋๊ณ , ์ด๋ ฅ ๊ด๋ฆฌ๋ฅผ ํตํ ์ฅ์ ๋ณต๊ตฌ๋ ProSync Manager๋ฅผ ํตํ ์ ํฉ์ฑ ๊ฒ์ฌ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์๋ค.
์ ํ ์๊ฐ์ ์ ํ ์ค๊ณ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ProSync๊ฐ ์ด๋ค ๊ตฌ์ฑ์ผ๋ก ์ค์น๋๊ณ ์ด์๋๋์ง์ ๋ํ ๊ตฌ์ฑ๋๋ฅผ ์ค๋ช ํ๋ค.
์์ ์ค๋ช ํ ํ๋ก์ธ์ค ๊ฐ์ ๋ฐ ์ค๊ณ ๊ตฌ์กฐ๊ฐ ์ค์ ์ด์ ํ๊ฒฝ ๋ด ๊ตฌ์ฑ์ ์ ์ฉ๋๋ ์ฌํญ์ ์ดํดํ๋ฉฐ ์ค์น ์ ์ฐจ ๋ฐ ํ๋ผ๋ฏธํฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ ํํ ํ์ ํ ์ ์๋ค.
์๋์ ๊ฐ์ ๊ตฌ์ฑ์ ๊ถ์ฅํ๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ๋ก์ฑํฌ์ ๊ตฌ์ฑ๋๋ก, ์ถ์ถํ๊ณ ์ ํ๋ ์์น์ ๊ด๋ จ ํ๋ก์ธ์ค๊ฐ ๊ธฐ๋๋๊ณ , ๋ฐ์ํ๊ณ ์ ํ๋ ์์น์ ๋ฐ์ํ๋ก์ธ์ค๊ฐ ๊ธฐ๋๋๋ ๊ตฌ์กฐ์ด๋ค. Agent ํ๋ก์ธ์ค์ ๊ฒฝ์ฐ ํ๋ก์ธ์ค๋ค์ ๋ชจ๋ํฐ๋งํ๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ๋ณ๋ก 1๊ฐ์ฉ ๊ธฐ๋๋๋ค.
ํธ์๋ฅผ ์ํด ์๋์ ๊ฐ์ ๊ตฌ์ฑ ๋ํ ๊ฐ๋ฅํ๋ค.
๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์ถ์ถ์ชฝ์ผ๋ก ์ฎ๊ฒจ๋์ ๊ตฌ์ฑ์ผ๋ก, ์ค์น ๋ฐ ์ด์์ด ๋งค์ฐ ๊ฐ๋จํ๋ค. ํ์ง๋ง Apply๊ฐ Target์ชฝ์ ์ฟผ๋ฆฌ๋ฅผ ์ ๋ฌํ๋ค๋ ์ธก๋ฉด์์ ๋คํธ์ํฌ ์ฐ๋ฃจํ์ ์ํด๋ฅผ ๋ณผ ์ ์์ผ๋ฉฐ, ํ๋์จ์ด ์์๋ค๋ ๋ชจ๋ ๊ณต์ ๋๊ธฐ ๋๋ฌธ์ ๊ถ์ฅ๋๋ ๊ตฌ์ฑ์ ์๋๋ค.
Active-Active ๊ตฌ์ฑ์ Cluster DB๋ Shared Storage๊ฐ ํ์์ด๊ธฐ ๋๋ฌธ์, Shared Storage์ DB Server๋ฅผ ๋ถ๋ฆฌํ์ฌ ์์ฑํ๋ค.
๋ฐ์ ์ชฝ์ด Cluster์ธ์ง ์ฌ๋ถ๋ ํฌ๊ฒ ์ค์ํ์ง ์๋ค. ๊ฐ DB๋ณ ์ฐ๊ฒฐ์ ๋ณด ํ์ผ (tnsnames.ora ๋ tbdns.tbr ํ์ผ ๋ฑ) ์ ํตํด Cluster ์ชฝ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ถ์ํํ์ฌ ์ ์ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ ์๋ DB์ ์ฐ๊ฒฐ๋ง ๋๋ฉด ๋๋ค.
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) ๋ก ๋ฐ์ํ๊ฒ ๋๋ค.
์ด๋ค ์ข ๋ฅ์ ํ๋ก์ธ์ค๊ฑด, 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 ์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋์ ์ค์ด๊ณ , ์ ์ฒด ๋๊ธฐํ ๊ณผ์ ์์์ ๋ถํ๋ฅผ ์ค์ฌ์ฃผ๋ ํ๋ก์ธ์ค์ด๋ค.
ProSync ์ ํ ์๊ฐ ๋ฐ ์ค๊ณ ๋ด์ฉ์ ์๋ดํ๋ค.






