ํ์์ผ์๋ ๋ถ์ ๋์๋ณด๋๊ฐ โโ์ ํํ์ต๋๋ค. ํ์ง๋ง ๋ชฉ์์ผ์๋ ๊ณ ๊ฐ ํ๋ณด์จ์ด 23% ๊ฐ์ํ ๊ฒ์ผ๋ก ๋ํ๋ฌ๊ณ , ๋น์ฆ๋์ค ํ์ ์ด๋ฅผ ์ค์ํ ์ฌ์
์ ์ ํธ๋ก ๊ฐ์ฃผํ์ฌ ๋ง์ผํ
์์ฐ์ ์ฌ์กฐ์ ํ๊ณ ์บ ํ์ธ์ ์ผ์ ์ค๋จํ๋ ๋ฑ ์ด์ฌํ์ ๋ณด๊ณ ํ์ต๋๋ค. ๊ธ์์ผ์ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ํ์ ์์ ์๋น์ค์์ ๋ฐ์ดํฐ์ null ๊ฐ์ ํ์ฉํ๋ ์ด์ด ์ถ๊ฐ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. registrations 6์ผ ์ ์ ํ
์ด๋ธ์ด์์ต๋๋ค. ETL ํ์ดํ๋ผ์ธ์ ์
๋ฐ์ดํธ๋์ง ์์์ต๋๋ค. ์ธ์ ์งํ๋ฅผ ๋์ถํ๋ ๊ณ์ฐ์ ์๋ก์ด null ๊ฐ์ ์ ์ธํ๋ ๋์ 0์ผ๋ก ์ฒ๋ฆฌํ์ต๋๋ค. ์คํค๋ง ๋ณ๊ฒฝ ์๋ฆผ๋ ์ ์ก๋์ง ์์์ต๋๋ค. ์ค๋ฅ๋ฅผ ๋ฐ์์ํฌ ๋งํ ๊ณ์ฝ ์๋ฐ๋ ์์์ต๋๋ค. ํ์ดํ๋ผ์ธ์ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋์๊ณ , ๊ฒ๋ณด๊ธฐ์๋ ๋ง๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์๋ชป๋ ์์น๋ฅผ ์ถ๋ ฅํ์ต๋๋ค.
์คํค๋ง ๋๋ฆฌํํธ๋ ๊ตฌ์กฐ์ ๋ณํ์ ์๋ฏธํ๋ฉฐ, ๊ฐ์ด ์๋ชป๋ ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ ์๋ ๋ฌ๋ฆฌ ์์ค์ ๋์ ๊ฐ์ ๊ณ์ฝ์ ์๋ฐํ๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ DDL์ ์ ์ดํ๋ โโ์ค์ DBA๊ฐ ์๋ ๋ชจ๋๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ์์๋ ๋จ์ผ ๊ถํ์๊ฐ ๊ณ์ฝ์ ๊ฐ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์์ญ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์๋น์ค๊ฐ ๊ฐ๊ฐ ์์ฒด ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์์ ํ๊ณ , ์ด๋ฒคํธ ์คํธ๋ฆผ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์งํํ๋ Avro ์คํค๋ง๋ฅผ ์ ๋ฌํ๋ฉฐ, ๋ฉ์ธํ๋ ์ ๋ฐฐ์น ์์ ๊ณผ ํด๋ผ์ฐ๋ ๋ถ์ ํ๋ซํผ ๊ฐ์ ํ๋ซ ํ์ผ ์ธํฐํ์ด์ค๊ฐ ์ด๋ ์์คํ ์ ๋ฌธ์์๋ ์กด์ฌํ์ง ์๋ ์๋ฌต์ ์ธ ๊ณ์ฝ์ ์ ์ํ๋ ๋ถ์ฐ ์์คํ ์์๋ ๊ณ์ฝ์ด ์์คํ ์ ๋ชจ๋ ๊ฒฝ๊ณ์ ๊ฑธ์ณ ๋ถ์ฐ๋ฉ๋๋ค. ๋ถ์ฐ ํ๊ฒฝ์์์ ์คํค๋ง ๋๋ฆฌํํธ๋ DBA์ ์ค์๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์์ต๋๋ค. ๋ชจ๋ ๋ฐ์ดํฐ ํ์ ์๋น์์ ๋ํ ์๋ฒฝํ ๊ฐ์์ฑ ์์ด ๊ฐ๋ณ์ ์ผ๋ก ํฉ๋ฆฌ์ ์ธ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ์์จ์ ์ธ ํ์ ์ ์์ ์ธ ์ด์ ๊ณผ์ ์์ ๋ฐ์ํฉ๋๋ค.
๊ธฐ์กด ์คํค๋ง ๊ฒฝ๊ณ๋ฅผ ๋งคํํฉ๋๋ค.
SMART TS XL ๋ฉ์ธํ๋ ์ ํ๋ก๊ทธ๋จ๊ณผ ์ต์ ๋ถ์ ํ๋ซํผ์ ์ฐ๊ฒฐํ๋ ๋ชจ๋ ํ๋ซ ํ์ผ ํ์ ๊ณ์ฝ์ ์๋ณํฉ๋๋ค.
์์ธํ ์์๋ณด์ธ์โฆ์คํค๋ง ๋๋ฆฌํํธ๋ ๋ฌด์์ด๋ฉฐ, ๋ฌด์์ด ์๋๊ฐ
์คํค๋ง ๋๋ฆฌํํธ๋ ๋ฐ์ดํฐ ์ํฐํฉํธ์ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์์ง๋ง ํด๋น ์ํฐํฉํธ๋ฅผ ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ์๋ ๋ฐ์๋์ง ์๋ ํ์์ ๋๋ค. '์๋น์'์ ์ด์ ์ ๋ง์ถ๋ค๋ ์ ์ด ์คํค๋ง ๋๋ฆฌํํธ์ ๊ณํ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ๊ตฌ๋ถํ๋ ํต์ฌ์ ๋๋ค. ์์ค ํ ์ด๋ธ๊ณผ ๋ชจ๋ ์ฟผ๋ฆฌ์์ ๋์์ ์ด ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์ ๋๋ค. ๋ฐ๋ฉด, ์์ค ํ ์ด๋ธ์์๋ง ์ด ์ด๋ฆ์ ๋ณ๊ฒฝํ์ฌ ์๋น ์ฟผ๋ฆฌ์์ ์ค๋๋ ์ด ์ด๋ฆ์ ์ฌ์ฉํ๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ์คํค๋ง ๋๋ฆฌํํธ์ ๋๋ค.
๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ์์ค ์์คํ ๊ณผ ๋์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ๊ฐ์ ์ ๋ขฐ ๊ณ์ฝ์ ๊ธฐ๋ฐํฉ๋๋ค. ์ด ๊ณ์ฝ์ ์คํค๋ง, ์ฆ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ ์ํ๋ ํฉ์๋ ๊ตฌ์กฐ, ๋ฐ์ดํฐ ์ ํ ๋ฐ ์ด ์ด๋ฆ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์์ ํ์์ ๋ฐ์ดํฐ ํ์ ์๋ฆฌ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ด ๊ณ์ฝ์ ์๋ฐํ๊ฒ ๋ฉ๋๋ค.
์คํค๋ง ๋๋ฆฌํํธ๋ ๋ฐ์ดํฐ ๋๋ฆฌํํธ์ ๋ค๋ฆ ๋๋ค. ๋ฐ์ดํฐ ๋๋ฆฌํํธ๋ ์์ ์ ์ธ ์คํค๋ง ๋ด์์ ๊ฐ์ ํต๊ณ์ ๋ถํฌ๊ฐ ๋ณํ๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ํ๊ท ์์ ๊ฐ์ด ๊ฐ์ํ๊ฑฐ๋, null ๊ฐ์ด ์ฆ๊ฐํ๊ฑฐ๋, ๋ฒ์ฃผํ ๋ถํฌ๊ฐ ๋ณํ๋ ๋ฑ์ ๋ณํ๋ฅผ ๋งํฉ๋๋ค. ๋ ๋ค ์ค์ํ ๋ฐ์ดํฐ ํ์ง ์ ํธ์ด์ง๋ง, ํ์ง ๋ฐฉ์๊ณผ ๊ทผ๋ณธ ์์ธ์ด ๋ค๋ฆ ๋๋ค. ์ด ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ ์ ํ์ ๋ชจ๋ํฐ๋งํ๋ ์คํค๋ง ๋ณ๊ฒฝ ๊ฐ์ง ์์คํ ์ ๋ฐ์ดํฐ ๋๋ฆฌํํธ๋ฅผ ๊ฐ์งํ์ง ๋ชปํ๋ฉฐ, ๋ถํฌ ๋ชจ๋ํฐ๋ง ์์คํ ์ ์ด ์ถ๊ฐ ๋ฐ ์ญ์ ๋ฅผ ๊ฐ์งํ์ง ๋ชปํฉ๋๋ค.
์คํค๋ง ๋๋ฆฌํํธ๊ฐ ํญ์ ํด๋ก์ด ๊ฒ์ ์๋๋๋ค. ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ๋๋ฆฌํํธ ์ฌ๊ฐ๋๋ฅผ ์ถ์ ํ๋ฉด ํ๋ฐํ ๊ฐ๋ฐ ์ฃผ๊ธฐ(์์ฑ ๋๋ฆฌํํธ)์ ๋ถ์์ ์ฑ(์ฌ๊ฐํ ๋๋ฆฌํํธ)์ ๊ตฌ๋ถํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ํ์ ํธํ์ฑ์ ์ ์งํ๋ฉด์ ํ ์ด๋ธ์ null ํ์ฉ ์ด์ ์ถ๊ฐํ๋ ๊ฒ์ ์คํค๋ง ๋๋ฆฌํํธ์ ํด๋นํฉ๋๋ค. ์คํค๋ง๋ ๋ณ๊ฒฝ๋์์ง๋ง ์ ์ด์ ๋ฌด์ํ๋ ์๋น์์๊ฒ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ ์ ์์ต๋๋ค. ๋๋ฆฌํํธ๋ฅผ ์์ฑ ๋๋ ์ฌ๊ฐํ ๊ฒ์ผ๋ก ๋ถ๋ฅํ๋ ค๋ฉด ํ์ ์๋น์์ ๊ทธ๋ค์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ดํดํด์ผ ํฉ๋๋ค.
์คํค๋ง ๋๋ฆฌํํธ์ ๋ค ๊ฐ์ง ์ ํ
๋ถ์ฐ ๋ฐ์ดํฐ ์์คํ ์ ์๋ก ๋ค๋ฅธ ๊ฐ์ง ๋ฉ์ปค๋์ฆ์ด ํ์ํ ๋ค ๊ฐ์ง ์ฐจ์์์ ์คํค๋ง ๋ณํ๋ฅผ ์ผ์ผํต๋๋ค.
์ ํ 1: ๊ตฌ์กฐ์ ๋ณ์
๋ฌผ๋ฆฌ์ ์คํค๋ง ์ ์ ๋ณ๊ฒฝ ์ฌํญ์๋ ์ด ์ถ๊ฐ, ์ด ์ญ์ , ์ด ์ด๋ฆ ๋ณ๊ฒฝ, ๋ฐ์ดํฐ ์ ํ ๋ณ๊ฒฝ, ์ ์ฝ ์กฐ๊ฑด ์ถ๊ฐ ๋๋ ์ญ์ , ํ ์ด๋ธ ์ถ๊ฐ ๋ฐ ์ญ์ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ ์คํค๋ง ๋๋ฆฌํํธ์ ๊ฐ์ฅ ๋์ ๋๋ ํํ์ด๋ฉฐ, ๊ด์ฐฐ ๋๊ตฌ์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ๋ค๋ฃจ๋ ์ ํ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค INFORMATION_SCHEMA ์ฟผ๋ฆฌ, ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ ๋น๊ต, ๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ์์คํ ์ ๊ตฌ์กฐ์ ๋๋ฆฌํํธ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํฌ์ฐฉํ ์ ์์ต๋๋ค.
ํ์ง ๋ฐฉ์: ๊ธฐ์ค์ ๊ณผ์ ์คํค๋ง ์ค๋ ์ท ๋น๊ต; INFORMATION_SCHEMA ํด๋ง; ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ ๋ฒ์ ๋น๊ต.
์ ํ 2: ์๋ฏธ ๋ณํ
๊ธฐ์กด ํ๋์ ์ ์๋ ๋ณ๊ฒฝํ์ง ์๊ณ ํ๋์ ์๋ฏธ๋ง ๋ณ๊ฒฝํฉ๋๋ค. ์ด ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
status์ด์ ์ ๊ฐ์ ํฌํจํ๋ACTIVE,INACTIVE,PENDINGํ์ฌ ๊ฐ์ ํฌํจํฉ๋๋ค1,2,3์์ฑ ์๋น์ค๊ฐ ์ด๊ฑฐํ์ ๋ณ๊ฒฝํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์คํค๋ง, ์ด ์ด๋ฆ, ๋ฐ์ดํฐ ์ ํ, null ํ์ฉ ์ ์ฝ ์กฐ๊ฑด์ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค. ์๋ฏธ๋ก ์ ๊ณ์ฝ์ด ๊นจ์ก์ต๋๋ค. ๋ฌธ์์ด ์ํ ๊ฐ์ ํ์ฑํ๋ ์๋น์๋ ์ด์ ๋ก์ง์์ ์ฒ๋ฆฌํ ์ ์๋ ์ ์ ๊ฐ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.์๋ฏธ ๋ณํ์ ๋งฅ๋ฝ ๋ณํ๋ ๋น๊ต์ ์ต๊ทผ์ ๋ ผ์๋๊ธฐ ์์ํ ์ฃผ์ ์ด๋ฉฐ, ์ธ๊ณต์ง๋ฅ ํ๋ก๊ทธ๋จ ์คํจ์ ์ฃผ์ ์์ธ์ผ๋ก ์ ์ ๋ ํฐ ๋น์ค์ ์ฐจ์งํ๊ณ ์์์๋ ๋ถ๊ตฌํ๊ณ ์ ๋๋ก ๋ชจ๋ํฐ๋ง๋์ง ์๊ณ ์์ต๋๋ค. ์๋ฏธ ๋ณํ๋ ๊ตฌ์กฐ์ ์ ํธ๋ฅผ ์์ฑํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ๊ฐ์งํ๊ธฐ๊ฐ ๊ฐ์ฅ ์ด๋ ต์ต๋๋ค. ์ด๋ฅผ ๊ฐ์งํ๋ ค๋ฉด ๊ฐ ๋ถํฌ ๋ชจ๋ํฐ๋ง(์๋ ค์ง ๊ฐ๊ณผ ์๋ ค์ง์ง ์์ ๊ฐ์ ๋น์จ ๋ณํ)์ด๋ ๋ช ์์ ์ธ ๊ณ์ฝ ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค.
ํ์ง: ๊ฐ ๋ถํฌ ๋ชจ๋ํฐ๋ง; ํ์ฉ ๊ฐ ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น; ํน์ ์ ํจ ๊ฐ์ ๊ฒ์ฆํ๋ ๊ณ์ฝ ํ ์คํธ.
์ ํ 3: ํ์ ํธ์ฐจ
๊ตฌ์กฐ์ ์ผ๋ก ๋ณ๊ฒฝ๋์ง ์์ ํ๋ ๋ด ๊ฐ์ ์ธ์ฝ๋ฉ ๋๋ ํ์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด์ ์๋ UTC ISO 8601 ๋ฌธ์์ด์ ํฌํจํ๋ ํ์์คํฌํ ํ๋๊ฐ ์ด์ ์ ๋์ค ์ํฌํฌ ์ ์๋ฅผ ํฌํจํฉ๋๋ค. ์ด์ ์๋ ์์์ ๊ธ์ก์ ํฌํจํ๋ ํตํ ํ๋๊ฐ ์ด์ ์ผํธ ๋จ์์ ์ ์ ๊ธ์ก์ ํฌํจํฉ๋๋ค. ํด๋น ์ด์ ์กด์ฌํ๋ฉฐ, ๋ฐ์ดํฐ ์ ํ์ ์ ๊ฐ์ ๋ํด ์ฌ์ ํ ์ ํจํ์ง๋ง ๊ตฌ๋ฌธ ๋ถ์ ๊ท์น์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
ํฌ๋งท ๋๋ฆฌํํธ๋ ํนํ ๋ถ์ฐ ์์คํ ์ ๊ฒฝ๊ณ์์ ํํ ๋ฐ์ํ๋๋ฐ, ํ ์๋น์ค๊ฐ ๋ค๋ฅธ ์๋น์ค์์ ์ญ์ง๋ ฌํํ๋ ํ์์ ๋ค๋ฅธ ํ์์ผ๋ก ์ง๋ ฌํํ๋ ๊ฒฝ์ฐ์, ๋ ๊ฑฐ์ ์์คํ ๊ณผ ์ต์ ์์คํ ์ ๊ฒฝ๊ณ์์ COBOL ํ๋ก๊ทธ๋จ์ด ํ์ ETL ํ๋ก์ธ์ค๊ฐ ์์กดํ๋ ํน์ ๋ฐ์ดํธ ์์น ๊ท์น์ ๋ฐ๋ผ ํ๋ซ ํ์ผ์ ์์ฑํ๋ ๊ฒฝ์ฐ์ ๋ฐ์ํฉ๋๋ค.
ํ์ง: ๊ฐ ๋ฒ์ ๋ฐ ํจํด์ ๋ํ ํต๊ณ์ ํ๋กํ์ผ๋ง; ํน์ ํ๋์ ๋ํ ํ์ ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น; ๊ฒฝ๊ณ ์ผ์น ํ ์คํธ.
์ ํ 4: ๊ณ์ฝ ๋ณ๊ฒฝ
๋ฐ์ดํฐ ์์ค์ ๊ฐ์ฉ์ฑ, ์ต์ ์ฑ ๋๋ ์ฉ๋ ๋ณด์ฅ ๋ฐฉ์์ ๋ณ๊ฒฝ. ์์ค ์์คํ ์ ์ด์ ์๋ ๋งค์ผ ์ค์ 3์(UTC)๊น์ง ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ ๊ณตํ์ง๋ง, ์ด์ ๋ ์ค์ 6์๊น์ง ์ ๊ณตํจ์ผ๋ก์จ ์ค์ 3์ ๊ธฐ์ค์ ์ต์ ์ฑ์ ์ ์ ๋ก ํ๋ ํ์ ํ๋ก์ธ์ค์ ์กฐ์ฉํ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ณ ์์ต๋๋ค. ์์ค ์์คํ ์ ์ด์ ์๋ ํ๋ฃจ ์ต์ 1,000๊ฐ์ ๋ ์ฝ๋๋ฅผ ๋ณด์ฅํ์ง๋ง, ํธ๋ํฝ์ด ์ ์ ๊ธฐ๊ฐ์๋ ๊ทธ๋ณด๋ค ์ ์ ๋ ์ฝ๋๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ๋ค์ ๊ตฌ์กฐ์ ์ธ ์๋ฏธ์ ์คํค๋ง ๋ณ๊ฒฝ์ ์๋์ง๋ง, ๋ฐ์ดํฐ ์์ฐ์์ ์๋น์ ๊ฐ์ ๊ณ์ฝ์ ์๋ฐํ๋ ๊ฒ์ ๋๋ค.
๊ฐ์ง ๊ธฐ๋ฅ: ์ ์ ๋ ๋ชจ๋ํฐ๋ง; ์ฉ๋ ์ด์ ๊ฐ์ง; SLA ๊ธฐ๋ฐ ์๋ฆผ.
๋ถ์ฐ ์์คํ ์ด ๋ฌธ์ ๋ฅผ ์ ํ์ํค๋ ์ด์ ๋ ๋ฌด์์ผ๊น์?
๋จ์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋จ์ผ ์ ํ๋ฆฌ์ผ์ด์ ํ์ผ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋๋ฆฌ์ ์์คํ ์์๋ ์คํค๋ง ๋ณ๊ฒฝ์ด ํต์ ๋ ์ด๋ฒคํธ๋ก ์ด๋ฃจ์ด์ง๋๋ค. DBA๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ์ ์์ฑํ๊ณ , ๊ฐ๋ฐ์๊ฐ ์ฟผ๋ฆฌ๋ฅผ ์ ๋ฐ์ดํธํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ด ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค. ์คํค๋ง ๋๋ฆฌํํธ์ ์ํ์ ์กด์ฌํ์ง๋ง, ๋จ์ผ ๊ด๋ฆฌํ์ ๋ฒ์ ๋ด์์ ์ ํ๋ฉ๋๋ค.
๋ถ์ฐ ์์คํ ์ ๋จ์ผ ๊ถํ ์ฒด๊ณ๋ฅผ ์์ ์ค๋๋ค. ๊ฐ ์๋น์ค๋ ์์ฒด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ฉฐ, ๊ฐ ํ์ ์คํค๋ง ๊ฒฐ์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ด๋ฆฝ๋๋ค. ๊ฐ ์๋น์ค ๋ฐ์ดํฐ์ ์๋น์๋ ํด๋น ํ์ด ์ง์ ์ ์ผ๋ก ํ์ ํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ, ํนํ ๋ฐ์ดํฐ ํ๋ซํผ, ๋ถ์ ํ์ดํ๋ผ์ธ ๋๋ ์ ํ ํ์ด ์ ๊ทน์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌํ์ง ์๋ ๊ธฐ์กด ํตํฉ ์ง์ ์ธ ๊ฒฝ์ฐ์๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
Distributed Schema Drift Propagation Path:
Order Service Kafka Topic Analytics Pipeline
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ orders table โโโ>โ order.created โโโโ>โ orders_fact table โ
โ + coupon_id โ โ Avro schema โ โ (missing coupon_id) โ
โ (new column) โ โ v1 still used โ โ pipeline runs fine โ
โ โ โ โ โ coupon data silently โ
โ โ โ โ โ dropped โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โผ
BI Dashboard
โโโโโโโโโโโโโโโโโโโโ
โ coupon_revenue โ
โ always = $0 โ
โ (no error shown) โ
โโโโโโโโโโโโโโโโโโโโ
์ด ๋ค์ด์ด๊ทธ๋จ์ ์ ํ ํจํด์ ๋ณด์ฌ์ค๋๋ค. ์ฃผ๋ฌธ ์๋น์ค ํ์ด ์ถ๊ฐํฉ๋๋ค. coupon_id ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ถ๊ฐํฉ๋๋ค. ๋ํ Kafka ์ด๋ฒคํธ ์คํค๋ง๋ฅผ ์
๋ฐ์ดํธํ์ฌ ๋ค์์ ํฌํจํ๋๋ก ํฉ๋๋ค. coupon_id๋ถ์ ํ์ดํ๋ผ์ธ์ด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์
๋ฐ์ดํธ๋์ด์ผ ํฉ๋๋ค. Kafka ์คํค๋ง๊ฐ ์ฌ์ ํ ๋ฒ์ 1์ธ ๊ฒฝ์ฐ ํด๋น ํ๋๋ ํ์ดํ๋ผ์ธ์ ๋๋ฌํ์ง ์์ต๋๋ค. ํ์ดํ๋ผ์ธ์ ์
๋ฐ์ดํธ๋์์ง๋ง BI ๋์๋ณด๋ ๋ชจ๋ธ์ด ์๋ก ๊ณ ์ณ์ง์ง ์์ผ๋ฉด ํด๋น ํ๋๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์๋ ์กด์ฌํ์ง๋ง ๋ณด๊ณ ์์๋ ๋ํ๋์ง ์์ต๋๋ค. ์ด๋ฌํ ๋๋ฆฌํํธ๋ ๋ค ๊ฐ์ง ๊ฒฝ๊ณ ์ค ์ด๋ ์ง์ ์์๋ ๋ฐ์ดํฐ ์์ค์ ์ด๋ํ ์ ์์ผ๋ฉฐ, ๊ฐ ๊ฒฝ๊ณ๋ง๋ค ์๋ก ๋ค๋ฅธ ๊ฐ์ง ๋ฉ์ปค๋์ฆ์ด ํ์ํฉ๋๋ค.
ํ์ดํ๋ผ์ธ ์ค๋ฅ, ์ค๋๋ ๋์๋ณด๋, ์คํค๋ง ๋ณ๊ฒฝ, ๋ถ์์ ํ ๋ฐ์ดํฐ ์ธํธ๋ ํ๋ ๊ธฐ์ ๋ฐ์ดํฐ ํ๊ฒฝ์์ ์ฃผ์ ์ด์ ์ํ ์์๊ฐ ๋์์ต๋๋ค. ์ต์ ๋ฐ์ดํฐ ์คํ์ ๊ธฐ์กด ํ๊ฒฝ๋ณด๋ค ์ค๋ฅ ๋ฐ์ ์๋๊ฐ ํจ์ฌ ๋น ๋ฅด๋ฉฐ, ๋ณํ ์ค๋ฅ, ์ต์ ์ฑ ์ ์ง ์คํจ, ๋ฐ์ดํฐ ์์ ๋ฑ์ด ํ์ดํ๋ผ์ธ ์ ๋ฐ์ ๊ฑธ์ณ ํ์ด ์๋์ผ๋ก ๋ฌธ์ ๋ฅผ ๊ฐ์งํ๊ธฐ ํจ์ฌ ์ ์ ํ์ฐ๋ฉ๋๋ค.
๋ถ์ฐ ํ๊ฒฝ์์ ์คํค๋ง ๋ณ๊ฒฝ์ด ๋น์ฉ์ด ๋ง์ด ๋๋ ์ด์ ๋ ๋ฐ๋ก "์กฐ์ฉํ" ํน์ฑ ๋๋ฌธ์ ๋๋ค. ์์ธ๋ฅผ ๋ฐ์์ํค๋ ์ค๋ฅ๋ ๊ฐ์ง๋์ด ์์ ๋์ง๋ง, ์๋ชป๋ ์์น๋ฅผ ์กฐ์ฉํ ์์ฑํ๋ ๋ณ๊ฒฝ ์ฌํญ์ ํด๋น ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋น์ฆ๋์ค ๊ฒฐ์ ์ผ๋ก ์ธํด ๊ฐ์์ ์ธ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ ๋๊น์ง ๊ฐ์ง๋์ง ์์ต๋๋ค.
๊ณ์ธต๋ณ ํ์ง ์ ๊ทผ ๋ฐฉ์
์คํค๋ง ๋ณ๊ฒฝ ๊ฐ์ง์๋ ๋ถ์ฐ ์์คํ ์ ๊ฐ ๊ณ์ธต๋ง๋ค ์๋ก ๋ค๋ฅธ ๋๊ตฌ์ ๊ธฐ์ ์ด ํ์ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์จ์ดํ์ฐ์ค ๊ณ์ธต
๊ฐ์ฅ ์ฑ์ํ ํ์ง ๊ณ์ธต์ ๋๋ค. ๋ชจ๋ ์ฃผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ INFORMATION_SCHEMA ํ ์ด๋ธ์ ์ฟผ๋ฆฌ ๊ฐ๋ฅํ ๋ฉํ๋ฐ์ดํฐ ์ค๋ ์ท์ ์ ๊ณตํฉ๋๋ค.
SQL
-- Detect structural schema changes since a baseline snapshot
-- Run daily; alert when new differences appear
WITH current_schema AS (
SELECT
table_name,
column_name,
data_type,
is_nullable,
column_default,
ordinal_position
FROM information_schema.columns
WHERE table_schema = 'production'
),
baseline AS (
-- Previous snapshot stored in schema_baseline table
SELECT * FROM schema_monitoring.schema_baseline
WHERE snapshot_date = CURRENT_DATE - 1
)
SELECT
'ADDED' AS change_type,
c.table_name,
c.column_name,
c.data_type,
CURRENT_DATE AS detected_date
FROM current_schema c
LEFT JOIN baseline b
ON c.table_name = b.table_name
AND c.column_name = b.column_name
WHERE b.column_name IS NULL
UNION ALL
SELECT
'REMOVED' AS change_type,
b.table_name,
b.column_name,
b.data_type,
CURRENT_DATE
FROM baseline b
LEFT JOIN current_schema c
ON b.table_name = c.table_name
AND b.column_name = c.column_name
WHERE c.column_name IS NULL
UNION ALL
SELECT
'TYPE_CHANGED' AS change_type,
c.table_name,
c.column_name,
c.data_type || ' (was: ' || b.data_type || ')' AS data_type,
CURRENT_DATE
FROM current_schema c
JOIN baseline b
ON c.table_name = b.table_name
AND c.column_name = b.column_name
WHERE c.data_type <> b.data_type;
์ด๋ฌํ ํจํด์ ์๋ํํ๋ ๋๊ตฌ: dbt ์คํค๋ง ํ ์คํธ, Great Expectations ์ด ๊ธฐ๋์น, Monte Carlo ํ ์ด๋ธ ์ํ ๋ชจ๋ํฐ๋ง, Acceldata ์คํค๋ง ๋๋ฆฌํํธ ๋ชจ๋ํฐ๋ง.
์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ ๋ ์ด์ด
Kafka ํ ํฝ์ ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ(Confluent Schema Registry, AWS Glue Schema Registry, Apicurio)๋ฅผ ์ฌ์ฉํ์ฌ Avro, Protobuf ๋ฐ JSON ์คํค๋ง์ ์งํ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ๋ ์ง์คํธ๋ฆฌ๋ ๊ฒ์ ์์ ์ ํธํ์ฑ ๊ท์น์ ์ ์ฉํฉ๋๋ค.
์
# Confluent Schema Registry: compatibility rule configuration
# Applied per topic; enforces at producer registration time
compatibility:
BACKWARD:
# New schema can read data written with old schema
# Safe: consumers can be updated after producers
allows: add_optional_fields, remove_fields_with_defaults
blocks: rename_fields, change_types, add_required_fields
FORWARD:
# Old schema can read data written with new schema
# Safe: consumers can be deployed before producers
allows: add_required_fields, rename_with_aliases
blocks: remove_fields_used_by_consumers
FULL:
# Both backward and forward compatible
# Strictest: ensures zero-downtime evolution
allows: add_optional_fields_with_defaults
blocks: everything_else
์คํค๋ง ๋ ์ง์คํธ๋ฆฌ๋ ์๋ฏธ ๋ณํ๋ฅผ ๋ฐฉ์งํ์ง ๋ชปํฉ๋๋ค. ์ด๋ฆ๊ณผ ์ ํ์ ๋ณ๊ฒฝ๋์ง ์์์ง๋ง ์๋ฏธ๊ฐ ๋ฐ๋ ํ๋๋ ํธํ์ฑ ๊ฒ์ฌ๋ฅผ ํต๊ณผํ ์ ์์ต๋๋ค. ์๋ฏธ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํด์๋ ๊ณ์ฝ ํ ์คํธ(Pact, AsyncAPI ํ ์คํธ)๊ฐ ํ์ํฉ๋๋ค.
API ๊ณ์ธต
API ์คํค๋ง ๋ณ๊ฒฝ์ ๊ฐ์งํ๋ ๋ฐ๋ ํฌ๊ฒ ๋ค ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค. ์ฌ์ ๊ฐ ๋น๊ต, ์ฌ์๊ณผ ์ค์ ๋ณ๊ฒฝ ์ฌํญ ๋ชจ๋ํฐ๋ง, ์ค์ ๋ณ๊ฒฝ ์ฌํญ ๋ชจ๋ํฐ๋ง, ๊ทธ๋ฆฌ๊ณ ํธ๋ํฝ ๊ธฐ๋ฐ ๊ฐ์ง์ ๋๋ค. ์ด ๋ถ์ผ์์ ๊ฐ์ฅ ํผ๋์ค๋ฌ์ด ๋ถ๋ถ์ ์๋ก ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ ๋๊ตฌ๋ค์ ๋น๊ตํ๋ ๋ฐ์ ๋น๋กฏ๋ฉ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ๋ด๋ถ ์๋น์ค API์ ๊ฒฝ์ฐ, ์๋น์ ์ฃผ๋ ๊ณ์ฝ ํ ์คํธ(Pact)๊ฐ ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ๊ฐ ์๋น์๋ ์์ฐ์์๊ฒ ์๊ตฌํ๋ ๊ณ์ฝ์ ๋ช ์ํ๊ณ , ํด๋น ๊ณ์ฝ์ CI ํ๊ฒฝ์์ ์์ฐ์์ ๊ตฌํ๊ณผ ๋น๊ตํ์ฌ ๊ฒ์ฆ๋๋ฉฐ, ์๋น์์ ๊ณ์ฝ์ ์๋ฐํ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋ฉด ๋ฐฐํฌ ์ ์ ์์ฐ์์ ํ ์คํธ ์ค์ํธ๊ฐ ์คํจํ๊ฒ ๋ฉ๋๋ค.
๊ธฐ์กด ์์คํ ๊ฒฝ๊ณ: ๋๋ฆฌํํธ๊ฐ ๋ณด์ด์ง ์๊ฒ ๋๋ ์ง์
์์ ์ค๋ช ๋ ๋ชจ๋ ํ์ง ์ ๊ทผ ๋ฐฉ์์ ์ฟผ๋ฆฌ ๊ฐ๋ฅํ ์ธํฐํ์ด์ค(INFORMATION_SCHEMA, ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ, OpenAPI ์ฌ์)๋ฅผ ํตํด ์คํค๋ง ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ ธ์ถํ๋ ์์คํ ์์ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์กด ๋ฉ์ธํ๋ ์ ์์คํ ๊ณผ ์ต์ ๋ฐ์ดํฐ ํ๋ซํผ์ ๊ฒฝ๊ณ์์๋ ์ด๋ฌํ ์ธํฐํ์ด์ค๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค.
ํด๋ผ์ฐ๋ ETL ํ์ดํ๋ผ์ธ์์ ์ฌ์ฉํ ํ๋ซ ํ์ผ์ ๋งค์ผ ๋ฐค ์์ฑํ๋ COBOL ํ๋ก๊ทธ๋จ์ ํ์ผ ๋์คํฌ๋ฆฝํฐ(FD) ํญ๋ชฉ๊ณผ ์ถ๋ ฅ ๋ก์ง์ ์๋ฌต์ ์ธ ์คํค๋ง๋ฅผ ์ ์ํฉ๋๋ค. ํ๋ซ ํ์ผ์ "์คํค๋ง", ์ฆ ๋ฐ์ดํธ ์์น, ๋ฐ์ดํฐ ์ ํ, COMP-3 ํฉํ ์ญ์ง์ ํ๋ ๋ฐ REDEFINES ๊ตฌ์กฐ์ฒด๋ ์ต์ ๊ด์ฐฐ ๋๊ตฌ๊ฐ ์ฟผ๋ฆฌํ ์ ์๋ ๋ ์ง์คํธ๋ฆฌ๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์๊ฐ ์๋ COBOL ์์ค ์ฝ๋์ ์กด์ฌํฉ๋๋ค.
์ฝ๋ณผ
*> This FD entry IS the schema contract for the nightly extract
*> Any change here constitutes schema drift for the downstream ETL
FD CUSTOMER-EXTRACT-FILE
LABEL RECORDS ARE STANDARD
RECORD CONTAINS 350 CHARACTERS.
01 CUSTOMER-EXTRACT-REC.
05 CUST-ID PIC 9(10). *> Bytes 1-10
05 CUST-NAME PIC X(40). *> Bytes 11-50
05 CUST-BALANCE PIC S9(11)V99 COMP-3. *> Bytes 51-57 (packed)
05 CUST-STATUS-CD PIC X(2). *> Bytes 58-59
05 CUST-OPEN-DATE PIC 9(8). *> Bytes 60-67: YYYYMMDD
05 FILLER PIC X(283). *> Bytes 68-350
COBOL ํ์ด ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ CUST-BALANCE ์ PIC S9(11)V99 COMP-3 ์ PIC S9(13)V99 COMP-3๋ ํฐ ์์ก ๊ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ ์๋ฆฌ ์ ๋ฐ๋๋ฅผ ์ถ๊ฐํ๋ฉด์ ํด๋น ํ๋๋ ํฉํ ์ญ์ง์ ํ์์ผ๋ก 7๋ฐ์ดํธ์์ 8๋ฐ์ดํธ๋ก ํ์ฅ๋ฉ๋๋ค. 50๋ฒ์งธ ๋ฐ์ดํธ ์ดํ์ ๋ชจ๋ ํ๋๋ ํ ์๋ฆฌ์ฉ ์ด๋ํฉ๋๋ค. ETL ํ์ดํ๋ผ์ธ์ด ์ฝ๋ ํ๋ซ ํ์ผ์์ CUST-BALANCE ์ดํ์ ๋ชจ๋ ํ๋๋ ์ด์ ์๋ชป๋ ๋ฐ์ดํธ ์์น์ ์์ต๋๋ค. ETL ํ์ดํ๋ผ์ธ์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค์ง ์๊ณ 51~57๋ฒ์งธ ๋ฐ์ดํธ๋ฅผ CUST-BALANCE๋ก ์ฝ๊ณ ๋ค์ ๋ฐ์ดํธ(์ด์ CUST-BALANCE์ ํ์ฅ๋ ํํ์ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํธ)๋ฅผ CUST-STATUS-CD์ ์ผ๋ถ๋ก ํด์ํฉ๋๋ค. ํ์ดํ๋ผ์ธ์ ์คํ๋ฉ๋๋ค. ์ซ์๋ ์๋ชป๋์์ง๋ง ์คํค๋ง ๋ณ๊ฒฝ ๊ฒฝ๊ณ ๋ ๋ฐ์ํ์ง ์์ต๋๋ค.
์ด๋ ๊ธฐ์ ํ๊ฒฝ์์ ๊ฐ์ฅ ์ํํ ์ ํ์ ์คํค๋ง ๋ณ๊ฒฝ์ ๋๋ค. ๋ ๊ฑฐ์ ์์คํ ์ ๊ตฌ์กฐ์ ๋ณ๊ฒฝ์ด ๊ฐ์ง ๋ฉ์ปค๋์ฆ ์์ด ํ๋ซ ํ์ผ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์กฐ์ฉํ ์ ํ๋๋ ํ์์ ๋๋ค.
๊ธฐ์กด ๊ฒฝ๊ณ์ ๋ณ๋์ ํนํ ์ํํ๊ฒ ๋ง๋๋ ์ธ ๊ฐ์ง ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํด๋น ์คํค๋ง๋ ๊ด์ฐฐ ๋๊ตฌ์์ ๋ณด์ด์ง ์์ต๋๋ค. Monte Carlo๋ VSAM ํ์ผ์ ์ฐ๊ฒฐํ ์ ์๊ณ , Acceldata๋ ํ์ผ ๋์คํฌ๋ฆฝํฐ(FD) ํญ๋ชฉ์ ์กฐํํ ์ ์์ต๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ COBOL ์์ค ์ฝ๋๋ฅผ ์ด์ ๋ฒ์ ๊ณผ ๋น๊ตํ๋ ๊ฒ์ธ๋ฐ, ์ด๋ ๋ฐ์ดํฐ ๋ชจ๋ํฐ๋ง ์์ ์ด ์๋ ์ฝ๋ ๋ถ์ ์์ ์ ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ ์กฐ์ฉํ ์ ํ๋ฉ๋๋ค. ํ๋ซ ํ์ผ ์ธํฐํ์ด์ค๋ ๋ ์ฝ๋ ๊ตฌ์กฐ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ์ง ์๊ณ ๋ฐ์ดํธ๋ฅผ ์ฝ์ต๋๋ค. ๋ฐ์ดํธ ๋ ์ด์์์ด ๋ณ๊ฒฝ๋๋ฉด ์ค๋ฅ๊ฐ ์๋ ์๋ชป๋ ๊ฐ์ด ์์ฑ๋ฉ๋๋ค.
ํ๊ธ ํจ๊ณผ๋ ๊ด๋ฒ์ํฉ๋๋ค. 300๊ฐ์ ํ๋ก๊ทธ๋จ์์ ํฌํจ๋ COBOL ์นดํผ๋ถ์ 300๊ฐ์ ํ๋ก๊ทธ๋จ์ด ๊ณต์ ํ๋ ์คํค๋ง์ ๋๋ค. DDL ALTER TABLE๊ณผ ๊ฐ์ ์นดํผ๋ถ ๋ณ๊ฒฝ์ 300๊ฐ ํ๋ก๊ทธ๋จ ๋ชจ๋์ ๋์์ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์ด 300๊ฐ ํ๋ก๊ทธ๋จ ์ค ์ด๋ ํ๋๋ผ๋ ์์ฑํ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ํ์ ํ๋ก๊ทธ๋จ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ๊ฒ ๋ฉ๋๋ค.
์คํค๋ง ๊ณ์ฝ: ์ผ๋ฐ์ ์ผ๋ก ์๋ฌต์ ์ธ ๊ฒ์ ํ์ํํ๊ธฐ
์คํค๋ง ๋๋ฆฌํํธ์ ๋ํ ๊ตฌ์กฐ์ ํด๊ฒฐ์ฑ ์ ์๋ฌต์ ์ธ ๊ณ์ฝ์ ๋ช ์์ ์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ฆ, ๋ณ๊ฒฝ์ด ๋ฐ์ํ ํ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ ๊ฒ์ด ์๋๋ผ, ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ง๊ธฐ ์ ์ ์คํค๋ง๊ฐ ๋ฌด์์ธ์ง, ๋๊ฐ ์คํค๋ง์ ์์กดํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๋ณ๊ฒฝ์ด ํ์ฉ๋๋์ง๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋๋ค.
| ๊ณ์ฝ ๊ณ์ธต | ๊ดํ ๋ฒ์ | ๋๊ตฌ | ๊ธฐ์กด ์์คํ ๊ณผ ๋์ผ |
|---|---|---|---|
| ๋ฐ์ดํฐ๋ฒ ์ด์ค DDL | ํ ์ด๋ธ ๊ตฌ์กฐ, ์ปฌ๋ผ ์ ํ, ์ ์ฝ ์กฐ๊ฑด | ๋ฆฌํด๋ฒ ์ด์ค, ํ๋ผ์ด์จ์ด, ์ํ๋ผ์ค | DB2 DDL ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ |
| ์ด๋ฒคํธ ์คํค๋ง | Kafka/์ด๋ฒคํธ ์คํธ๋ฆผ ๊ตฌ์กฐ | ์ปจํ๋ฃจ์ธํธ ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ, ์ํผ์ฟ ๋ฆฌ์ค | ํด๋น ์์ (ํ๋ซ ํ์ผ์๋ ๋ ์ง์คํธ๋ฆฌ๊ฐ ์์ต๋๋ค) |
| API ๊ณ์ฝ | REST/gRPC ์ธํฐํ์ด์ค ๊ธฐ๋ ์ฌํญ | ์คํ API, ํฉํธ, ๋น๋๊ธฐ API | ํด๋น ์ฌํญ ์์ (ํ์ผ ์ธํฐํ์ด์ค์ ๋ํ ์ฌ์์ด ์์ต๋๋ค) |
| ๋ฐ์ดํฐ ํ์ง | ๊ฐ์น ๋ถํฌ, ์ ์ ๋, ์ฉ๋ | ์๋ํ ๊ธฐ๋, dbt ํ ์คํธ | ํด๋น ์ฌํญ ์์ (๊ธฐ๋ณธ ํ ์คํธ ํ๋ ์์ํฌ ์์) |
| ํ์ผ ํ์ ๊ณ์ฝ | ํ๋ซ ํ์ผ ๋ฐ์ดํธ ๋ ์ด์์, ํ๋ ์์น | COBOL FD ํญ๋ชฉ(์ง์ค์ ์์ฒ) | ์ฌ๋ณธ ๋ฒ์ ๊ด๋ฆฌ |
๊ธฐ์กด ํญ๋ชฉ์ ํด๋น ์ด์ ์๋ "์นดํผ๋ถ ๋ฒ์ ๊ด๋ฆฌ" ํญ๋ชฉ์ COBOL ์คํค๋ง ์งํ๋ฅผ ๊ด๋ฆฌํ๋ ์ค์ง์ ์ธ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์ฆ, ์นดํผ๋ถ์ ๋ณ๊ฒฝ ์น์ธ ํ๋ก์ธ์ค๊ฐ ์๋ ๋ฒ์ ๊ด๋ฆฌ ์ํฐํฉํธ๋ก ์ทจ๊ธํ๊ณ , ๊ฐ ์นดํผ๋ถ์ด ํฌํจ๋ ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์ ์ ์ง ๊ด๋ฆฌํ๋ฉฐ, ์นดํผ๋ถ ์์ ์ด ์น์ธ๋๊ธฐ ์ ์ ์ํฅ ๋ถ์์ ์๊ตฌํ๋ ๊ฒ์ ๋๋ค.
๊ต์ฌ ๋ณ๊ฒฝ ์น์ธ ์ํฌํ๋ก:
- ๊ฐ๋ฐ์๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํฉ๋๋ค.
CUSTMSTR.CPY - ์ํฅ ๋ถ์์ ๋ค์์ ํฌํจํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์๋ณํฉ๋๋ค.
CUSTMSTR.CPY(์ ์ ๋ถ์) - ํด๋น ํ๋ก๊ทธ๋จ์์ ์์ฑ๋๋ ๋ชจ๋ ํ๋ซ ํ์ผ์ ์คํค๋ง ๋ณ๊ฒฝ ์ด๋ฒคํธ๋ก ์๋ณ๋ฉ๋๋ค.
- ํด๋น ํ๋ซ ํ์ผ์ ์ฌ์ฉํ๋ ๋ชจ๋ ํ์ ์ฌ์ฉ์์๊ฒ ์๋ฆผ์ด ์ ์ก๋ฉ๋๋ค.
- ์๋ก์ด ๋ ์ด์์์ ๋ํ ์๋น์ ๊ฒ์ฆ ํ ์คํธ๊ฐ ์งํ๋ฉ๋๋ค.
- ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ ๋ชจ๋ ์๋น์๊ฐ ํธํ์ฑ์ ํ์ธํ ๊ฒฝ์ฐ์๋ง ์น์ธ๋ฉ๋๋ค.
์ด ์ํฌํ๋ก๋ ๊ธฐ๋ณธ ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์๋ COBOL ๊ณ์ธต์ ์ ์ฉ๋๋ ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ ํธํ์ฑ ๊ฐ์ ํจํด์ ๋ฐ์ํฉ๋๋ค.
๋ถ์ฐ ์คํค๋ง ๋๋ฆฌํํธ ๋ชจ๋ํฐ๋ง ์ํคํ ์ฒ
์๋ฒฝํ ์คํค๋ง ๋๋ฆฌํํธ ๋ชจ๋ํฐ๋ง ์ํคํ ์ฒ๋ ๋ชจ๋ ์์คํ ๊ณ์ธต์ ๊ฑธ์ณ ๋ค ๊ฐ์ง ์ ํ์ ๋๋ฆฌํํธ๋ฅผ ๋ชจ๋ ํฌ๊ดํฉ๋๋ค.
์คํค๋ง ์ค๋ ์ท ๋ฐ์ดํฐ๋ฒ ์ด์ค. ๋ชจ๋ ํ ์ด๋ธ์ INFORMATION_SCHEMA ๋ฉํ๋ฐ์ดํฐ, ๋ฑ๋ก๋ ๋ชจ๋ ์ด๋ฒคํธ ์คํค๋ง ๋ฒ์ , ๋ชจ๋ API ์ฌ์ ๋ฒ์ , ๊ทธ๋ฆฌ๊ณ (๋ ๊ฑฐ์ ์์คํ ์ ๊ฒฝ์ฐ) ๋ชจ๋ ์นดํผ๋ถ ๋ฒ์ ์ ์ค๋ ์ท์ ๋งค์ผ ์ ์ฅํฉ๋๋ค. ์ด ์ค๋ ์ท ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ์ฌ ์ํ๋ฅผ ๋น๊ตํ๋ ๊ธฐ์ค์ ์ญํ ์ ํฉ๋๋ค.
๋ณ๊ฒฝ ๊ฐ์ง ํ์ดํ๋ผ์ธ. ์ค๋ ์ท ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์์ผ๋ก ๋งค์ผ ๋น๊ต ์์ ์ด ์คํ๋์ด ๋ชจ๋ํฐ๋ง๋๋ ๋ชจ๋ ๊ณ์ธต์์ ์ถ๊ฐ, ์ญ์ , ๋ฐ์ดํฐ ์ ํ ๋ณ๊ฒฝ ๋ฐ ์ ์ฝ ์กฐ๊ฑด ๋ณ๊ฒฝ์ ๊ฐ์งํฉ๋๋ค. ์ฌ๊ฐ๋๊ฐ ๋์ ๋ณ๊ฒฝ ์ฌํญ, ํ์ ํธํ์ฑ์ด ์๋ ๋ฐ์ดํฐ ์ ํ ๋ณ๊ฒฝ, ์ด ์ญ์ , ํ์ ํ๋ ์ถ๊ฐ๋ ์ฆ์ ์๋ฆผ์ ๋ฐ์์ํต๋๋ค. ์ฌ๊ฐ๋๊ฐ ๋ฎ์ ๋ณ๊ฒฝ ์ฌํญ, null ํ์ฉ ์ด ์ถ๊ฐ, ์ธ๋ฑ์ค ๋ณ๊ฒฝ์ ๊ถ๊ณ ์๋ฆผ์ ์์ฑํฉ๋๋ค.
์๋น์ ์ํฅ ๋ ์ง์คํธ๋ฆฌ. ๋ชจ๋ ์คํค๋ง ์ํฐํฉํธ๋ฅผ ์๋ ค์ง ์๋น์์ ์ฐ๊ฒฐํ๋ ์นดํ๋ก๊ทธ์ ๋๋ค. ์ด๋ค ํ์ดํ๋ผ์ธ์ด ์ด๋ค ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋์ง, ์ด๋ค ์๋น์ค๊ฐ ์ด๋ค Kafka ํ ํฝ์ ์ฌ์ฉํ๋์ง, ์ด๋ค ETL ์์ ์ด ์ด๋ค ํ๋ซ ํ์ผ์ ์ฒ๋ฆฌํ๋์ง ๋ฑ์ ๊ธฐ๋กํฉ๋๋ค. ์คํค๋ง ๋ณ๊ฒฝ์ด ๊ฐ์ง๋๋ฉด ์๋น์ ์ํฅ ๋ ์ง์คํธ๋ฆฌ๋ ์ํฅ ๋ฒ์, ์ํฅ์ ๋ฐ๋ ์๋น์ ์, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ์๋น์๋ฅผ ํ์ ํฉ๋๋ค.
๊ณ์ฝ ํ ์คํธ ์ค์ํธ. ์์ฐ์ ์คํค๋ง์ ๋ํ ์๋น์ ๊ฐ์ ์ ๊ฒ์ฆํ๋ ์๋ํ๋ ํ ์คํธ์ ๋๋ค. ๋ฐ์ดํฐ ์์ฑ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ๋ฐฐํฌ์์ ์คํ๋ฉ๋๋ค. ๋ฑ๋ก๋ ์๋น์๊ฐ ์์กดํ๋ ๊ณ์ฝ์ด ์๋ฐ๋ ๊ฒฝ์ฐ ๋ฐฐํฌ๋ฅผ ์คํจ ์ฒ๋ฆฌํฉ๋๋ค.
๋ ๊ฑฐ์ ๊ฒฝ๊ณ ๋ชจ๋ํฐ๋ง. ๋ฉ์ธํ๋ ์ ์์คํ ์ ๊ฒฝ์ฐ, ๋ฒ์ ๊ด๋ฆฌ๋๋ ์นดํผ๋ถ ๋น๊ต, JCL ๋ฐ์ดํฐ์ ์ ์ ๋ชจ๋ํฐ๋ง, ๊ทธ๋ฆฌ๊ณ ์์ฑ ํ๋ก๊ทธ๋จ์ ํจ์ ํ์ผ(FD) ํญ๋ชฉ์ ์ ์๋ ์คํค๋ง์ ๋ํ ํ๋ซ ํ์ผ ํ์ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด ๊ณ์ธต์ ๋ฐ์ดํฐ ๋ชจ๋ํฐ๋ง๋ณด๋ค๋ ์ฝ๋ ๋ถ์์ ํ์๋ก ํ๋ฉฐ, ํ์ ์์คํ ์ฌ์ฉ์์๊ฒ ์คํค๋ง ๋ณ๊ฒฝ์ ์ด๋ํ๋ COBOL ์์ค ์ฝ๋์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํฉ๋๋ค.
์ ๊ธฐ์ ์ธ ๋ชจ๋ํฐ๋ง์ ๋ง์ ํ์ด ์๊ฐํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ค์ํฉ๋๋ค. Acceldata์ ์ ๊ธฐ์ ์ธ ๋๋ฆฌํํธ ๋ถ์ ์ง์นจ์์๋ ์์ ์ ์ธ ๊ธฐ์ค์ ๊ณผ์ ์๋ ๋น๊ต๋ฅผ ์ฃผ๊ฐ ๋๋ ๊ฒฉ์ฃผ ์ฃผ๊ธฐ๋ก ์ํํ ๊ฒ์ ๊ถ์ฅํ๋ฉฐ, ์ค๋ฅ ๋ฐ์ ํ ์์ ์ ๊ฒ์ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ๋ถ์ถฉ๋ถํ๋ค๊ณ ๋ช ์์ ์ผ๋ก ์ง์ ํฉ๋๋ค. ํนํ ๋ ๊ฑฐ์ ๊ฒฝ๊ณ ๋ชจ๋ํฐ๋ง์ ๊ฒฝ์ฐ, ๋ชจ๋ํฐ๋ง ์ฃผ๊ธฐ๋ COBOL ๋ฐฐํฌ ์ผ์ ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค. ํ๋ก๋์ ํ๊ฒฝ์ ์นดํผ๋ถ ๋ฆด๋ฆฌ์ค๊ฐ ๋ฐ์ํ๋ฉด ๋ค์ ์ ๊ธฐ ๋น๊ต๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฆ์ ์คํค๋ง ์ํฅ ๋ถ์์ ์ํํด์ผ ํฉ๋๋ค.
๋ฐฉ๋ฒ SMART TS XL ๊ธฐ์กด ํ๊ฒฝ์์ ๋ฐ์ํ๋ ์คํค๋ง ๋ณ๊ฒฝ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
SMART TS XL ์ด ์๋ฃจ์ ์ ์ต์ ๊ด์ฐฐ ๋๊ตฌ๊ฐ ์๋ํ์ง ์๋ ๋ ๊ฑฐ์ ์์คํ ๊ฒฝ๊ณ, ์ฆ ๊ฐ์ฅ ์ํํ ์คํค๋ง ๋ณ๊ฒฝ์ด ๊ฐ์ง๋์ง ์๋ ๊ณ์ธต์์์ ํ์ง ๊ฒฉ์ฐจ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
์ ์ ์ฝ๋ ๋ถ์ ๊ธฐ๋ฅ์ ๋ชจ๋ COBOL ํจ์ ํ๋ ํญ๋ชฉ, COPY ๋ฉค๋ฒ ๋ฐ SELECT ์ ์ ๊ตฌ๋ฌธ ๋ถ์ํ์ฌ ๋ ๊ฑฐ์ ํ๊ฒฝ์ ๋ชจ๋ ์คํค๋ง ์ํฐํฉํธ์ ๋ํ ๊ตฌ์กฐํ๋ ํํ์ ์์ฑํฉ๋๋ค. ์ด ๋ถ์์ ๋ฐฐํฌ ์ ํ์ ๋ ๋ฒ์ ์ ์ฝ๋๋ฒ ์ด์ค์ ๋ํด ์คํํ๋ฉด ์ฐจ์ด์ ์ด ๋ ๊ฑฐ์ ์คํค๋ง ๋ณ๊ฒฝ ๋ก๊ทธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ฆ, ์ด๋ค ์นดํผ๋ถ์ด ๋ณ๊ฒฝ๋์๋์ง, ์ด๋ค ํ๋ ์ ์๊ฐ ๋ณ๊ฒฝ๋์๋์ง, ๋ฐฐํฌ ์ ํ์ ๋ ์ด์์์ด ์ด๋ป๊ฒ ๋ฌ๋ผ์ก๋์ง ๋ฑ์ ํ์ ํ ์ ์์ต๋๋ค. ์ด๋ COBOL ๊ณ์ธต์ ์ ์ฉ๋ ์คํค๋ง ์ค๋ ์ท ๋น๊ต์ ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ข ์์ฑ ๋งคํ์ ๋ ๊ฑฐ์ ์คํค๋ง์ ๋ํ ์๋น์ ์ํฅ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฆ, ์ด๋ค ํ๋ก๊ทธ๋จ์ด ๊ฐ ์นดํผ๋ถ์ ํฌํจํ๋์ง, ์ด๋ค ํ๋ก๊ทธ๋จ์ด ์ด๋ค ํ๋ซ ํ์ผ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์ฑํ๋์ง, ์ด๋ค JCL ์์ ์ด ์ด๋ค ํ๋ก๊ทธ๋จ์ ํธ์ถํ๋์ง ๋ฑ์ ํ์ ํฉ๋๋ค. ์คํค๋ง ๋ณ๊ฒฝ ๋ก๊ทธ์์ ์์ ๋ ์นดํผ๋ถ์ด ์๋ณ๋๋ฉด ์ข ์์ฑ ๋งต์ ์ฆ์ ์๋น์ ๋ชฉ๋ก, ํด๋น ์นดํผ๋ถ์ ํฌํจํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ, ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ํ๋ก๊ทธ๋จ๋ค์ด ์์ฑํ๋ ๋ชจ๋ ๋ค์ด์คํธ๋ฆผ ํ๋ซ ํ์ผ์ ์์ฑํฉ๋๋ค. ์ด๋ ์นดํผ๋ถ ๋ณ๊ฒฝ์ด ์ํ๋๊ฐ ๋ฎ์ ๋ด๋ถ ์์ ์ธ์ง, ์๋๋ฉด ์๋ฐฑ ๊ฐ์ ํ๋ก๊ทธ๋จ๊ณผ ์์ญ ๊ฐ์ ๋ค์ด์คํธ๋ฆผ ์๋น์์ ์ํฅ์ ๋ฏธ์น๋ ๊ณ ์ํ ์ด๋ฒคํธ์ธ์ง๋ฅผ ํ๋จํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๊ธ ํจ๊ณผ ๋ฒ์ ๊ณ์ฐ ๋ฐฉ์์ ๋๋ค.
์ํฅ ๋ถ์ ๊ธฐ๋ฅ์ ์ํฅ ๋ฒ์๋ฅผ ๊ตฌ์กฐํ๋ ์์ ๋ฒ์๋ก ๋ณํํฉ๋๋ค. ์ข ์์ฑ ๋งต์์ ์๋ณ๋ ๊ฐ ์๋น์์ ๋ํด ์ ์คํค๋ง๋ฅผ ์์ฉํ๊ธฐ ์ํด ํ์ํ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํด์ผ ํ๋ ์์๋ฅผ ํ์ ํฉ๋๋ค. ๊ธฐ์กด ์์คํ ์์ ์ต์ ์์คํ ์ผ๋ก ์ ํํ๋ ๊ฒฝ๊ณ ์๋น์, ์ฆ COBOL ํ๋ก๊ทธ๋จ์์ ์์ฑ๋ ํ๋ซ ํ์ผ์ ์ฝ๋ ETL ํ์ดํ๋ผ์ธ์ ๊ฒฝ์ฐ, ์ํฅ ๋ถ์์ ํตํด ETL ํ์ดํ๋ผ์ธ์ ์ด ๋งคํ ๊ตฌ์ฑ์ ์ ๋ฐ์ดํธํ์ฌ ๋ฐ์ํด์ผ ํ๋ ํน์ ํ๋ ์์น ๋ณ๊ฒฝ ๋ฐ ๋ฐ์ดํฐ ์ ํ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ณํฉ๋๋ค.
์ํฐํ๋ผ์ด์ฆ ๊ฒ์ ๊ธฐ๋ฅ์ ํตํด ์คํค๋ง ์ํฐํฉํธ ๊ฒ์์ด ๊ฐ๋ฅํฉ๋๋ค. ํน์ ๋ฐ์ดํธ ์์น์ ํ๋๋ฅผ ์ฝ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ(๋ ์ด์์ ๋ณ๊ฒฝ์ ์ํฅ์ ๋ฐ๋ ์๋น์ ์๋ณ), ํน์ ํ๋๋ฅผ ์ ์ํ๋ ๋ชจ๋ ์นดํผ๋ถ(๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ณ๊ฒฝ ์ ์ด๊ฐ ํ์ํ ์คํค๋ง ์ํฐํฉํธ ์๋ณ), ํน์ ๋ฐ์ดํฐ ์ธํธ์ ์ถ๋ ฅ์ ์์ฑํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ(์คํค๋ง ๋ณ๊ฒฝ ์ ์๋น์ ์๋ฆผ์ ํธ๋ฆฌ๊ฑฐํด์ผ ํ๋ ์์ฐ์ ์๋ณ) ๋ฑ์ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ด ๊ฒ์ ๊ธฐ๋ฅ์ ์ฌ์ ์๋ฐฉ์ ์คํค๋ง ๊ด๋ฆฌ ์ํฌํ๋ก์ ์คํค๋ง ๋ณ๊ฒฝ ํ ์ฌํ ์กฐ์ฌ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
๊ด๋ฆฌํ๋ ์กฐ์ง์ ๊ฒฝ์ฐ ๋ ๊ฑฐ์ ํ๋ํ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ์ต์ ํ๋ซํผ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ฒ์ ํฌํจํ๋ ํ๋ก๊ทธ๋จ, SMART TS XL์คํค๋ง ๋ถ์์ ๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ์ ํ์ํ ์์ค ์คํค๋ง ๋ฌธ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ฐ์ดํฐ๊ฐ ์ค์ ๋ก ๋ฌด์์ธ์ง ์ ์ํ๋ ์์ ํ๊ณ ์ต์ ์ ํจ์ ํ์ผ ํญ๋ชฉ ์ ์ ๋ฐ ์นดํผ๋ถ ๊ตฌ์กฐ๋ฅผ ํฌํจํฉ๋๋ค. ์ด๋ ์ต์ด ๋ง์ด๊ทธ๋ ์ด์ ์ฌ์์ด ์์ฑ๋์์ ๋น์์ ๋ฐ์ดํฐ ์ํ๋ง์ด ์๋๋๋ค.
์๋ฌด๋ ์์ฑํ์ง ์์ ๊ณ์ฝ๋ ์ฌ์ ํ ๊ณ์ฝ์ด๋ค
๋ถ์ฐ ์์คํ ์์ ์คํค๋ง ๋๋ฆฌํํธ๋ ์๋ก์ด ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์ด๋ ์ค๋๋ ๋ฌธ์ ์ด๋ฉฐ, ๋ถ์ฐ ์ํคํ ์ฒ๋ก ์ธํด ํด๊ฒฐํ๊ธฐ๊ฐ ๋์ฑ ์ด๋ ค์์ก์ต๋๋ค. ๋จ์ผ ์์คํ ์์ ์คํค๋ง ๊ณ์ฝ์ ๊ฐ์ ํ๋ ์ค์ DBA, ๋จ์ผ ์ ํ๋ฆฌ์ผ์ด์ ํ, ํตํฉ๋ ์ฝ๋๋ฒ ์ด์ค์ ๊ฐ์ ๊ถํ์ด ์์ญ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์๋น์ค์ ๋ถ์ฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฐ ์๋น์ค๋ ํ์ ์์คํ ์ ์ฒด์ ๋ํ ์์ ํ ๊ฐ์์ฑ ์์ด ๊ฐ๋ณ์ ์ผ๋ก ํฉ๋ฆฌ์ ์ธ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค.
ํด๊ฒฐ์ฑ ์ ์คํค๋ง์ ๋ํ ๊ถํ์ ๋ค์ ์ค์์ง๊ถํํ๋ ๊ฒ์ด ์๋๋๋ค. ์๋ฌต์ ์ธ ๊ณ์ฝ์ ๋ช ์์ ์ผ๋ก ๋ง๋ค๊ณ , ํ์ฌ ์ํ๋ฅผ ๊ธฐ์ค์ ๊ณผ ๋น๊ตํ ์ ์๋ ์์คํ ์ ๋ฑ๋กํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ด ๋์ ๋๋ ๊ฒฝ๊ณ์์ ํธํ์ฑ ๊ท์น์ ์ ์ฉํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ด ์ ํ๋๋ ๊ฒฝ๊ณ์์ ์๋ฐ ์ฌํญ์ ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ ๋๋ค. ์ต์ ์์คํ ์ ๊ฒฝ์ฐ ์ด๋ฅผ ์ํ ๋๊ตฌ๊ฐ ์กด์ฌํ๋ฉฐ ๋น ๋ฅด๊ฒ ๊ฐ์ ๋๊ณ ์์ต๋๋ค. ํ์ง๋ง ์ต์ ํ๋ซํผ๊ณผ ์ ํ๋ ๋ ๊ฑฐ์ ์์คํ ์ ๊ฒฝ์ฐ, ๋๊ตฌ ๊ฒฉ์ฐจ๊ฐ ์ฌ๊ฐํ๋ฉฐ, ํด๋ผ์ฐ๋ ETL ํ์ดํ๋ผ์ธ์ ์คํค๋ง ๊ณ์ฝ์ธ ํ๋ซ ํ์ผ ํ์์ ์ด๋ฅผ ์ ์ํ๋ COBOL ์์ค ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ ์คํค๋ง ์ํฐํฉํธ๋ก ๋ฒ์ ๊ด๋ฆฌํ์ง ์๋ ํ ๋ชจ๋ ์ต์ ๊ด์ฐฐ ๋๊ตฌ์์ ์ธ์๋์ง ์์ต๋๋ค.
๊ณ ๊ฐ ํ๋ณด์จ์ด 23% ๊ฐ์ํ๋ค๊ณ ํ์ํ ๋์๋ณด๋๋ ์์ ํ ๋ฐ์ดํฐ ์์ฒด์๋ ์ค๋ฅ๊ฐ ์์์ต๋๋ค. ๋ฌธ์ ๋ ๋ฐ์ดํฐ์ ์๋ฏธ๋ฅผ ์๋ชป ํด์ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ์ ์๋ฏธ๋ฅผ ์ ์ํ๋ ์คํค๋ง๊ฐ ๊ณ์ฝ์ด ๋ฑ๋ก๋์ง ์๊ณ ๋ชจ๋ํฐ๋ง ๋์์ด ์๋ ๊ฒฝ๊ณ์ ์์ ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ถ์ฐ ์์คํ , ๋ ๊ฑฐ์ ์์คํ ์ด๋ ์ต์ ์์คํ ์ด๋ , ๋ฐ๋ก ๊ทธ ๊ฒฝ๊ณ์ ์ด ์คํค๋ง ๋ณ๊ฒฝ ๊ฐ์ง ํ๋ก๊ทธ๋จ์ด ๋๋ฌํด์ผ ํ ์ง์ ์ ๋๋ค.


