๋ง์ ๋๊ธฐ์ ๋ค์ด ๋ฐฉ๋ํ ์์ ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ์ํฌ๋ก๋๋ฅผ ์ด์ํ๊ธฐ ์ํด ์ฌ์ ํ ๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์์ ์์กดํ๊ณ ์์ต๋๋ค. ์์ญ ๋ ๊ฐ์ ํฌ์ ๋๋ถ์ ์ด๋ฌํ ์์คํ ์ ์์ ์ฑ๊ณผ ๋ณด์์ฑ์ ๊ฐ์ถ์์ผ๋ฉฐ ํต์ฌ ๋น์ฆ๋์ค ์ด์์ ๊น์ด ํตํฉ๋์์ต๋๋ค. ํ์ง๋ง ๋์์ ๊ธฐ์ ๋ค์ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์ต์ ๋ถ์, AI ์ด๋์ ํฐ๋ธ, ๊ทธ๋ฆฌ๊ณ ์ค์๊ฐ ์์ฌ ๊ฒฐ์ ์ ํ์ฉํด์ผ ํ๋ค๋ ์๋ฐ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค.
์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ๋ค์ํ ์์ค์ ๋ฐ์ดํฐ๋ฅผ ์ค์ ์ง์คํํ๋ ์ ์ฐํ๊ณ ๋น์ฉ ํจ์จ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ์คํค๋ง ์จ ๋ฆฌ๋(Schema-on-Read) ์ ๊ทผ์ ์ง์ํ๊ณ , ํ์ฅ ๊ฐ๋ฅํ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง๋ฅผ ์ง์ํ๋ฉฐ, ๊ฐ๋ ฅํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ถ์ ์๋น์ค์ ํตํฉ๋ฉ๋๋ค. ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ํตํฉํ๋ ๊ธฐ๋ฅ์ ๊ธฐ์กด ๋ฐ์ดํฐ ์ฌ์ผ๋ก๋ฅผ ํด์ํ๊ณ , ๊ณ ๊ธ ๋ถ์ ๋ชจ๋ธ์ ์ง์ํ๋ฉฐ, ๋ฐ์ดํฐ ๊ณผํ์์ ๋น์ฆ๋์ค ์ฌ์ฉ์ ๋ชจ๋์๊ฒ ์ ํ ์๋น์ค ์ ๊ทผ์ ์ ๊ณตํจ์ผ๋ก์จ ์๋ก์ด ๊ฐ์น๋ฅผ ์ฐฝ์ถํ ์ ์์ต๋๋ค.
ํ์ง๋ง ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ํตํฉํ๋ ๊ฒ์ ๊ฒฐ์ฝ ๊ฐ๋จํ ์ผ์ด ์๋๋๋ค. ๋ ๊ฑฐ์ ์์คํ ์ผ๋ฐ์ ์ผ๋ก VSAM, IMS ๋๋ DB2์ ๊ฐ์ ๋ ์ ์ ์ธ ์ ์ฅ ํ์์ COBOL ์นดํผ๋ถ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ฉฐ, ASCII ๋๋ UTF-8 ๋์ EBCDIC์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ผ๊ด ์ฒ๋ฆฌ ์ค์ฌ ์ฒ๋ฆฌ ๋ชจ๋ธ์ ์คํธ๋ฆฌ๋ฐ ์ํคํ ์ฒ ๋ฐ ์ค์๊ฐ ๋ถ์ ์๊ตฌ ์ฌํญ๊ณผ ์กฐํ๋ฅผ ์ด๋ฃจ์ด์ผ ํฉ๋๋ค. ๋ณด์, ๊ท์ ์ค์ ๋ฐ ๋ฐ์ดํฐ ๊ณ๋ณด ๊ณ ๋ ค ์ฌํญ์ ๋ณต์ก์ฑ์ ๊ฐ์ค์์ผ ์ ์คํ ๊ณํ๊ณผ ๊ฐ๋ ฅํ ๊ฑฐ๋ฒ๋์ค ๋ชจ๋ธ์ ์๊ตฌํฉ๋๋ค.
์ด๋ฌํ ํ๊ฒฝ์ ์ฐ๊ฒฐํ๋ ค๋ ์กฐ์ง์ ํตํฉ ํจํด, ๊ธฐ์ ์ ํ ๋ฐ ์ด์ ์๊ตฌ ์ฌํญ์ ๋ํ ์ค์ํ ์ค๊ณ ๊ฒฐ์ ์ ์ง๋ฉดํฉ๋๋ค. ๋๋ ETL ์์ ๋ถํฐ ๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ ๋ฐ API ๊ธฐ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ฅ๋จ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์จ์ด ์์๋ณต์ก์ฑ, ๋น์ฉ ๋ฑ์ด ์์ต๋๋ค. ์ ์ ํ ์ ๋ต์ ์ ํํ๋ ๊ฒ์ ์ํฌ๋ก๋ ํน์ฑ, ๋ฐ์ดํฐ ์ต์ ์ฑ ์๊ตฌ ์ฌํญ, ๊ท์ ์ ์ฝ ๋ฑ์ ์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ฑ๊ณต์ ์ธ ํตํฉ ๋ ธ๋ ฅ์ ๋น์ฆ๋์ค ๋ชฉํ๋ฅผ ๊ธฐ์ ์ํคํ ์ฒ์ ๋ง์ถ๊ณ , ๋ชฉ์ ์ ๋ง๋ ๋๊ตฌ์ ํ๋ซํผ์ ํ์ฉํ๋ฉฐ, ๋ฐ๋ณต ๊ฐ๋ฅํ ์ด์ ๋ฐฉ์์ ํ๋ฆฝํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ๊ธฐ์กด ์์คํ ์ด ์ค์ํ ํธ๋์ญ์ ๊ธฐ๋ฅ์ ์ง์์ ์ผ๋ก ์ ๊ณตํ๋ ๋์์ ์ต์ ์ ํ์ฅ ๊ฐ๋ฅํ ๋ถ์ ํ๋ซํผ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ํ์ด๋ธ๋ฆฌ๋ ํ๊ฒฝ์ด ๊ตฌ์ถ๋ฉ๋๋ค.
๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์ ์ดํด
๋ฉ์ธํ๋ ์์ ์์ญ ๋ ๋์ ๊ธฐ์ ์ปดํจํ ์ ์ค์ถ ์ญํ ์ ํด์์ต๋๋ค. ์์ ์ฑ, ํ์ฅ์ฑ, ๊ทธ๋ฆฌ๊ณ ๋์ฉ๋ ํธ๋์ญ์ ์ํฌ๋ก๋ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ผ๋ก ์ ๋ช ํ์ฌ ์ํ, ๋ณดํ, ์๋ฃ, ์ ๋ถ ๋ฑ์ ์ฐ์ ์ ํ์์ ์ ๋๋ค.
์ด๋ฌํ ์์คํ ์ IBM z/OS๋ Unisys์ ๊ฐ์ ์ฑ์ํ ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ, ์๋ ๊ฐ ๊ฐ๋ฐ๋ ๊ณ ๋๋ก ์ต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ์์คํ ์ ์ด์์ ํน์ง์ผ๋ก๋ ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ, ๊ฐ๋ ฅํ ๋ณด์, ๊ทธ๋ฆฌ๊ณ ๊ด๋ฒ์ํ ๊ฐ์ฌ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์์ ์ฑ์๋ ๋ถ๊ตฌํ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์ต์ ์ํคํ ์ฒ์ ํตํฉํ๊ธฐ ์ด๋ ค์ธ ์ ์๋ ์ค๋๋ ์ค๊ณ ํจํด์ ์ฌ์ฉํฉ๋๋ค.
๋ฉ์ธํ๋ ์์ ๋ฐ์ดํฐ๋ ๋ ์ ํ์์ด๋ ๋ ๊ฑฐ์ ํ์์ผ๋ก ์ ์ฅ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ผ๋ฐ์ ์ธ ์ ์ฅ ๋ฉ์ปค๋์ฆ์ผ๋ก๋ VSAM ๋ฐ์ดํฐ ์ธํธ, IMS ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, DB2 ๊ด๊ณํ ํ ์ด๋ธ ๋ฑ์ด ์์ต๋๋ค. ์ด๋ฌํ ์์คํ ์ค ๋ค์๋ COBOL ์นดํผ๋ถ์ ์ฌ์ฉํ์ฌ ๋ณต์กํ ๋ ์ฝ๋ ๋ ์ด์์์ ์ ์ํ๋ฉฐ, ๋ฐ์ดํฐ๋ ๋๋ถ๋ถ์ ์ต์ ์์คํ ์์ ์ฌ์ฉํ๋ ASCII ๋๋ UTF-8 ํ์ค์ด ์๋ EBCDIC์ผ๋ก ์ธ์ฝ๋ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์ด์ ์ธก๋ฉด์์ ๋ฉ์ธํ๋ ์์ ์ผ๊ด ์ฒ๋ฆฌ์ ํฌ๊ฒ ์ค์ ์ ๋ก๋๋ค. ์ผ๊ฐ ๋๋ ์์ฝ๋ ์ผ๊ด ์์ ์ ์ค๋ซ๋์ ์ ํด์ง ์ผ์ ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถ, ๋ณํ ๋ฐ ๋ก๋ํฉ๋๋ค. ์ผ๋ถ ๋ฉ์ธํ๋ ์์ ์จ๋ผ์ธ ํธ๋์ญ์ ์ฒ๋ฆฌ(OLTP) ๋ฐ ๋ฉ์์ง ํ ๊ธฐ๋ฐ ํตํฉ๋ ์ง์ํ์ง๋ง, ์ฃผ๋ ํตํฉ ํจ๋ฌ๋ค์์ ์ฌ์ ํ โโ์ผ๊ด ์ฒ๋ฆฌ ์ค์ฌ์ ๋๋ค.
์ด๋ฌํ ํ๊ฒฝ์ ๊ฒฌ๊ณ ํ์ง๋ง, ์ ์ฐํ ์คํค๋ง ์จ ๋ฆฌ๋(Schema-on-Read) ์ก์ธ์ค, ๋ถ์ฐ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง, ์ค์๊ฐ ๋ถ์์ ๊ฐ์กฐํ๋ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ํตํฉํ ๋ ์๋นํ ์ด๋ ค์์ ์ผ๊ธฐํฉ๋๋ค. ํตํฉ ์์ ์ ์๋ํ๊ธฐ ์ ์ ๊ธฐ๋ณธ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ด์ ๋ชจ๋ธ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ฑ๊ณต์ ์ธ ์ ๋ต์ ์ํด์๋ ์ ์คํ ๋ฐ์ดํฐ ๋งคํ, ๋ณํ ๋ฐ ์ค์ผ์คํธ๋ ์ด์ ์ ํตํด ์ด๋ฌํ ์ฐจ์ด์ ์ ํด๊ฒฐํ๊ณ , ๊ธฐ์กด ์์คํ ์ด ์ต์ ๋ถ์ ํ๋ซํผ๊ณผ ์์ ์ ์ด๊ณ ์์ ํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ ์ํคํ ์ฒ
์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ฅผ ํ์ฅ ๊ฐ๋ฅํ ๋จ์ผ ์ ์ฅ์๋ก ํตํฉํ์ฌ ๊ด๋ฒ์ํ ๋ถ์ ๋ฐ ์ด์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ง์ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์๊ฒฉํ ์คํค๋ง ์จ ๋ผ์ดํธ(schema-on-write) ์๊ตฌ ์ฌํญ์ ์ ์ฉํ๋ ๊ธฐ์กด ๋ฐ์ดํฐ์จ์ดํ์ฐ์ค์ ๋ฌ๋ฆฌ, ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์คํค๋ง ์จ ๋ฆฌ๋(schema-on-read) ์์น์ ์ฑํํฉ๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ํตํด ์์ ๋ฐ์ดํฐ๋ฅผ ์๋ ํํ๋ก ์์งํ๊ณ ์ฟผ๋ฆฌ ์์ ์ ์ ์ฐํ๊ฒ ํด์ํ ์ ์์ด ์ ์ํ ์คํ์ด ๊ฐ๋ฅํ๊ณ ๋ณํํ๋ ๋ถ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ๋ฐ์ดํฐ ๋ ์ดํฌ ์ํคํ ์ฒ์ ํต์ฌ์ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง์ ๋๋ค. ๊ฐ์ฒด ์คํ ๋ฆฌ์ง๋ ์ ํ, ๋ฐ์ ํ, ๋น์ ํ ๋ฐ์ดํฐ์ ๋ํด ์ฌ์ค์ ๋ฌด์ ํ์ ์ธ ํ์ฅ์ฑ๊ณผ ๋น์ฉ ํจ์จ์ ์ธ ์คํ ๋ฆฌ์ง๋ฅผ ์ ๊ณตํฉ๋๋ค. Amazon S3, Azure Data Lake Storage, Google Cloud Storage, ๊ทธ๋ฆฌ๊ณ Hadoop ๋ถ์ฐ ํ์ผ ์์คํ (HDFS)๊ณผ ๊ฐ์ ์จํ๋ ๋ฏธ์ค ์๋ฃจ์ ์ด ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฌํ ์์คํ ์ ๋์ ๋ด๊ตฌ์ฑ๊ณผ ์ ๋น์ฉ ๋ณด๊ด์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ, ๋๊ท๋ชจ ์์ง ๋ฐ ๊ฒ์ ํจํด์ ์ง์ํฉ๋๋ค.
๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์ผ๋ฐ์ ์ผ๋ก Parquet, ORC, Avro์ ๊ฐ์ ์ต์ ๋ฐ์ดํฐ ํ์์ ์ฑํํฉ๋๋ค. ์ด๋ฌํ ์ปฌ๋ผ ๊ธฐ๋ฐ ํ์์ ํนํ ๋ถ์ ์ํฌ๋ก๋์์ ํจ์จ์ ์ธ ์ ์ฅ ๋ฐ ๊ฒ์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ๋ํ ๊ณ ๊ธ ์์ถ ๊ธฐ์ ๊ณผ ์กฐ๊ฑด์ ํธ์๋ค์ด์ ์ง์ํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํค๊ณ ์ ์ฅ ๋น์ฉ์ ์ ๊ฐํฉ๋๋ค.
๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ ๋ฐ์ดํฐ ๋ ์ดํฌ ์ค๊ณ์ ํต์ฌ ๊ตฌ์ฑ ์์์ ๋๋ค. AWS Glue Data Catalog, Azure Purview ๋๋ Apache Hive Metastore์ ๊ฐ์ ์คํ ์์ค ์๋ฃจ์ ์ ์ค์ ์ง์ค์ ์คํค๋ง ์ ์, ๋ฐ์ดํฐ ๊ณ๋ณด ์ถ์ ๋ฐ ๊ฑฐ๋ฒ๋์ค ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด ๋ฉํ๋ฐ์ดํฐ ๊ณ์ธต์ ํตํด ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๊ณ , ์ก์ธ์ค ์ ์ฑ ์ ์ ์ฉํ๊ณ , ์ฌ์ฉ์์ ๋ถ์ ๋๊ตฌ์ ์ผ๊ด๋ ๋ทฐ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ฒ๋ฆฌ ํ๋ ์์ํฌ์์ ํตํฉ์ ๋ ๋ค๋ฅธ ์ค์ํ ํน์ง์ ๋๋ค. ๋ฐ์ดํฐ ๋ ์ดํฌ๋ Apache Spark, AWS Athena, Azure Synapse, Google BigQuery์ ๊ฐ์ ๋ถ์ฐ ์ปดํจํ ์์ง์ ๊ธฐ๋ฐ์ด ๋ฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ฅผ ํตํด ๋ฐ์ดํฐ ๊ณผํ์์ ๋ถ์๊ฐ๋ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ , ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ตฌ์ถํ๊ณ , ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์๊ฐ ๋์๋ณด๋๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๊ธฐ์ ๋ค์ด ๋ฐ์ดํฐ ์ํคํ ์ฒ๋ฅผ ํ๋ํํ๊ณ ์ ๋ ธ๋ ฅํจ์ ๋ฐ๋ผ, ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์ฌ์ผ๋ก๋ฅผ ํด์ํ๊ณ , ์ ๊ทผ์ฑ์ ํ๋ํ๋ฉฐ, ๊ณ ๊ธ ๋ถ์ ์ญ๋์ ๊ทน๋ํํ๋ ์ ๋ต์ ์ง์ ์๋จ์ผ๋ก ๋ถ์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๋น์ ์ ์คํํ๋ ค๋ฉด ๋ฉ์ธํ๋ ์์ ํฌํจํ ๊ธฐ์กด ์์คํ ์ ํตํฉํ์ฌ ๋ฐ์ดํฐ ํ์ง, ๊ณ๋ณด ๋ฐ ๋ณด์์ ์ ์งํ๋ฉด์๋ ์ต์ ์ฒ๋ฆฌ ๋ฐ ๋ถ์ ๋๊ตฌ์์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ด์ผ ํฉ๋๋ค.
ํตํฉ ๋ฌธ์
๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์ ์์คํ ๊ณผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ํตํฉํ๋ ๊ฒ์ ๊ธฐ์ ์ ๋ฐ ์กฐ์ง์ ๊ณผ์ ์ ๋ํ ๋ฉด๋ฐํ ๋ถ์์ ์๊ตฌํ๋ ๋ณต์กํ ์์ ์ ๋๋ค. ์ด๋ฌํ ๊ณผ์ ๋ ๋ฐ์ดํฐ ํ์, ์ฒ๋ฆฌ ํจ๋ฌ๋ค์, ๋ณด์ ๋ชจ๋ธ ๋ฐ ์ด์์ ๊ธฐ๋์น์ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด์์ ๋น๋กฏ๋ฉ๋๋ค.
์ฃผ์ ๊ธฐ์ ์ ์ฅ์ ๋ฌผ ์ค ํ๋๋ ๋ฐ์ดํฐ ํ์ ๋นํธํ์ฑ์ ๋๋ค. ๋ฉ์ธํ๋ ์์ ์ข ์ข VSAM ํ์ผ, IMS ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ COBOL ์นดํผ๋ถ ์ ์๊ฐ ํฌํจ๋ DB2 ํ ์ด๋ธ๊ณผ ๊ฐ์ ๋ ์ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ์ด๋ฌํ ๋ ์ฝ๋ ๋ ์ด์์์ Parquet์ด๋ ORC์ ๊ฐ์ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ ํ์๊ณผ ๊ธฐ๋ณธ์ ์ผ๋ก ํธํ๋์ง ์์ต๋๋ค. ๋ํ, ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ผ๋ก EBCDIC์ผ๋ก ์ธ์ฝ๋ฉ๋์ด ์ต์ ๋๊ตฌ ๋ฐ ํ๋ซํผ๊ณผ์ ์ํธ ์ด์ฉ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ASCII ๋๋ UTF-8๋ก ๋ณํํด์ผ ํฉ๋๋ค.
๋ฐฐ์น ํตํฉ๊ณผ ์คํธ๋ฆฌ๋ฐ ํตํฉ ํจ๋ฌ๋ค์์ ๋ ๋ค๋ฅธ ์ค์ํ ๊ณผ์ ๋ฅผ ์๊ฒจ์ค๋๋ค. ๋ฉ์ธํ๋ ์์ ์ ํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ด๋ณด๋ด๊ธฐ ์ํด ์ข ์ข ๋ฐค์๋๋ก ์คํ๋๋ ์์ฝ๋ ๋ฐฐ์น ์์ ์ ์์กดํฉ๋๋ค. ๋ฐฐ์น ์ฃผ๊ธฐ๋ ๋ง์ ์ด์ ์ํฌ๋ก๋์ ํจ๊ณผ์ ์ด์ง๋ง, ์ต์ ์ค์๊ฐ ๋ถ์ ๋๋ ๋จธ์ ๋ฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ฉ๋ฉํ ์ ์๋ ์ง์ฐ ์๊ฐ์ ๋ฐ์์ํฌ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฉ์ฐจ๋ฅผ ํด์ํ๋ ค๋ฉด ๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ(CDC) ๋๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์คํธ๋ฆฌ๋ฐ ์ํคํ ์ฒ๋ฅผ ์ง์ํ๊ธฐ ์ํ ํตํฉ ํจํด์ ์ฌ๊ณ ํด์ผ ํฉ๋๋ค.
๋ณด์ ๋ฐ ๊ท์ ์ค์ ๊ณ ๋ ค ์ฌํญ์ ๋ณต์ก์ฑ์ ๊ฐ์ค์ํต๋๋ค. ๋ฉ์ธํ๋ ์์ ์ ๋ขฐํ ์ ์๋ ๊ธฐ๋ก ์์คํ ์ผ๋ก, GDPR, HIPAA, SOX์ ๊ฐ์ ์๊ฒฉํ ๊ท์ ๋์์ธ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ํตํฉ ์์ ์์๋ ๋ฐ์ดํฐ๊ฐ ์ ์ก ์ค ๋ฐ ์ ์ฅ ์ค์ ์ํธํ๋๊ณ , IAM ์ ์ฑ ์ ํตํด ์ก์ธ์ค๊ฐ ์ ์ ํ๊ฒ ๊ด๋ฆฌ๋๋ฉฐ, ๊ท์ ์ค์๋ฅผ ์ํด ๊ฐ์ฌ ์ถ์ ๋ฐ ๊ณ๋ณด๊ฐ ๋ณด์กด๋๋๋ก ํด์ผ ํฉ๋๋ค. ๋ณด์ ์นจํด๋ ์๋ชป๋ ๊ตฌ์ฑ์ ์กฐ์ง์ ์ฌ๊ฐํ ๋ฒ์ ์ํ ๋ฐ ํํ ์ํ์ ๋ ธ์ถ์ํฌ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ํ์ง ๋ฐ ๊ณ๋ณด ์๊ฑด ๋ํ ํตํฉ ํ๋ก์ ํธ๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ญ๋๋ค. ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ๋งค์ฐ ๋ณต์กํ ์ ์์ผ๋ฉฐ, ๋ฐ์ง๋๊ณ ์ค์ฒฉ๋ ๋ ์ฝ๋ ๋ ์ด์์๊ณผ ์ ์คํ๊ฒ ๋์ฝ๋ฉ ๋ฐ ๋ณํํด์ผ ํ๋ ๋ด์ฅ๋ ๋น์ฆ๋์ค ๋ก์ง์ด ํฌํจ๋ฉ๋๋ค. ๋ฐ์ดํฐ ๋งคํ์ ์ ํ์ฑ, ๋ณํ์ ๊ฒ์ฆ ๊ฐ๋ฅ์ฑ, ๊ทธ๋ฆฌ๊ณ ๊ณ๋ณด์ ์ถ์ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฅํ๋ ๊ฒ์ ํตํฉ ํ๋ซํผ์ ๋ํ ์ ๋ขฐ๋ฅผ ์ ์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
์ด์์์ ์ด๋ ค์์ ๊ณผ์ํ๊ฐํด์๋ ์ ๋ฉ๋๋ค. ํตํฉ ์์ ์ ์์ ์ ์ผ๋ก ์กฐ์จ๋๊ณ , ํจ๊ณผ์ ์ผ๋ก ๋ชจ๋ํฐ๋ง๋๋ฉฐ, ์ค๋ฅ๋ฅผ ์ํํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๊ณ๋์ด์ผ ํฉ๋๋ค. ๋ฉ์ธํ๋ ์ ํ๊ณผ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ํ์ ์๋ก ๋ค๋ฅธ ๊ธฐ์ ๊ณผ ๋๊ตฌ ์ ํธ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ์กฐ์ง ๊ฐ ์ฌ์ผ๋ก๊ฐ ๋ฐ์ํ๊ณ ์ด๋ ํ์ ์ ์ ํดํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ทธ๋ฃน๋ค์ ๊ณตํต๋ ๋ชฉํ, ํ๋ก์ธ์ค, ๊ทธ๋ฆฌ๊ณ ํ๋ซํผ์ ๋ง์ถฐ ์กฐ์ ํ๋ ๊ฒ์ด ์ฑ๊ณต์ ์ํด ๋งค์ฐ ์ค์ํฉ๋๋ค.
์ด๋ฌํ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๊ธฐ์กด ์์คํ ์ ๋ํ ์ ์คํ ํ๊ฐ, ์ ์ ํ ํตํฉ ํจํด ๋ฐ ๋๊ตฌ ์ ํ, ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณด์, ์์ ์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ ์ด์ ๊ดํ์ ๋ํ ํฌ์๋ฅผ ๊ฒฐํฉํ๋ ์ ๋ต์ ์ ๊ทผ ๋ฐฉ์์ด ํ์ํฉ๋๋ค.
ํตํฉ ํจํด ๋ฐ ์ ๋ต
๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์๊ณผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ํ ๊ณณ์์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ, ์ฒ๋ฆฌ ๋ชจ๋ธ, ์ง์ฐ ์๊ฐ ์์, ๋ณด์ ์๊ตฌ ์ฌํญ ๋ฑ์ ์ฐจ์ด๋ฅผ ๊ณ ๋ คํ ์ ์คํ ์ํคํ ์ฒ ์ ํ์ด ํ์ํฉ๋๋ค.
๋ฉ์ธํ๋ ์์ ์ ๋ขฐ์ฑ, ์์ ์ฑ, ๊ทธ๋ฆฌ๊ณ ๋์ฉ๋ ๋ฐฐ์น ์ฒ๋ฆฌ๋ฅผ ์ํด ๊ตฌ์ถ๋ ๋ฐ๋ฉด, ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ ์ ์ฐํ ์คํค๋ง ์จ ๋ฆฌ๋(Schema-on-Read) ์คํ ๋ฆฌ์ง, ํ์ฅ ๊ฐ๋ฅํ ์ปดํจํ , ๊ทธ๋ฆฌ๊ณ ์ค์๊ฐ ๋ถ์์ ์ฐ์ ์ํฉ๋๋ค. ์ด๋ฌํ ํ๊ฒฝ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ฉ์ธํ๋ ์์ ์ด์ ํ์ค์ ๊ณ ๋ คํ๋ ๋์์ ์ต์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ฐ์ดํฐ ์ฌ์ฉ์ ์ง์ํ๋ ํตํฉ ํจํด์ ์ ํํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ํจํด์ ๊ธฐ์กด ์ผ๊ด ์คํ๋ก๋๋ถํฐ ๊ณ ๊ธ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ๋ฐ API ๊ธฐ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค๊น์ง ๋ค์ํฉ๋๋ค. ๊ฐ ์ ๊ทผ ๋ฐฉ์์ ํน์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ๊ณผ ๊ธฐ์ ์ ์ ์ฝ ์กฐ๊ฑด์ ์ถฉ์กฑํฉ๋๋ค. ๊ธ์ต ๊ธฐ๊ด์ ๊ท์ ์ค์๋ฅผ ์ํด ์ผ์ผ ์ผ๊ด ๋ณด๊ณ ๋ฅผ ์ ๊ณตํ๋ ๋์์ CDC ๋ฐ ์คํธ๋ฆฌ๋ฐ ํ์ดํ๋ผ์ธ์ ํตํด ๊ฑฐ์ ์ค์๊ฐ์ ๊ฐ๊น์ด ์ฌ๊ธฐ ํ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํด์ผ ํ ์ ์์ต๋๋ค. ๋ณดํ ํ์ฌ๋ API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฒ์ํ๊ฒ ๋ณต์ ํ์ง ์๊ณ ๋ ์ ํ ์๋น์ค ์ ์ฑ ์กฐํ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ํตํฉ์ ๋จ์ผ ํจํด์ผ๋ก ์ด๋ฃจ์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋๋ฌผ๊ณ , ๋ฐ์ดํฐ ์ต์ ์ฑ ์๊ตฌ ์ฌํญ, ์ํฌ๋ก๋ ํน์ฑ ๋ฐ ๋น์ฉ ๊ณ ๋ ค ์ฌํญ์ ๋ง์ถฐ ์กฐ์ ๋ ์ ๊ทผ ๋ฐฉ์์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ด๋ฌํ ํตํฉ ์ ๋ต์ ์ค๊ณํ๋ ๊ฒ์ ๋ถ์, AI ๋ฐ ๋น์ฆ๋์ค ํ์ ์ ์ํ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ์ ๊ฐ์น๋ฅผ ๊ทน๋ํํ๋ ๋ฐ ํต์ฌ์ ์ ๋๋ค.
์๋์์๋ 4๊ฐ์ง ์ผ๋ฐ์ ์ธ ํตํฉ ํจํด์ ์์ธํ ์ดํด๋ณด๊ณ , ์ด๋ฌํ ์๋ฃจ์ ์ด ์ค์ ํ๊ฒฝ์์ ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง ๋ณด์ฌ์ฃผ๋ ์ค์ฉ์ ์ธ ์ฝ๋ ์ํ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ฐฐ์น ์คํ๋ก๋ฉ
๋ฐฐ์น ์คํ๋ก๋ฉ์ ๊ฐ์ฅ ํ๋ฆฝ๋ ํตํฉ ๋ฐฉ์์ผ๋ก, ๋ฉ์ธํ๋ ์ ์นํ์ ์ธ ๋ฐฐ์น ์์ ์ ํ์ฉํ์ฌ ์์ฝ๋ ๊ฐ๊ฒฉ์ผ๋ก ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํฉ๋๋ค. ๋ง์ ์กฐ์ง์์ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ด๊ธฐ ์ํ FTP ๋๋ ํ์ผ ๊ธฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์ด๋ฏธ ๊ตฌ์ถํด ๋๊ณ ์์ต๋๋ค.
๋ฐ์ดํฐ ๋ ์ดํฌ์ ๊ฒฝ์ฐ ์ผ๊ด ์ฒ๋ฆฌ ํ๋ก์ธ์ค์๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ๊ธฐ์กด ์ธ์ฝ๋ฉ(EBCDIC ๋ฑ)๊ณผ ํ์(COBOL ์ฌ๋ณธ)์ Parquet์ด๋ Avro์ ๊ฐ์ ์ต์ ์คํค๋ง-์จ-๋ฆฌ๋ ํ์์ผ๋ก ๋ณํํ๋ ์์ ๋ ํฌํจ๋ฉ๋๋ค.
COBOL ์นดํผ๋ถ ์ค๋ํซ ์์
์ด ์ค๋ํซ์ ๋ฉ์ธํ๋ ์์ ๊ณ ๊ฐ ๋ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ํฉ๋๋ค.
01 CUSTOMER-RECORD.
05 CUST-ID PIC 9(5).
05 CUST-NAME PIC X(30).
05 CUST-BALANCE PIC 9(7)V99.
์ด๋ฌํ ์ฌ๋ณธ์ ETL ํ์ดํ๋ผ์ธ์์ ๊ตฌ๋ฌธ ๋ถ์๋์ด ์ต์ ์คํค๋ง์ ๋งคํ๋ฉ๋๋ค.
Parquet ์คํค๋ง์ ๋งคํ(JSON ์์ )
์นดํผ๋ถ ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ ๋ ์ดํฌ์ Parquet์ ์ฐ๊ธฐ์ ์ ํฉํ JSON ์คํค๋ง๋ก ๋ณํ๋ฉ๋๋ค.
{
"fields": [
{"name": "cust_id", "type": "int"},
{"name": "cust_name", "type": "string"},
{"name": "cust_balance", "type": "decimal(9,2)"}
]
}
ETL ๋๊ตฌ๋ ์ฌ์ฉ์ ์ ์ ์ฝ๋๋ ๋ด๋ณด๋ธ ํ๋ซ ํ์ผ์ ์ฝ๊ณ , ์ฌ๋ณธ ๋ ์ด์์์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ , ํจ์จ์ ์ธ ์ ์ฅ ๋ฐ ๋ถ์์ ์ํด ๋ ์ฝ๋๋ฅผ Parquet์ผ๋ก ๋ณํํฉ๋๋ค.
Airflow DAG ์์
์์
Airflow๋ ์ผ๋ฐ์ ์ผ๋ก ์ผ๊ด ํตํฉ ์์
์ ์กฐ์จํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. FTP๋ฅผ ํตํด ๋ด๋ณด๋ธ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฐ๋จํ ์์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
extract_task = BashOperator(
task_id='extract_mainframe_batch',
bash_command='ftp get mainframe_server VSAM_EXPORT.DAT /tmp/VSAM_EXPORT.DAT',
dag=dag
)
์ค์ ๋ก DAG์๋ ํ์ ๋ณํ, ์คํค๋ง ๊ฒ์ฆ, ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์ ๋ก๋ํ๊ธฐ ์ํ ์ถ๊ฐ ์์ ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
๋ฐฐ์น ์คํ๋ก๋ฉ์ ๊ธฐ์กด ๋ฉ์ธํ๋ ์ ํ๋ก์ธ์ค์ ํธํ๋๊ธฐ ๋๋ฌธ์ ๋์ ์ด ๋น๊ต์ ์ฝ์ต๋๋ค. ํ์ง๋ง ๋ฐ์ดํฐ ์ง์ฐ ์๊ฐ์ด ๋ช ์๊ฐ์์ ํ๋ฃจ ์ข ์ผ๊น์ง ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ค์ํ ๋ถ์์๋ ์ ํฉํ์ง ์์ต๋๋ค.
๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ(CDC)
CDC๋ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ฌํญ๋ง ๋ณต์ ํ์ฌ ์ง์ฐ ์๊ฐ์ ์ค์ ๋๋ค. ์ ์ฒด ํ ์ด๋ธ์ ๋ฐ๋ณต์ ์ผ๋ก ์ด๋ํ๋ ๋์ , CDC ์๋ฃจ์ ์ ๋ก๊ทธ๋ ์ ๋์์ ์ฝ์ , ์ ๋ฐ์ดํธ ๋ฐ ์ญ์ ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ์คํธ๋ฆฌ๋ฐํฉ๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ๋ฐ์ดํฐ ์ด๋์ ์ต์ํํ๊ณ ๊ฑฐ์ ์ค์๊ฐ ๋ถ์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ํนํ ์ด์ ๋ณด๊ณ , ๋จธ์ ๋ฌ๋ ํ์ดํ๋ผ์ธ ๋๋ ๋๊ธฐํ๋ ๋ฐ์ดํฐ ๋งํธ ์ ์ง ๊ด๋ฆฌ์ ์ ์ฉํฉ๋๋ค.
DB2์์ CDC๋ฅผ ํ์ฑํํ๊ธฐ ์ํ ์ํ SQL(๊ฐ๋ ์ ):
ALTER TABLE CUSTOMER
ENABLE CHANGE DATA CAPTURE;
์ด ๋ช ๋ น์ CDC๋ฅผ ํ์ฑํํ์ฌ ๋๊ตฌ๊ฐ ํธ๋์ญ์ ๋ก๊ทธ๋ฅผ ์ฝ์ ์ ์๋๋ก ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ค ๊ตฌ์ฑ์ ๋ณด์ฌ์ค๋๋ค.
Kafka Connect CDC ์ปค๋ฅํฐ ๊ตฌ์ฑ ์:
๋ง์ CDC ์๋ฃจ์
์ Kafka์ ๊ฐ์ ๋ฉ์์ง ๋ธ๋ก์ปค์ ํตํฉ๋์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ง์์ ์ผ๋ก ์คํธ๋ฆฌ๋ฐํฉ๋๋ค. ๋ค์์ ๊ตฌ์ฑ ์์์
๋๋ค.
{
"name": "mainframe-cdc-connector",
"config": {
"connector.class": "com.ibm.mainframe.cdc.Connector",
"tasks.max": "1",
"topics": "mainframe-changes",
"mainframe.hostname": "mainframe.example.com",
"mainframe.port": "5000",
"mainframe.user": "cdc_user",
"mainframe.password": "****",
"poll.interval.ms": "1000"
}
}
์ด ์ค์ ์ ๋ฉ์ธํ๋ ์ ๋ณ๊ฒฝ ์ฌํญ์ Kafka ํ ํฝ์ผ๋ก ์คํธ๋ฆฌ๋ฐํ์ฌ Spark Structured Streaming์ด๋ Kafka Connect Sinks๊ฐ S3์ ์ฐ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ค์ด์คํธ๋ฆผ ์๋น์๊ฐ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
CDC๋ ์ง์ฐ ์๊ฐ์ ํฌ๊ฒ ๋จ์ถํ์ง๋ง ์ผ๊ด์ฑ, ์์ ๋ฐ ์ค๋ฅ ๋ณต๊ตฌ๋ฅผ ๋ณด์ฅํ๋ ๋ฐ ๋ณต์ก์ฑ์ ์ผ๊ธฐํฉ๋๋ค. ๋ํ ๋ก๊ทธ ์๋ฆผ์ด๋ ์คํค๋ง ๋๋ฆฌํํธ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ ์คํ ๋ชจ๋ํฐ๋ง์ด ํ์ํฉ๋๋ค.
์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ํตํฉ
์คํธ๋ฆฌ๋ฐ ํตํฉ์ ๋ณ๊ฒฝ ์ด๋ฒคํธ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ์ฌ CDC ๊ธฐ๋ฅ์ ํ์ฅํฉ๋๋ค. ๋ฉ์ธํ๋ ์ ์ ๋ฐ์ดํธ๊ฐ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ถ์ ์์คํ ์ผ๋ก ์ง์์ ์ผ๋ก ์ ์ก๋๋ ์ํคํ ์ฒ๋ฅผ ์ง์ํ์ฌ ์ฌ๊ธฐ ํ์ง, ๊ฐ์ธํ, ์ด์ ๋์๋ณด๋ ๋ฑ์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ง์ํฉ๋๋ค.
๋ฐ์ดํฐ๋ Kafka๋ IBM MQ์ ๊ฐ์ ๋ฉ์์ง ํ๋ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ผ๋ก ์์ง๋ ์ ์์ต๋๋ค. Apache NiFi, Spark Streaming, Flink์ ๊ฐ์ ์ฒ๋ฆฌ ํ๋ ์์ํฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ์ฌ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ๋ก๋ํ ์ ์์ต๋๋ค.
NiFi ํ๋ฆ ์์(๊ฐ์ JSON):
NiFi๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ฉ์ธํ๋ ์ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ๊ฐ์ํ๊ณ ์ด๋ฅผ Kafka์ ๊ฒ์ํ๋ ๊ฐ๋จํ ์:
{
"processor": "GetFile",
"properties": {
"Input Directory": "/mainframe/exports",
"Polling Interval": "5 secs"
},
"next": {
"processor": "PublishKafka",
"properties": {
"Topic Name": "mainframe-stream"
}
}
}
์ด ํ๋ฆ์ ๋ฉ์ธํ๋ ์์์ ์์ฑ๋ ์๋ก์ด ํ์ผ์ ์๋์ผ๋ก ์์งํ์ฌ Kafka์ ์ด๋ฒคํธ๋ก ์ ์กํฉ๋๋ค. Kafka์์๋ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์คํธ๋ฆฌ๋ฐ ํตํฉ์ ๊ฐ๋ ฅํ์ง๋ง ์ด์ ์ธก๋ฉด์์ ๊น๋ค๋กญ์ต๋๋ค. ์ ํ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ง์ฐ๋๊ฑฐ๋ ์์๊ฐ ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ํฐ๋ง, ํ์ฅ ๋ฐ ์ฒ๋ฆฌํ๋ ๋ฐ ๋ง์ ํฌ์๊ฐ ํ์ํฉ๋๋ค.
API ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค ๋ ธ์ถ
๋๋ ๋ฐ์ดํฐ ์ด๋์ ๋์์ API๋ฅผ ํตํด ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ๊ณต๊ฐํ๋ ๊ฒ์ ๋๋ค. ์ด ํจํด์ ์ฌ์ฉํ๋ฉด ์ ์ฒด ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ณต์ ํ์ง ์๊ณ ๋ ์ค์๊ฐ ์จ๋๋งจ๋ ์ก์ธ์ค๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์ฌ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๋ฌธ์ ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
API๋ REST ๋๋ SOAP ์ธํฐํ์ด์ค๋ฅผ ํตํด CICS ํธ๋์ญ์ ์ด๋ DB2 ์ฟผ๋ฆฌ์ ๋ํ ์ก์ธ์ค๋ฅผ ํ๋ํํ๋ IBM z/OS Connect์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
z/OS Connect API ์ค๋ช
์(YAML) ์์:
์ด ์ค๋ช
์๋ ๋ฉ์ธํ๋ ์์์ ๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํ REST ์๋ํฌ์ธํธ๋ฅผ ์ ์ํฉ๋๋ค.
swagger: "2.0"
info:
title: Customer API
version: "1.0"
paths:
/customer/{id}:
get:
summary: Retrieve customer data
parameters:
- name: id
in: path
required: true
type: string
responses:
200:
description: Successful response
cURL ํธ์ถ ์์:
curl -X GET "https://api.example.com/customer/12345"
-H "Authorization: Bearer TOKEN"
์ด ํธ์ถ์ ๋ฉ์ธํ๋ ์์์ ํน์ ๊ณ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๊ฐ์ ธ์ต๋๋ค.
API๋ ํธ๋์ญ์ ์ฌ์ฉ ์ฌ๋ก ๋ฐ ์ธ๋ถ ํตํฉ์ ํนํ ์ ํฉํฉ๋๋ค. API๋ฅผ ์ฌ์ฉํ๋ฉด ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋๋์ ๋ฐ์ดํฐ ๋ณต์ ์์ด ๋ฉ์ธํ๋ ์ ์์คํ ๊ณผ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ฑ๋ฅ, ๋ณด์ ๋ฐ ์ ์ง ๊ด๋ฆฌ ์ฉ์ด์ฑ์ ๋ณด์ฅํ๋ ค๋ฉด ์ ์คํ๊ฒ ์ค๊ณํด์ผ ํฉ๋๋ค.
์ฌ๋ฐ๋ฅธ ํจํด ์ ํ
ํจ๊ณผ์ ์ธ ํตํฉ ์ ๋ต์ ์ข ์ข ์ด๋ฌํ ํจํด์ ๊ฒฐํฉํฉ๋๋ค. ๋ฐฐ์น ์คํ๋ก๋ฉ์ ๊ท์ ๋ณด๊ณ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ ์ ์๊ณ , CDC ๋ฐ ์คํธ๋ฆฌ๋ฐ ํ์ดํ๋ผ์ธ์ ์ค์๊ฐ์ ๊ฐ๊น์ด ๋ถ์ ๋ชจ๋ธ์ ์ ๊ณตํ ์ ์์ผ๋ฉฐ, API๋ ๊ณ ๊ฐ ๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ ์ ์์ต๋๋ค.
์ ์ ํ ์กฐํฉ์ ์ ํํ๋ ๊ฒ์ ๋น์ฆ๋์ค ์ฐ์ ์์, ๋ฐ์ดํฐ ์ต์ ์ฑ ์๊ตฌ ์ฌํญ, ๊ธฐ์กด ์์คํ ์ฑ๋ฅ ๋ฐ ์์ฐ ์ ์ฝ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ฑ๊ณต์ ์ธ ํตํฉ์ ๊ธฐ์ ์ ํ์ ์ ๋ต์ ๋ชฉํ์ ๋ง์ถฐ ์กฐ์ ํ๋ ๋์์ ๋ฉ์ธํ๋ ์ ์์คํ ์ด ์ํฐํ๋ผ์ด์ฆ ๋ฐ์ดํฐ ํ๊ฒฝ์ ํต์ฌ ๊ตฌ์ฑ ์์๋ก์ ์ง์์ ์ผ๋ก ๊ฐ์น๋ฅผ ์ ๊ณตํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
ํตํฉ์ ์ํ ๊ธฐ์ ์ต์
๊ธฐ์กด ๋ฉ์ธํ๋ ์์ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ํตํฉํ๋ ค๋ฉด ์ํคํ ์ฒ ๊ณํ ์ด์์ด ํ์ํฉ๋๋ค. ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ถ์ถ, ๋ณํ, ์ ์ก ๋ฐ ๋ก๋ฉ์ ๋ณต์ก์ฑ์ ์ฒ๋ฆฌํ ์ ์๋ ์ ์ ํ ๊ธฐ์ ์ธํธ๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
ํตํฉ ์ํ๊ณ๋ ๋ฉ์ธํ๋ ์ ์ปค๋ฅํฐ๋ฅผ ๊ฐ์ถ ์์ฉ ETL ์ ํ๊ตฐ๋ถํฐ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์๋น์ค, ์คํ์์ค ํ๋ ์์ํฌ, ์ ๋ฌธ ๋ฒค๋ ์๋ฃจ์ ๊น์ง ๊ด๋ฒ์ํฉ๋๋ค. ๊ฐ ์๋ฃจ์ ์ ์๋ก ๋ค๋ฅธ ์์ค์ ์ถ์ํ, ์๋ํ ๋ฐ ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ๊ธฐ์ ์ด ํน์ ์๊ตฌ ์ฌํญ๊ณผ ์ ์ฝ ์กฐ๊ฑด์ ๋ง์ถฐ ๋๊ตฌ๋ฅผ ์ ํํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
์์ฉ ETL ๋ฐ ํตํฉ ๋๊ตฌ
๋ง์ ์ํฐํ๋ผ์ด์ฆ๊ธ ETL ํ๋ซํผ์ ๊ฐ๋ ฅํ ๋ฉ์ธํ๋ ์ ํตํฉ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ๋ ๊ฑฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ, EBCDIC ์ธ์ฝ๋ฉ, COBOL ์นดํผ๋ถ ๋ฐ ๋ณต์กํ ๋ฐฐ์น ์์ ์ค์ผ์ค๋ง์ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค :
- IBM DataStage ๋ฐ InfoSphere Information Server: ๊ณ ๊ธ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ํตํด VSAM ๋ฐ DB2์ ๊ฐ์ ๋ฉ์ธํ๋ ์ ์์ค๋ฅผ ์ฌ์ธต์ ์ผ๋ก ์ง์ํฉ๋๋ค.
- Informatica PowerCenter: ๋ฉ์ธํ๋ ์ ์ฐ๊ฒฐ, ๋ฐ์ดํฐ ํ์ง ๊ธฐ๋ฅ ๋ฐ ์ํฌํ๋ก ์ค์ผ์คํธ๋ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- Talend: ํตํฉ ์ ํ๊ตฐ ๋ด์ ๋ฉ์ธํ๋ ์ ์ปค๋ฅํฐ์ ๋ณํ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํฉ๋๋ค.
์ด๋ฌํ ๋๊ตฌ๋ ์๊ฐ์ ๋์์ด๋, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ตฌ์ฑ ์์, ์ํฐํ๋ผ์ด์ฆ๊ธ ๋ชจ๋ํฐ๋ง์ ํตํด ๊ฐ๋ฐ์ ๊ฐ์ํํฉ๋๋ค. ์์ฉ ETL ์๋ฃจ์ ์ ์ด๋ฏธ ํฌ์ํ ๋๊ท๋ชจ ์กฐ์ง์์ ๊ฐ์ฅ ๋จผ์ ์ ํํ๋ ๋๊ตฌ์ ๋๋ค.
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์๋น์ค
์ฃผ์ ํด๋ผ์ฐ๋ ๊ณต๊ธ์ ์ฒด๋ ์ต์ํ์ ์ธํ๋ผ ๊ด๋ฆฌ๋ก ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ์์ฌ ์คํ ๋ฆฌ์ง ํ๋ซํผ์ผ๋ก ์ฎ๊ธธ ์ ์๋ ๊ด๋ฆฌํ ํตํฉ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค :
- AWS ๋ฉ์ธํ๋ ์ ํ๋ํ ๋ฐ์ดํฐ ๋ณต์ : DB2 ๋๋ VSAM ๋ฐ์ดํฐ์ CDC ๊ธฐ๋ฐ ๋ณต์ ๋ฅผ S3 ๋๋ ๊ธฐํ AWS ์๋น์ค๋ก ์ง์ํฉ๋๋ค.
- Azure Data Factory: ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํ ์ฌ์ ๊ตฌ์ถ๋ ์ปค๋ฅํฐ๋ฅผ ์ ๊ณตํ๊ณ Azure Data Lake Storage์ ๋ํ ์ผ๊ด ์ฒ๋ฆฌ ๋๋ ์คํธ๋ฆฌ๋ฐ ์์ง์ ์กฐ์ ํ ์ ์์ต๋๋ค.
- Google Cloud Dataflow: ๋ฉ์์ง ๋๊ธฐ์ด์ด๋ ์ฌ์ฉ์ ์ ์ CDC ์คํธ๋ฆผ๊ณผ ํตํฉํ์ฌ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ณ BigQuery ๋๋ Cloud Storage์ ๋ก๋ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์๋น์ค๋ ์ด์ ์ค๋ฒํค๋๋ฅผ ์ค์ด๊ณ ๋ค์ด์คํธ๋ฆผ ํด๋ผ์ฐ๋ ๋ถ์ ์๋น์ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ํตํฉ๋ฉ๋๋ค. ๋ฉ์ธํ๋ ์ ์์คํ ์ ์จํ๋ ๋ฏธ์ค์ ์ ์งํ๊ณ ๋ถ์ ์ํฌ๋ก๋๋ ํด๋ผ์ฐ๋๋ก ์ด์ ํ๋ ํ์ด๋ธ๋ฆฌ๋ ํด๋ผ์ฐ๋ ์ ๋ต์ ๋งค์ฐ ์ ํฉํฉ๋๋ค.
์คํ ์์ค ์๋ฃจ์
์ ์ฐ์ฑ์ด๋ ๋น์ฉ ๊ด๋ฆฌ๋ฅผ ์ถ๊ตฌํ๋ ์กฐ์ง์ ๊ฒฝ์ฐ ์คํ ์์ค ๋๊ตฌ๋ ํตํฉ ํ์ดํ๋ผ์ธ์ ๊ท์คํ ๊ตฌ์ฑ ์์๊ฐ ๋ ์ ์์ต๋๋ค.
์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค :
- Apache NiFi: ํ์ผ ์์ง, ๋ ์ฝ๋ ๋ณํ, Kafka ๋๋ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง์ ๊ฒ์๋ฅผ ์ง์ํ์ฌ ์๊ฐ์ ์ธ ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์์ ๋ฐ์ดํฐ ํ๋ฆ ๋์์ธ์ ์ ๊ณตํฉ๋๋ค.
- Apache Kafka ๋ฐ Kafka Connect: CDC ๊ธฐ๋ฐ ๋ณต์ ๋ฐ ์คํธ๋ฆฌ๋ฐ ํตํฉ ํจํด์ ๊ณตํต์ ์ ๋๋ค. ๋ฉ์ธํ๋ ์ CDC ์ปค๋ฅํฐ(์์ฉ ๋๋ ๋ง์ถคํ)๋ Kafka ํ ํฝ์ ๋ณ๊ฒฝ ์ด๋ฒคํธ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
- Apache Spark: ์ฌ๋ณธ ๋ถ์ ๋ฐ Parquet ๋๋ ORC ํ์์ผ๋ก ์ฐ๊ธฐ๋ฅผ ํฌํจํ์ฌ ์ถ์ถ๋ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ์ ๋๊ท๋ชจ ๋ณํ์ ์ฌ์ฉ๋ฉ๋๋ค.
์คํ ์์ค๋ ์์ ์ ๋น์ฉ์์ ์ด์ ์ ์ ๊ณตํ์ง๋ง, ๊ตฌ์ฑ, ๋ชจ๋ํฐ๋ง, ์ ์ง๊ด๋ฆฌ์ ๋ ๋ง์ ์์ง๋์ด๋ง ํฌ์๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๊ณต๊ธ์ ์ฒด๋ณ ์ปค๋ฅํฐ ๋ฐ ์ด๋ํฐ
์ผ๋ถ ๊ณต๊ธ์ ์ฒด๋ ๋ฉ์ธํ๋ ์ ํตํฉ์ ์ ๋ฌธ์ผ๋ก ํ๋ฉฐ, ์ต์ํ์ ๋ง์ถค ๊ฐ๋ฐ๋ก ๋ฉ์ธํ๋ ์ ์์คํ ๊ณผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ์ฐ๊ฒฐํ๋ ํน์ ๋ชฉ์ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค :
- Precisely Connect(์ด์ ๋ช ์นญ Syncsort): COBOL ์ฌ๋ณธ, EBCDIC ๋ณํ, CDC์ ๋ํ ๊ธฐ๋ณธ ์ง์์ ํตํด ๋ฉ์ธํ๋ ์์์ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง๋ก์ ์ต์ ํ๋ ๋ฐ์ดํฐ ์ด๋์ ์ ๊ณตํฉ๋๋ค.
- IBM z/OS Connect: ๋ฉ์ธํ๋ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ REST API๋ก ๊ณต๊ฐํ์ฌ ๋๊ท๋ชจ ๋ฐ์ดํฐ ๋ณต์ ์์ด API ๊ธฐ๋ฐ ํตํฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- GT ์ํํธ์จ์ด ์์ด๋ณด๋ฆฌ ์๋น์ค ์ํคํ ํธ: CICS ๋ฐ IMS ํธ๋์ญ์ ์ ์ํ ์ ์ฌํ API ํ์ฑํ ๋๊ตฌ์ ๋๋ค.
์ด๋ฌํ ์๋ฃจ์ ์ VSAM ๋๋ IMS์์์ ๊ณ ์ฑ๋ฅ ์ถ์ถ, ์ค์๊ฐ ํธ๋์ญ์ API, ๊ท์ ์ค์ ์ค์ฌ ๋ฐ์ดํฐ ๊ณ๋ณด ์ถ์ ๊ณผ ๊ฐ์ ํน์ ์๊ตฌ ์ฌํญ์ ํด๊ฒฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ง์ถคํ ์๋ฃจ์
๊ฒฝ์ฐ์ ๋ฐ๋ผ ์กฐ์ง์ ๊ณ ์ ํ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ธฐ ์ํด ๋ง์ถคํ ํตํฉ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํฉ๋๋ค. ๋ง์ถคํ ์๋ฃจ์ ์๋ COBOL ์นดํผ๋ถ ํ์, ์ธ์ฝ๋ฉ ๋ณํ๊ธฐ, ๋ง์ถคํ ์ค์ผ์ค๋ง ์คํฌ๋ฆฝํธ ๋ฑ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
์:
- Pandas์ PySpark๋ฅผ ์ฌ์ฉํ์ฌ ๋ด๋ณด๋ธ ํ๋ซ ํ์ผ์ ์ฝ๊ณ , ์ฌ๋ณธ์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ , EBCDIC๋ฅผ UTF-8๋ก ๋ณํํ๊ณ , Parquet์ S3์ ์ฐ๋ Python ๊ธฐ๋ฐ ETL ์คํฌ๋ฆฝํธ์ ๋๋ค.
- ์ค์๊ฐ์ผ๋ก ๋ฉ์ธํ๋ ์๋ณ ํ์์ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๋ง์ถคํ NiFi ํ๋ก์ธ์์ ๋๋ค.
๋ง์ถคํ ํ์ดํ๋ผ์ธ์ ์ต๋ํ์ ์ ์ฐ์ฑ์ ์ ๊ณตํ์ง๋ง ๊ฐ๋ฐ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๋น์ฉ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค. ๊ธฐ์ฑ ์๋ฃจ์ ์ด ๊ณ ์ ํ ๋น์ฆ๋์ค ๊ท์น์ด๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ง์ํ์ง ์์ ๋ ๋ง์ถคํ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ๋นํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๊ธฐ์ ๊ณผ ์ ๋ต์ ์กฐํ
์ ์ ํ ๊ธฐ์ ์กฐํฉ์ ์ ํํ๋ ๊ฒ์ ์ ํํ ํตํฉ ํจํด, ๋ฐ์ดํฐ ์ต์ ์ฑ ์๊ตฌ ์ฌํญ, ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ์ ๋ฐ ์์ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- ์ผ๊ด ์คํ๋ก๋๋ ๊ธฐ์กด ETL ๋๊ตฌ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ค์ผ์คํธ๋ ์ด์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- CDC์ ์คํธ๋ฆฌ๋ฐ ํตํฉ์ Kafka, ๊ด๋ฆฌํ ๋ณต์ ์๋น์ค, NiFi ํ์ดํ๋ผ์ธ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- API ๊ธฐ๋ฐ ํตํฉ์ z/OS Connect์ ๊ฐ์ ๋ฉ์ธํ๋ ์๋ณ ํ์ฑํ ๋๊ตฌ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ฑ๊ณต์ ์ธ ํตํฉ ์ ๋ต์ ์ด๋ฌํ ๋๊ตฌ๋ฅผ ๋น์ฆ๋์ค ๋ชฉํ์ ๋ง์ถฐ ์ ์ฉํ์ฌ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ด ๊ฐ๋ ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ฉฐ ๋น์ฉ ํจ์จ์ ์ด๋ฉด์๋ ๊ท์ ๋ฐ ๋ณด์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
ํตํฉ ์๋ฃจ์ ์ผ๋ก์์ Smart TS XL
๋ฉ์ธํ๋ ์์ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ํตํฉํ๋ ค๋ฉด ๊ธฐ์กด ๋ฐ์ดํฐ ๊ตฌ์กฐ, ์ธ์ฝ๋ฉ ์ฒด๊ณ ๋ฐ ์ด์ ์ํฌํ๋ก์ ๋ณต์ก์ฑ์ ์ฒ๋ฆฌํ๊ณ ์ด๋ฅผ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์คํ ๋ฆฌ์ง ๋ฐ ์ฒ๋ฆฌ ํ๊ฒฝ๊ณผ ์ฐ๊ฒฐํ ์ ์๋ ์ ๋ฌธ ๋๊ตฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Smart TS XL์ ์ด๋ฌํ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํน๋ณํ ์ค๊ณ๋ ์๋ฃจ์ ์ผ๋ก, ๋๊ท๋ชจ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ ์ถ์ถ, ๋ณํ ๋ฐ ๋ก๋ฉ์ ์ค์ ์ ๋๊ณ ์์ต๋๋ค.
Smart TS XL์ COBOL ์ฌ๋ณธ, VSAM ๋ฐ์ดํฐ ์ธํธ, DB2 ํ ์ด๋ธ ๋๋ ๊ธฐํ ๋ ๊ฑฐ์ ํ์์ผ๋ก ๊ตฌ์กฐํ๋ ๋๋์ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ์คํ๋ก๋ํ๊ณ Amazon S3, Azure Data Lake Storage ๋๋ Google Cloud Storage์ ๊ฐ์ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง ์์คํ ์์ Parquet์ด๋ Avro์ ๊ฐ์ ์ต์ ๋ถ์ ์ค๋น ํํ๋ก ์ ๊ณตํด์ผ ํ๋ ๊ธฐ์ ์ ์ํด ํน๋ณํ ์ค๊ณ๋์์ต๋๋ค.
Smart TS XL ๊ฐ์
Smart TS XL์ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ์ ๊ณ ์ ํ ํน์ฑ์ ์ดํดํ๋ ์๋ํ๋ ๋ฉ์ธํ๋ ์-ํด๋ผ์ฐ๋ ํตํฉ ์๋ฃจ์ ์ ๋๋ค. COBOL ์นดํผ๋ถ ๊ตฌ๋ฌธ ๋ถ์ ๋ฐ ๋งคํ, EBCDIC-UTF-8 ๋ณํ ์ฒ๋ฆฌ, ๋ณต์กํ ์ค์ฒฉ ๋ ์ฝ๋ ๋ ์ด์์ ๊ด๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค.
Smart TS XL์ ์กฐ์ง์ด ํต์ฌ ๋ฉ์ธํ๋ ์ ์ํฌ๋ก๋๋ฅผ ๋ฐฉํดํ์ง ์๊ณ ์ ์ง์ ์ผ๋ก ๋ฐ์ดํฐ ์ํคํ ์ฒ๋ฅผ ํ๋ํํ ์ ์๋๋ก ํ๋ฉด์ ์ผ๊ด ์ฒ๋ฆฌ ์คํ๋ก๋ฉ ์ํฌํ๋ก๋ฅผ ๊ฐ์ํํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฉ์ธํ๋ ์ ํตํฉ์ ์ํ ์ฃผ์ ๊ธฐ๋ฅ
- COBOL ์นดํผ๋ถ ํ์ฑ: COBOL ์ฌ๋ณธ ๋ ์ด์์์ ์๋์ผ๋ก ํด์ํ๊ณ ๋งคํ ๊ตฌ์ฑ์ ์์ฑํ์ฌ ํ๋ซ ํ์ผ์ ๊ตฌ์กฐํ๋ ์ต์ ํ์์ผ๋ก ๋ณํํฉ๋๋ค.
- EBCDIC ๋ณํ: EBCDIC์์ ASCII ๋๋ UTF-8๋ก ๋ฌธ์ ์งํฉ ๋ณํ์ ์ฒ๋ฆฌํ์ฌ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ถ์ ๋๊ตฌ์์ ํธํ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
- ์คํค๋ง ๋งคํ: Parquet, ORC ๋๋ Avro ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ํ๋ถํ ๋ฐ์ดํฐ ์ ํ ๋ณํ๊ณผ ์ค์ฒฉ๋ ์คํค๋ง ์ ์๋ฅผ ์ง์ํฉ๋๋ค.
- ์์ ์๋ํ: Apache Airflow์ ๊ฐ์ ์ํฐํ๋ผ์ด์ฆ ์ค์ผ์ค๋ฌ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ์ ํตํฉํ ์ ์๋ ์ต์ ์ ํตํด ๋ฉ์ธํ๋ ์์์ ์์ ๋ ๋ฐ์ดํฐ ์ถ์ถ์ ์กฐ์จํฉ๋๋ค.
- ๊ณ ์ฑ๋ฅ: ๋ฉ์ธํ๋ ์ ์์ ๋ถํ์์ ์ผ๋ฐ์ ์ธ ๋งค์ฐ ํฐ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์ต์ ํ๋์์ผ๋ฉฐ, ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐ ํจ์จ์ ์ธ I/O ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋ฐ์ดํฐ ๋งคํ ๋ฐ ๋ณํ ๊ธฐ๋ฅ
Smart TS XL์ ๊ฐ์ฅ ๋๋๋ฌ์ง ํน์ง ์ค ํ๋๋ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ์ต์ ์คํค๋ง์ ๋งคํํ๋ ๋ฐฉ์์ ์ ์ํ๋ ์๊ฐ์ ๋๋ ๊ตฌ์ฑ ๊ธฐ๋ฐ ๋งคํ ์ธํฐํ์ด์ค์ ๋๋ค. ์ด๋ฅผ ํตํด COBOL ์นดํผ๋ถ์ ํ์ฑํ๊ณ ๋ณต์กํ ๋ณํ์ ์ ์ฉํ๋ ๋ฐ ์ผ๋ฐ์ ์ผ๋ก ํ์ํ, ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฌ์ด ์๋ ์ฝ๋ฉ ์์ ์ ์๋น ๋ถ๋ถ ์ค์ผ ์ ์์ต๋๋ค.
์์ ๋งคํ ๊ตฌ์ฑ(๊ฐ๋ ์ ):
{
"source": {
"format": "COBOL_COPYBOOK",
"encoding": "EBCDIC"
},
"target": {
"format": "PARQUET",
"encoding": "UTF-8",
"schema": [
{"name": "cust_id", "type": "int"},
{"name": "cust_name", "type": "string"},
{"name": "cust_balance", "type": "decimal(9,2)"}
]
}
}
์ด ๋งคํ์ ๋ด๋ณด๋ธ ๋ฉ์ธํ๋ ์ ํ๋ซ ํ์ผ์ด ๋ฐ์ดํฐ ๋ ์ดํฌ์์ ๋ถ์์ ์นํ์ ์ธ ์ด ํ์์ผ๋ก ์๋ ๋ณํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ์์ ํตํฉ
Smart TS XL์ ์ฃผ์ ํด๋ผ์ฐ๋ ๊ฐ์ฒด ์ ์ฅ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํธํ๋๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ถ์ถ ๋ฐ ๋ณํ๋๋ฉด ๋ค์ ์์น์ ์ง์ ์ธ ์ ์์ต๋๋ค.
- Parquet ๋๋ Avro ํ์์ Amazon S3
- Azure ๋ฐ์ดํฐ ๋ ์ดํฌ ์คํ ๋ฆฌ์ง Gen2
- Google ํด๋ผ์ฐ๋ ์ ์ฅ์
- ์จํ๋ ๋ฏธ์ค HDFS ํด๋ฌ์คํฐ
์ด๋ฌํ ์ง์ ์ ์ธ ํตํฉ์ ํตํด ์ค๊ฐ ์๋ ๋จ๊ณ๊ฐ ์์ด์ง๊ณ ๋ง์ถคํ ETL ํ์ดํ๋ผ์ธ์ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ๋ฐ๋ฅธ ์ด์ ๋ถ๋ด์ด ์ค์ด๋ญ๋๋ค.
์ฅ์ ๊ณผ ํ๊ณ
์ฅ์ :
- ๋ฉ์ธํ๋ ์ ํตํฉ ์ฌ์ฉ ์ฌ๋ก์ ๋ง์ถฐ ํน๋ณํ ์ ์๋์์ต๋๋ค.
- COBOL ์ฌ๋ณธ๊ณผ EBCDIC์ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
- ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์ ๋ํ ๋งคํ, ๋ณํ, ๋ก๋ฉ์ ์๋ํํฉ๋๋ค.
- ๋๊ท๋ชจ ๊ณ ์ฉ๋ ๋ฐฐ์น ์์ ์ ์ ํฉํฉ๋๋ค.
- ํตํฉ ํ๋ก์ ํธ์ ๊ฐ๋ฐ ์๊ฐ์ ๋จ์ถํฉ๋๋ค.
์ ํ ์ฌํญ :
- ์ฃผ๋ก ์ผ๊ด ์ฒ๋ฆฌ ์คํ๋ก๋ฉ ํจํด์ ์ต์ ํ๋์ด ์์ต๋๋ค. ์ค์๊ฐ์ ๊ฐ๊น์ด CDC ๋ฐ ์คํธ๋ฆฌ๋ฐ ํตํฉ์๋ ๋ณด์ ๋๊ตฌ๊ฐ ํ์ํ ์ ์์ต๋๋ค.
- ๋๊ท๋ชจ ๋ฐฐํฌ์ ๊ฒฝ์ฐ ๋ผ์ด์ ์ค ๋ฐ ์์ ์ ์ง์ ๋น์ฉ์ด ์๋นํ ์ ์์ต๋๋ค.
- ๊ธฐ์กด ์ํฌํ๋ก์ ๋ํ ๊ต์ก๊ณผ ํตํฉ์ด ํ์ํฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก ์
- ๊ธ์ต ์๋น์ค: VSAM ๊ณ ๊ฐ ๋ ์ฝ๋๋ฅผ ๋งค์ผ ๋ฐค ์ถ์ถํ์ฌ Parquet์ผ๋ก ๋ณํํ๊ณ , Amazon Athena์์ ๊ท์ ๋ณด๊ณ ๋ฐ ๋ถ์์ ์ํด S3์ ๋ก๋ํฉ๋๋ค.
- ์๋ฃ: ML ๊ธฐ๋ฐ ์ฌ๊ธฐ ํ์ง๋ฅผ ์ํด ๋ฉ์ธํ๋ ์ ํด๋ ์ ์ฒ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ Azure Data Lake๋ก ๋๋ ์คํ๋ก๋ํฉ๋๋ค.
- ์ ๋ถยท๊ณต๊ณต: FTP ๊ธฐ๋ฐ ํ์ดํ๋ผ์ธ์ ์๋ํ๋ Smart TS XL ์ํฌํ๋ก๋ก ๋์ฒดํ์ฌ ๊ธฐ์กด ์ผ๊ด ์์ ์ ํ๋ํํ๊ณ , ์ด๋ฅผ ํตํด BigQuery์ ์ธ๊ตฌ ํต๊ณ ๋ถ์์ ์ ๊ณตํฉ๋๋ค.
Smart TS XL์ ๋ฉ์ธํ๋ ์๊ณผ ๋ฐ์ดํฐ ๋ ์ดํฌ ํตํฉ ์์ ์ ์ํ์ ์ค์ด๊ณ ์๋๋ฅผ ๋์ด๊ณ ์ ํ๋ ์กฐ์ง์ ์ํ ์ค์ฉ์ ์ด๊ณ ํนํ๋ ๋๊ตฌ์ ๋๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ ํ์์ ๋ํ ๊ฐ๋ ฅํ ์ง์๊ณผ ์ต์ ์คํค๋ง๋ก์ ์๋ ๋ณํ ๊ธฐ๋ฅ์ ํตํด, ํ์ ๋ณต์กํ ์ปค์คํ ๊ฐ๋ฐ ์์ด๋ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ๊ณ ๊ธ ๋ถ์ ๋ฐ AI๋ฅผ ์ํํ ์ ์์ต๋๋ค.
์ค๊ณ ๋ฐ ๊ตฌํ ๊ณ ๋ ค ์ฌํญ
๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์๊ณผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํตํฉํ๋ ค๋ฉด ๋จ์ํ ์ ์ ํ ๋๊ตฌ๋ ํจํด์ ์ ํํ๋ ๊ฒ ์ด์์ ๋ ธ๋ ฅ์ด ํ์ํฉ๋๋ค. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ, ๋ณด์, ๊ท์ ์ค์ ๋ฐ ์ ์ง ๊ด๋ฆฌ ์ฉ์ด์ฑ์ ์ฅ๊ธฐ์ ์ผ๋ก ๋ณด์ฅํ๊ธฐ ์ํด์๋ ์ ์คํ ์ค๊ณ์ ์ด์ ๊ณํ์ด ํ์ํฉ๋๋ค.
๋น์ฉ์ด ๋ง์ด ๋๋ ์์์น ๋ชปํ ์ํฉ์ ํผํ๊ณ , ๊ท์ ์ค์๋ฅผ ๋ณด์ฅํ๊ณ , ์๊ธฐ์ ์ ํ๊ณ ๊ณ ํ์ง์ ๋ฐ์ดํฐ์ ๋ํ ๋น์ฆ๋์ค ๊ธฐ๋์ ๋ถ์ํ๋ ค๋ฉด ์ด๋ฌํ ๊ณ ๋ ค ์ฌํญ์ ์ธ์ฌํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋ ๊ฒ์ด ํ์์ ์ ๋๋ค.
๋ฐ์ดํฐ ๋งคํ ๋ฐ ์คํค๋ง ๋ณํ
๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๋ ์์ญ ๋ ์ ๊ฑธ์ณ ๊ณ ๋๋ก ๋ง์ถคํ๋ ํ์์ผ๋ก ์ ๊ณต๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. COBOL ์นดํผ๋ถ์ ์์ถ๋ ์ญ์ง์ ํ๋, ์ฌ์ ์ ์ ๋ฐ ์กฐ๊ฑด ์ด๋ฆ์ ํฌํจํ๋ ์ค์ฒฉ๋ ๋ ์ฝ๋ ๋ ์ด์์์ ์ค๋ช ํฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ Parquet๊ณผ ๊ฐ์ ํ๋์ ๊ธฐ๋ฅ ํ์์ผ๋ก ๋ณํํ๋ ค๋ฉด ์์ธํ ๋งคํ์ด ํ์ํฉ๋๋ค.
- ์นดํผ๋ถ ํ์ฑ: ๋๊ตฌ๋ ์ค์ฒฉ๋ ๊ทธ๋ฃน๊ณผ ๊ฐ๋ณ ๊ธธ์ด ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ์ฌ ๋ ์ฝ๋ ๋ ์ด์์์ ์ ํํ๊ฒ ํด์ํด์ผ ํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ํ ๋ณํ: ์์ถ๋ ์์ ๋๋ ์ด์ง ํ๋๋ ์ต์ ์ซ์ ์ ํ์ผ๋ก ๋ณํ๋์ด์ผ ํฉ๋๋ค.
- ์ธ์ฝ๋ฉ ๋ฒ์ญ: EBCDIC์ ์ต์ ๋ถ์ ์์ง์ ์ํด UTF-8 ๋๋ ASCII๋ก ์์ ์ ์ผ๋ก ๋ณํ๋์ด์ผ ํฉ๋๋ค.
์๋ํ๋ ๋งคํ ๋๊ตฌ๋ ์ฌ์ ๊ตฌ์ถ๋ ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ ๋ ธ๋ ฅ์ ํฌ๊ฒ ์ค์ผ ์ ์์ง๋ง, ๋ฐ์ดํฐ์ ๋ชจ๋ ์์ธ ์ํฉ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌ๋๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ ํ ์๊ฒฉํ ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค.
์ค์ผ์ค๋ง ๋ฐ ์ค์ผ์คํธ๋ ์ด์
๋ฉ์ธํ๋ ์ ํ๊ฒฝ์ ์ผ๋ฐ์ ์ผ๋ก Control-M์ด๋ IBM Workload Scheduler์ ๊ฐ์ ์ ๊ตฌ์ถ๋ ์์ ์ค์ผ์ค๋ฌ์ ์์กดํฉ๋๋ค. ํตํฉ ์ํฌํ๋ก๋ ์ด๋ฌํ ์ค์ผ์ค๋ง ์์คํ ๊ณผ ์ผ์นํ๊ฑฐ๋ Apache Airflow์ ๊ฐ์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ค์ผ์คํธ๋ ์ดํฐ์ ํตํฉ๋์ด์ผ ํฉ๋๋ค.
์ฃผ์ ์ฌ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ฒฝ์ ์กฐ๊ฑด์ ํผํ๊ธฐ ์ํด ๋ช ํํ ์์ ์ข ์์ฑ์ ์ ์ํฉ๋๋ค.
- ์ฅ์ ๋ฐ์ ์ ๋ณต๊ตฌ ๋ฐ ์ฌ์์ ๊ธฐ๋ฅ์ ๋ณด์ฅํฉ๋๋ค.
- ๋ฉ์ธํ๋ ์ ์ถ์ถ์ ๋ค์ด์คํธ๋ฆผ ๋ณํ ๋ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ ๋ก๋์ ์กฐ์ ํฉ๋๋ค.
ํตํฉ ์์ ์ ๋ถ๋ถ์ ์คํจ๊ฐ ๋ฐ์ํ๋๋ผ๋ ์์ ํ ์ฌ์ฒ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋๋ก ๋ฉฑ๋ฑ์ฑ์ ๊ฐ๋๋ก ์ค๊ณ๋์ด์ผ ํฉ๋๋ค.
์ด๋ฌํ ์ข ๋ฅ์ DAG๋ ๋ช ํํ ์ข ์์ฑ์ ํตํด ์ถ์ถ ๋ฐ ๋ณํ์ ์์ฐจ์ ๋จ๊ณ๋ฅผ ์กฐ์ ํฉ๋๋ค.
๋ณด์ ๋ฐ IAM ํตํฉ
๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ์๋ ๊ฐ์ธ ์๋ณ ๋ฒํธ, ๊ธ์ต ๊ฑฐ๋, ์๋ฃ ๊ธฐ๋ก ๋ฑ ๋งค์ฐ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ก ์ฎ๊ธฐ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฌ๊ฐํ ๋ณด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ์ ์ก ์ค ๋ฐ ์ ์ฅ ์ค ์ํธํ: ๋ชจ๋ ๋คํธ์ํฌ ์ ์ก์ TLS๋ฅผ ์ ์ฉํ๊ณ ๊ฐ์ฒด ์ ์ฅ์์ ๋ํ ์ํธํ๋ฅผ ํ์ฑํํฉ๋๋ค.
- ID ๋ฐ ์ก์ธ์ค ๊ด๋ฆฌ: ์ํฐํ๋ผ์ด์ฆ IAM ์์คํ ๊ณผ ํตํฉํ์ฌ ์ต์ ๊ถํ ์ก์ธ์ค๋ฅผ ์ ์ฉํฉ๋๋ค.
- ๊ฐ์ฌ ๋ฐ ๋ก๊น : ๋ฒ์ํ์ ๋ถ์๊ณผ ๊ท์ ์ค์ ๊ฒํ ๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋ชจ๋ ํตํฉ ๋จ๊ณ์ ๋ํ ์์ธํ ๋ก๊ทธ๋ฅผ ์บก์ฒํฉ๋๋ค.
- ๋ฐ์ดํฐ ๋ง์คํน ๋๋ ํ ํฐํ: ํ์ํ ๊ฒฝ์ฐ, ํต์ ๊ฐ ๋ ํต์ ๋๋ ํ๊ฒฝ์ ๋์ด๊ธฐ ์ ์ ๋ฏผ๊ฐํ ํ๋๋ฅผ ๋ง์คํฌํฉ๋๋ค.
๋ณด์์ ์ฒ์๋ถํฐ ๋ด์ฅ๋์ด์ผ ํ๋ฉฐ, ๋์ค์ ์ถ๊ฐํ๋ ๊ฒ์ด ์๋๋๋ค.
๋ชจ๋ํฐ๋ง, ๋ก๊น ๋ฐ ๊ด์ฐฐ์ฑ
ํตํฉ ํ์ดํ๋ผ์ธ์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ฒฌ๊ณ ํ๊ฒ ๋ชจ๋ํฐ๋ง๋์ด์ผ ํฉ๋๋ค. ํ๋ก๋์ ์ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅํ ์ค๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ฑด๊ฐ ๊ฒ์ง: ETL ์์ ์ ์ฑ๊ณต/์คํจ, ์ง์ฐ ์๊ฐ ๋ฐ ์ฒ๋ฆฌ๋์ ๋ชจ๋ํฐ๋งํฉ๋๋ค.
- ์์ธํ ๋ก๊น : ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋ณํ ๋จ๊ณ, ๋ ์ฝ๋ ์, ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํฌํจํฉ๋๋ค.
- ๊ฒฝ๊ณ : ์ค๋ฅ๋ ์ด์ ๋ฐ์ ์ ์๋ฆผ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
- ๊ณ๋ณด ์ถ์ : ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ค-๋์ ๋งคํ โโ๋ฐ ๋ณํ์ ๋ํ ๊ฐ์์ฑ์ ์ ์งํฉ๋๋ค.
SLA์ ๊ท์ ์ค์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ณ ๋น์ฆ๋์ค ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ์ ๋ํ ํ์ ์ ์ ๊ณตํ๋ ๋ฐ๋ ์ด์ ๊ฐ์์ฑ์ด ํ์์ ์ ๋๋ค.
ํ ์คํธ ๋ฐ ๋ฐ์ดํฐ ๊ฒ์ฆ
๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ ๋ณํ์ ๋ณต์กํ ๋ ๊ฑฐ์ ํฌ๋งท์ผ๋ก ์ธํด ๋ฏธ๋ฌํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค. ๋ค์ด์คํธ๋ฆผ ๋ถ์์ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ ์ ๋ฌธ์ ๋ฅผ ํ์ ํ๋ ค๋ฉด ๊ฐ๋ ฅํ ํ ์คํธ๊ฐ ํ์์ ์ ๋๋ค.
- ์คํค๋ง ๊ฒ์ฆ: ์ถ๋ ฅ์ด ๋์ ์คํค๋ง์ ๋ถํฉํ๋์ง ํ์ธํฉ๋๋ค.
- ๊ธฐ๋ก ์์ค ์กฐ์ : ์์ค ๋ฐ ๋์ ๋ ์ฝ๋ ์, ํค ํ๋ ํฉ๊ณ ๋๋ ํด์ ์ด๊ณ๋ฅผ ๋น๊ตํฉ๋๋ค.
- ์๋ํ๋ ํ๊ท ํ ์คํธ: ํตํฉ ํ์ดํ๋ผ์ธ์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ ์ค๋ํ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ์ํ๋ง ๋ฐ ์๋ ๊ฒ์ฌ: ํนํ ์ฒ์์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๊ฑฐ๋ ๋ณต์กํ ๋ ์ฝ๋ ๋ ์ด์์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์ค์ํฉ๋๋ค.
์ด๋ฌํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ๊ฒ์ฌ๋ ํ์ดํ๋ผ์ธ ์ ์ฒด์์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ด์ ์ค๋น
๊ธฐ์ ํ์ดํ๋ผ์ธ์ ๋์ด ์กฐ์ง ๋ฐ ํ๋ก์ธ์ค ์์๋ฅผ ๊ณ ๋ คํ์ธ์.
- ํตํฉ ์์ ์ ๋ํ ๋ช ํํ ์์ ๊ถ์ ์ ์ํฉ๋๋ค.
- ์ด์ํ์ ์ํ ๋ฐ๋ถ์ ๋ง๋ญ๋๋ค.
- ์ง์์๊ฒ ๋๊ตฌ์ ์์ ํ๋ฆ์ ๋ํ ๊ต์ก์ ์ค์ํฉ๋๋ค.
- ์์ค ์์คํ ์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ ๋ณ๊ฒฝ ๊ด๋ฆฌ๋ฅผ ๊ณํํฉ๋๋ค.
์ง์ ๊ฐ๋ฅํ ํตํฉ ์ ๋ต์ ๋ฉ์ธํ๋ ์์์ ๋ฐ์ดํฐ ๋ ์ดํฌ๊น์ง์ ํ์ดํ๋ผ์ธ์ ์ผ๋ฅ ํ๋ก๋์ ์ํฌ๋ก๋๋ก ์ทจ๊ธํ๊ณ ์ ์ ํ ์ง์, ๋ฌธ์ํ ๋ฐ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๋ง์ถฐ ์กฐ์
๋ง์ง๋ง์ผ๋ก, ๋ชจ๋ ๋์์ธ ๊ฒฐ์ ์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๊ธฐ๋ฐ์ ๋์ด์ผ ํฉ๋๋ค.
- SLA์์ ๋ฐ์ดํฐ ์ ์ ๋ ์๊ตฌ ์ฌํญ์ ์ ์ํฉ๋๋ค.
- ๋น์ฆ๋์ค ๊ฐ์น์ ๋ฐ๋ผ ๋ฐ์ดํฐ ์ธํธ์ ์ฐ์ ์์๋ฅผ ์ง์ ํฉ๋๋ค.
- ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋น์ฉ๊ณผ ์ฑ๋ฅ์ ๊ท ํ์ ๋ง์ถ์ธ์.
- ์ดํด๊ด๊ณ์์ ๊ธฐ๋์น๋ฅผ ๋ง์ถ๊ธฐ ์ํด ์ผ์ฐ๋ถํฐ ์ฐธ์ฌ์ํค์ธ์.
๊ธฐ์ ์ ์ฐ์์ฑ๋ง์ผ๋ก๋ ์ฑ๊ณต์ ๋ณด์ฅํ ์ ์์ต๋๋ค. ์ค์ง์ ์ด๊ณ ์ธก์ ๊ฐ๋ฅํ ๊ฐ์น๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด์๋ ํตํฉ ๋ ธ๋ ฅ์ด ๋น์ฆ๋์ค ๋ชฉํ์ ๊ธด๋ฐํ๊ฒ ์ฐ๊ณ๋์ด์ผ ํฉ๋๋ค.
์ฌ๋ก ์ฐ๊ตฌ ๋ฐ ์ค์ ์ฌ๋ก
๋ฉ์ธํ๋ ์๊ณผ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ฑ๊ณต์ ์ธ ํตํฉ์ ๋จ์ํ ์ด๋ก ์ ์ธ ์ฐ์ต์ด ์๋๋๋ค. ์กฐ์ง์ด ์ค์ง์ ์ธ ๋น์ฆ๋์ค ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์คํํ๋ ์ค์ํ๊ณ ์ํ ๋ถ๋ด์ด ํฐ ํ๋ก์ ํธ์ ๋๋ค. ์๋์๋ ๋ค์ํ ์ฐ์ ์ด ์ด ๋ณต์กํ ํตํฉ ๊ณผ์ ์ ์ด๋ป๊ฒ ์ ๊ทผํ๋์ง ๋ณด์ฌ์ฃผ๋ ์ค์ ์ฌ๋ก์ ๋ํ์ ์ธ ์ฌ๋ก ์ฐ๊ตฌ๊ฐ ๋์ ์์ต๋๋ค. ๊ฐ ์ฌ๋ก๋ ์ ์ฌํ ํ์ ์ ๊ณํํ๋ ๋ค๋ฅธ ์กฐ์ง์ ๋์์ด ๋ ์ ์๋ ํจํด, ํด ์ ํ, ๊ทธ๋ฆฌ๊ณ ์ค๊ณ ๊ณ ๋ ค ์ฌํญ์ ๊ฐ์กฐํฉ๋๋ค.
๊ธ์ต ์๋น์ค: ๊ท์ ๋ณด๊ณ ๋ฅผ ์ํ ์ผ๊ด ์คํ๋ก๋
ํ ๋ค๊ตญ์ ์ํ์ ์ ์ธ๊ณ ์ฌ์ ์ฅ ์ ๋ฐ์ ๊ฑธ์ณ ํตํฉ๋๊ณ ์์ธํ ๊ณผ๊ฑฐ ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌํ๋ ๋์์์ด ๋ณํํ๋ ๊ท์ ๋ณด๊ณ ์๊ฑด์ ์ค์ํด์ผ ํ์ต๋๋ค. ํต์ฌ ๋ฑ ํน ํ๋ซํผ์ IBM z/OS์ ํธ์คํ ๋์์ผ๋ฉฐ, ๊ฑฐ๋ ๋ฐ์ดํฐ๋ VSAM ๋ฐ์ดํฐ ์ธํธ์, ๊ด๊ณํ ํ ์ด๋ธ์ DB2์ ์ ์ฅ๋์ด ์์์ต๋๋ค.
ํตํฉ ํจํด: ๋ฐฐ์น ์คํ๋ก๋ฉ
- ๋งค์ผ ๋ฐค ์ผ๊ด ์ฒ๋ฆฌ ์์ ์ ํตํด VSAM ๋ฐ DB2 ํ ์ด๋ธ์ ํ๋ซ ํ์ผ๋ก ์ถ์ถํ์ต๋๋ค.
- COBOL ์ฌ๋ณธ์ ๋ ์ฝ๋ ๋ ์ด์์์ ์ ์ํฉ๋๋ค.
- EBCDIC ๋ฐ์ดํฐ๋ UTF-8๋ก ๋ณํ๋์์ต๋๋ค.
- ๋ฐ์ดํฐ๋ Parquet ํฌ๋งท์ผ๋ก ๋ณํ๋์ด Amazon S3์ ๋ก๋๋์์ต๋๋ค.
- AWS Glue ์นดํ๋ก๊ทธ์์ ๊ด๋ฆฌ๋๋ ์คํค๋ง ์ ์.
์ฃผ์ ๋๊ตฌ :
- ์ถ์ถ ๋ฐ ๋ณํ์ ์ํ IBM DataStage.
- ์ผ๊ฐ ์์ ํ๋ฆ์ ์กฐ์จํ๊ธฐ ์ํ ์์ดํ๋ก์ฐ.
- ์ ์ฅ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ํ AWS S3 ๋ฐ Glue.
๊ฒฐ๊ณผ:
- ๊ท์ ์ค์ ๋ณด๊ณ ๋ฐ ๋ด๋ถ ๋ถ์์ ์ง์ํ๋ ์ผ์ผ ๋ฐ์ดํฐ ์๋ก ๊ณ ์นจ.
- ๊ฐ์ฌ์์ ์ํ ์ค์ ์ง์ค์, ์ฟผ๋ฆฌ ๊ฐ๋ฅํ ๊ณผ๊ฑฐ ๊ฑฐ๋ ๋ฐ์ดํฐ์ ๋๋ค.
- ์๋ ๋ณด๊ณ ์ ๋ํ ๋ ธ๋ ฅ๊ณผ ์ค๋ฅ์จ์ด ๊ฐ์ํฉ๋๋ค.
์ด ์๋ ๊ธฐ์กด ๋ฉ์ธํ๋ ์ ์์ ์ ๋ฐฉํดํ์ง ์๊ณ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต๊ธํ๊ธฐ ์ํด ๊ธฐ์กด ์ผ๊ด ์ฒ๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ํ๋ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์๋ฃ: ์ฌ๊ธฐ ๊ฐ์ง๋ฅผ ์ํ ์ค์๊ฐ CDC
ํ ๋ํ ์๋ฃ๋ณดํ์ฌ๋ IMS์ DB2๋ฅผ ๊ตฌ๋ํ๋ ๋ฉ์ธํ๋ ์์ ์ ์ฅ๋ ์ฒญ๊ตฌ ๋ฐ์ดํฐ์ ๋ํ ์ค์๊ฐ ์ฌ๊ธฐ ํ์ง ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ ํ์ต๋๋ค. ์์ฌ์ค๋ฌ์ด ํจํด์ ์ ์ํ๊ฒ ์๋ณํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์น ๊ธฐ๋ฐ ํตํฉ์ ๋ถ๊ฐ๋ฅํ์ต๋๋ค.
ํตํฉ ํจํด: ์คํธ๋ฆฌ๋ฐ์ ํตํ ๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ(CDC)
- CDC ๋๊ตฌ๋ DB2 ๋ก๊ทธ๋ฅผ ์ฝ์ด ์ฝ์ , ์ ๋ฐ์ดํธ, ์ญ์ ๋ฅผ ์บก์ฒํ์ต๋๋ค.
- ๋ณ๊ฒฝ ์ฌํญ์ ๊ฑฐ์ ์ค์๊ฐ์ผ๋ก Apache Kafka ์ฃผ์ ์ ๊ฒ์๋์์ต๋๋ค.
- Spark Structured Streaming์ ์ด๋ฌํ ์ฃผ์ ๋ฅผ ๋ค๋ฃจ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ณ Parquet ํ์์ผ๋ก Azure Data Lake Storage์ ์๋๋ค.
- ๋ค์ด์คํธ๋ฆผ ML ๋ชจ๋ธ์ ์ฌ๊ธฐ ํ๊ฐ๋ฅผ ์ํด ์๋ก์ด ์ฒญ๊ตฌ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ต๋๋ค.
์ฃผ์ ๋๊ตฌ :
- ๋ก๊ทธ ๊ธฐ๋ฐ ์บก์ฒ๋ฅผ ์ํ IBM Infosphere CDC.
- ๋ฉ์์ง์ ์ํ Apache Kafka.
- ์ ์ฅ์์ฉ Azure Data Lake Storage Gen2.
- Spark ์คํธ๋ฆฌ๋ฐ ๋ฐ ML์ ์ํ Azure Databricks.
๊ฒฐ๊ณผ:
- ์ฌ๊ธฐ ํ์ง ๋๊ธฐ ์๊ฐ์ด ๋ฉฐ์น ์์ ๋ช ๋ถ์ผ๋ก ํฌ๊ฒ ๋จ์ถ๋์์ต๋๋ค.
- ์ฌ๊ธฐ ๋ชจ๋ธ์ ์ ํ์ฑ๊ณผ ๋์์ฑ์ด ํฅ์๋์์ต๋๋ค.
- ์ฒญ๊ตฌ ์ ์ถ์ ๋ํ ์ค์๊ฐ ๊ฐ์์ฑ์ด ์ ๊ณต๋ฉ๋๋ค.
์ด ์ฌ์ฉ ์ฌ๋ก๋ CDC๋ฅผ ์คํธ๋ฆฌ๋ฐ๊ณผ ๊ฒฐํฉํ์ฌ ๊ธฐ์กด ์ผ๊ด ์ฒ๋ฆฌ ํจ๋ฌ๋ค์์์๋ ๋ถ๊ฐ๋ฅํ๋ ์ด์ ๋ถ์์ ์ ๊ณตํ๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ๋ณด์ฌ์ค๋๋ค.
์ ๋ถ: ํต๊ณ ๋ถ์์ ์ํ ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์
ํ ๊ตญ๊ฐ ํต๊ณ์ฒญ์ ์ธ๊ตฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ํํด์ผ ํ์ต๋๋ค. ์ด ๋ฐ์ดํฐ๋ ๊ณผ๊ฑฐ์ ๋ฉ์ธํ๋ ์๊ณผ ๋ณต์กํ ๋ฐฐ์น ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. ๋ถ์๊ฐ๋ค์ ์๊ฒฉํ ๋ณด์๊ณผ ๋ฐ์ดํฐ ๊ณํต์ ์ ์งํ๋ฉด์๋ ์ธ๋ถ์ ์ธ ๋ฐ์ดํฐ์ ๋ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ด์ผ ํ์ต๋๋ค.
ํตํฉ ํจํด: ํ์ด๋ธ๋ฆฌ๋ ๋ฐฐ์น + API
- ๋งค์ผ ๋ฐค ์ผ๊ด ์ฒ๋ฆฌ ์์ ์ ํตํด ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ Avro ํ์์ Google Cloud Storage๋ก ์คํ๋ก๋ํ์ต๋๋ค.
- ์ฌ์ฉ์ ์ ์ NiFi ํ์ดํ๋ผ์ธ์ COBOL ์ฌ๋ณธ ์ ์๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ๋ ์ฝ๋๋ฅผ ๋ณํํ์ต๋๋ค.
- z/OS Connect๋ ์ ํ๋ ๋ฉ์ธํ๋ ์ ํธ๋์ญ์ ์ ์ฃผ๋ฌธํ ์ฟผ๋ฆฌ๋ฅผ ์ํ REST API๋ก ๋ ธ์ถํ์ต๋๋ค.
์ฃผ์ ๋๊ตฌ :
- NiFi๋ ํ์ฑ ๋ฐ ๋ฐ์ดํฐ ์ด๋์ ์ํ ๋๊ตฌ์ ๋๋ค.
- API ํ์ฑํ๋ฅผ ์ํ z/OS Connect.
- ๋ถ์์ ์ํด Google Cloud Storage์ BigQuery๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ฒฐ๊ณผ:
- ๋ถ์๊ฐ๋ BigQuery์์ SQL์ ์ฌ์ฉํ์ฌ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
- ๋ณด์ API๋ ์ฃผ์ ๋ฉ์ธํ๋ ์ ์์คํ ์ ๋ํ ํต์ ๋ ์ค์๊ฐ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ์ต๋๋ค.
- ๊ท์ ์ค์๋ฅผ ์ํด ์๊ฒฉํ ๋ฐ์ดํฐ ๊ณ๋ณด์ ๊ฐ์ฌ ๊ธฐ๋ฅ์ ์ ์งํ์ต๋๋ค.
์ด ์๋ ํ์ด๋ธ๋ฆฌ๋ ํตํฉ ํจํด์ด ๋จ์ผ์ ์์ง๋ ฅ ์๋ ์ํคํ ์ฒ ๋ด์์ ๋๊ท๋ชจ ๋ณด๊ณ ๋ฅผ ์ํ ์ผ๊ด ์ฒ๋ฆฌ, ํธ๋์ญ์ ์ก์ธ์ค๋ฅผ ์ํ API ๋ฑ ์ฌ๋ฌ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ฒ๋ฆฌํ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
์ํคํ ์ฒ ๋ค์ด์ด๊ทธ๋จ ๋ฐ ํจํด
ํน์ ๋ค์ด์ด๊ทธ๋จ์ ์กฐ์ง์ ์ ํ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง์ง๋ง ์ด๋ฌํ ๊ฒฝ์ฐ์ ์ผ๋ฐ์ ์ธ ๊ณ ๊ธ ์ํคํ ์ฒ๋ ๋ค์๊ณผ ๊ฐ์ ๊ณตํต ์์๋ฅผ ๊ณต์ ํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ถ์ฒ : ๋ฉ์ธํ๋ ์ ์์คํ (VSAM, IMS, DB2).
- ์ถ์ถ ๊ณ์ธต: ์ผ๊ด ์์ ๋๋ CDC ๋๊ตฌ.
- ์์ก: ์์ ํ ํ์ผ ์ ์ก, ๋ฉ์์ง ํ(Kafka), API.
- ๋ณํ: ETL ๋๊ตฌ(DataStage, Informatica), Spark ์์ , NiFi ํ๋ฆ.
- ์คํ ๋ฆฌ์ง : Parquet ๋๋ Avro ํ์์ ๊ฐ์ฒด ์ ์ฅ์(S3, ADLS, GCS).
- ์๋น: SQL ๊ธฐ๋ฐ ๋ถ์, BI ๋์๋ณด๋, ML ํ์ดํ๋ผ์ธ.
์ด๋ฌํ ์ฌ๋ก ์ฐ๊ตฌ๋ ๋ฉ์ธํ๋ ์๊ณผ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ํตํฉํ๋ ๋ฐ ๋จ ํ๋์ "์ฌ๋ฐ๋ฅธ" ๋ฐฉ๋ฒ์ ์๋ค๋ ๊ฒ์ ๊ฐ์กฐํฉ๋๋ค. ์ฑ๊ณต์ ์ธ ์ค๊ณ๋ ํน์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ, ๋ ๊ฑฐ์ ์์คํ ์ ์ ์ฝ ์กฐ๊ฑด, ๊ทธ๋ฆฌ๊ณ ๋์ ๋ถ์ ํ๋ซํผ์ ๋ง์ถฐ ์กฐ์ ๋ฉ๋๋ค.
๋ฉ์ธํ๋ ์-๋ฐ์ดํฐ ๋ ์ดํฌ ํตํฉ์ ๋ฏธ๋ ๋ํฅ
๋ง์ ์กฐ์ง์ด ์ค๋๋ ์ ํตํฉ ๊ณผ์ ํด๊ฒฐ์ ์ง์คํ๋ ํํธ, ๋ฏธ๋ ์งํฅ์ ์ธ ํ๋ค์ ๋ฉ์ธํ๋ ์-๋ฐ์ดํฐ ๋ ์ดํฌ ์ํคํ ์ฒ๊ฐ ํฅํ ๋ช ๋ ๋์ ์ด๋ป๊ฒ ๋ฐ์ ํ ์ง ๊ณํํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ์๋ก์ด ํธ๋ ๋๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ค๊ณ, ์ค์๊ฐ ๋ถ์, AI/ML ๊ธฐ๋ฐ ์ํฌ๋ก๋, ๋ถ์ฐํ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๋ฑ ๊ธฐ์ IT์ ๊ด๋ฒ์ํ ๋ณํ๋ฅผ ๋ฐ์ํฉ๋๋ค.
์ด๋ฌํ ์ถ์ธ๋ฅผ ์ดํดํ๋ฉด ์กฐ์ง์ด ํ์ฌ ํจ๊ณผ์ ์ผ ๋ฟ๋ง ์๋๋ผ ๋ฏธ๋์๋ ํ๋ณต๋ ฅ๊ณผ ์ ์๋ ฅ์ด ๋ฐ์ด๋ ํตํฉ ์ ๋ต์ ์ค๊ณํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
๋ฉ์ธํ๋ ์ ํ๋ํ ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค
ํ์ฌ ์งํ ์ค์ธ ๊ฐ์ฅ ํฐ ๋ณํ ์ค ํ๋๋ ๋ฉ์ธํ๋ ์ ์ํฌ๋ก๋ ์์ฒด์ ์ ์ง์ ์ธ ํ๋ํ์ ๋๋ค. ๊ธฐ์ ๋ค์ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์คํ๋ก๋ํ๋ ๋ฐ ๊ทธ์น์ง ์๊ณ , ๋ ๊ฑฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ก ๋ฆฌํฉํ ๋งํ๊ฑฐ๋ ํ๋ซํผ์ ์ฌ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ชจ์ํ๊ณ ์์ต๋๋ค.
์ด๋ฌํ ํ๋ํ ์ ๊ทผ ๋ฐฉ์์ ํ์คํ๋ API๋ฅผ ํตํด ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ฐ์ดํฐ๋ฅผ ๋ ธ์ถํจ์ผ๋ก์จ ์ฅ๊ธฐ์ ์ธ ํตํฉ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์์ต๋๋ค. ํ๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฒด ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ด๋ณด๋ด๋ ๋์ , ์ธ๋ฐํ ๋ณด์ ๋ฐ ๊ฑฐ๋ฒ๋์ค๋ฅผ ํตํด ์ค์๊ฐ ๋ฐ์ดํฐ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
IBM z/OS Connect์ ๊ฐ์ ๋๊ตฌ๋ ์ด๋ฌํ ์ถ์ธ๋ฅผ ์กฐ๊ธฐ์ ์คํํ๋ ๋ฐ ๊ธฐ์ฌํ์ฌ ํ์ด ๊ธฐ์กด COBOL ๋๋ CICS ํ๋ก๊ทธ๋จ์ ์์ ํ ์ฌ์์ฑํ์ง ์๊ณ ๋ ์ ์ง์ ์ผ๋ก API๋ฅผ ์ง์ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ ๋ง์ ๋ฉ์ธํ๋ ์ ์ํฌ๋ก๋๊ฐ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํ๋ซํผ์ผ๋ก ์์ ํ ๋ง์ด๊ทธ๋ ์ด์ ๋์ด ๋ฐ์ดํฐ ๋ ์ดํฌ ๋ฐ ๋ถ์ ์๋น์ค์์ ํตํฉ์ด ๋์ฑ ๊ฐ์ํ๋ ๊ฒ์ ๋๋ค.
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ CDC ๋ฐ ๋ณต์ ํ์ดํ๋ผ์ธ
ํด๋ผ์ฐ๋ ํ๋ซํผ์ด ์ฑ์ํด์ง์ ๋ฐ๋ผ ์จํ๋ ๋ฏธ์ค ๋ฉ์ธํ๋ ์๊ณผ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง๋ฅผ ์ฐ๊ฒฐํ๋๋ก ํน๋ณํ ๊ตฌ์ถ๋ ๊ด๋ฆฌํ CDC ๋ฐ ๋ฐ์ดํฐ ๋ณต์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ์ ์ฐจ ๋์ด๋๊ณ ์์ต๋๋ค.
AWS, Azure, Google Cloud๋ ๋ฉ์ธํ๋ ์ ํธ๋์ญ์ ๋ก๊ทธ์ ์ธ๋ถ์ ์ธ ๋ถ๋ถ๊น์ง ์ฒ๋ฆฌํ ์ ์๋ ์ ์ง์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ฐ์ถ CDC ํ์ดํ๋ผ์ธ์ ๋ง๋ํ ํฌ์๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ์๋น์ค๋ ๋ง์ถคํ ETL ๊ฐ๋ฐ์ ํ์์ฑ์ ์ค์ด๊ณ ์์ ์ฑ๊ณผ ๋ชจ๋ํฐ๋ง์ ํฅ์์ํต๋๋ค.
๋ฏธ๋์ ์ํคํ ์ฒ๋ ๋ฉ์ธํ๋ ์์ ๋ณ๊ฒฝ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ํตํฉ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ํ๋ซํผ์ ๋ ๋ค๋ฅธ ์์ค๋ก ์ฒ๋ฆฌํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ด๋ฅผ ํตํด ์ค์๊ฐ ๋ถ์, AI ๋ชจ๋ธ ํ์ต, ์ด์ ๋ณด๊ณ ๋ฅผ ์ง์ํ๊ธฐ๊ฐ ๋ ์ฌ์์ง ๊ฒ์ ๋๋ค.
๋ฐ์ดํฐ ๊ฐํ๋ฅผ ์ํ AI ๋ฐ ML
๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ์ ์ฅ๋๋ฉด, ์กฐ์ง์์๋ ์ ์ ๋ ๋จธ์ ๋ฌ๋๊ณผ AI๋ฅผ ์ ์ฉํ์ฌ ๋น์ฆ๋์ค ๊ฐ์น๋ฅผ ์ฐฝ์ถํ๊ณ ์์ต๋๋ค.
- ๊ณผ๊ฑฐ ์ฒญ๊ตฌ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋ ์ฌ๊ธฐ ํ์ง ๋ชจ๋ธ์ ๋๋ค.
- ์ด์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์์ธก ์ ์ง ๊ด๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- ๊ฑฐ๋ ๋ด์ญ์ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ณ ๊ฐ ์ธ๋ถํ ๋ฐ ๊ฐ์ธํ ๋ชจ๋ธ.
ML ํ๋ซํผ์ด ๋์ฑ ์ ๊ทผ์ฑ์ด ๋์์ง์ ๋ฐ๋ผ ํตํฉ ํ์ดํ๋ผ์ธ์๋ ๋ฐ์ดํฐ ์ด๋ ๋ฐ ๋ณํ๋ฟ๋ง ์๋๋ผ ๊ธฐ๋ฅ ์์ง๋์ด๋ง, ๋ชจ๋ธ ์ถ๋ก , ์ด์ ์์คํ ์ผ๋ก์ ํผ๋๋ฐฑ ๋ฃจํ๋ ์ ์ ๋ ํฌํจ๋๊ฒ ๋ ๊ฒ์ ๋๋ค.
ํตํฉ ์ค๊ณ์์๋ ML ๋ชจ๋ธ์ ํ์ต ๋ฐ ํ๊ฐ์ ์ ํฉํ ์์ค์์ ๋ฐ์ดํฐ ํ์ง, ๊ณ๋ณด ๋ฐ ์ต์ ์ฑ์ ๋ณด์ฅํ์ฌ ์ด๋ฌํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
์๋ฒ๋ฆฌ์ค ๋ฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ETL
์๋ฒ๋ฆฌ์ค์ ์ด๋ฒคํธ ๊ธฐ๋ฐ ํจ๋ฌ๋ค์์ ์กฐ์ง์ด ๋ฐ์ดํฐ ํตํฉ์ ์๊ฐํ๋ ๋ฐฉ์์ ๋ฐ๊พธ๊ณ ์์ต๋๋ค.
๋ชจ๋๋ฆฌ์ ์ผ๊ฐ ๋ฐฐ์น ์์ ์ด๋ ์ฅ์๊ฐ ์คํ๋๋ ETL ์๋ฒ ๋์ , ๊ธฐ์ ๋ค์ ์๋ฒ๋ฆฌ์ค ํ๋ซํผ ๊ธฐ๋ฐ์ ์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ ํ์ดํ๋ผ์ธ์ผ๋ก ์ ํํ๊ณ ์์ต๋๋ค. AWS Lambda, Azure Functions, Google Cloud Functions๋ ๊ฐ์ฒด ์ ์ฅ์์ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ์ ์ ๋๊ฑฐ๋ ๋ฉ์์ง ํ์ ์๋ก์ด ์ด๋ฒคํธ๊ฐ ์ ์ ๋ ๋ ๋์ํ์ฌ ์จ๋๋งจ๋ ๋ฐฉ์์ผ๋ก ๋ณํ ์์ ์ ์์ํ ์ ์์ต๋๋ค.
์ด ๋ชจ๋ธ์ ์ ํด ์ธํ๋ผ๋ฅผ ์ ๊ฑฐํ์ฌ ๋น์ฉ์ ์ ๊ฐํ๊ณ ์๊ฐ์ ๋ฏผ๊ฐํ ์ฌ์ฉ ์ฌ๋ก์ ์๋ต์ฑ์ ํฅ์์ํต๋๋ค. ๋ฉ์ธํ๋ ์ ํตํฉ์ ํนํ CDC ๋ฐ ์คํธ๋ฆฌ๋ฐ ์๋๋ฆฌ์ค์์ ์ด๋ฌํ ์๋ฒ๋ฆฌ์ค ํจํด์ ์ ์ ๋ ๋ง์ด ํ์ฉํ ๊ฒ์ ๋๋ค.
๋ฐ์ดํฐ ๋ฉ์ ๋ฐ ํ๋๋ ์ด์ ๊ฑฐ๋ฒ๋์ค
๋ฐ์ดํฐ ๋ ์ดํฌ๊ฐ ์ปค์ง์ ๋ฐ๋ผ ์ค์ ๋ณ๋ชฉ ํ์์ ํผํ๋ ๊ฐ๋ ฅํ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค์ ์กฐ์ง ๋ชจ๋ธ์ ๋ํ ํ์์ฑ๋ ์ปค์ง๋๋ค.
๋ฐ์ดํฐ ๋ฉ์ ํจ๋ฌ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ์ ํ์ผ๋ก ์ทจ๊ธํ๋๋ก ์ฅ๋ คํ๋ฉฐ, ๋๋ฉ์ธ ์ค์ฌ ํ์ด ๋ฐ์ดํฐ ์ธํธ์ ํ์ง, ๋ฌธ์ํ ๋ฐ ์ ๊ทผ์ฑ์ ์์ ํ๋๋ก ํฉ๋๋ค. ๋ฉ์ธํ๋ ์ ํตํฉ์ ๊ฒฝ์ฐ, ์ด๋ ๋ค์์ ์๋ฏธํฉ๋๋ค.
- ๋ฉ์ธํ๋ ์์์ ํ์๋ ๋ฐ์ดํฐ ์ ํ์ ์์ ๊ถ์ ๋ช ํํ๊ฒ ์ ์ํฉ๋๋ค.
- ๊ฐ๋ ฅํ ๋ฉํ๋ฐ์ดํฐ์ ๊ณ๋ณด ์ถ์ .
- ์คํ ๋ฆฌ์ง ๊ณ์ธต ์ ๋ฐ์ ๊ฑธ์น ํ์คํ๋ ์ก์ธ์ค ์ ์ฑ .
์ฐํฉ ๊ฑฐ๋ฒ๋์ค๋ ์๊ฒฉํ๊ฒ ๊ท์ ๋๋ ๋ฉ์ธํ๋ ์ ๋ฐ์ดํฐ์กฐ์ฐจ๋ ์กฐ์ง ๋ด์์ ์ฑ ์๊ฐ ์๊ฒ ๋ฏผ์ฃผํํ์ฌ ์ฌ์ผ๋ก ํ์์ ๋ฐฉ์งํ๊ณ ๊ท์ ์ค์๋ฅผ ์ ์งํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ฏธ๋๋ฅผ์ํ ์ค๋น
์ด๋ฌํ ์ถ์ธ๋ ๋ฉ์ธํ๋ ์๊ณผ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ํตํฉ์ด ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ๋ ๊ฒ์ด ์๋๋ผ ๊ธฐ์ ์ด ๋ ๋น ๋ฅด๊ณ ํจ๊ณผ์ ์ผ๋ก ํ์ ํ ์ ์๋๋ก ํ๋ค๋ ์ ์ ๋ณด์ฌ์ค๋๋ค.
๊ฑด์ถ๊ฐ์ ์์ง๋์ด๋ง ํ์ ๋ค์์ ๊ณํํด์ผ ํฉ๋๋ค.
- ๋ฐฐ์น, CDC, ์คํธ๋ฆฌ๋ฐ, API๋ฅผ ํผํฉํ ํ์ด๋ธ๋ฆฌ๋ ์ํฌ๋ก๋๋ฅผ ์ง์ํฉ๋๋ค.
- ML ๋ฐ ์ค์๊ฐ ๋ถ์์ ์ํด ํ์ฅ ๊ฐ๋ฅํ ํ์ดํ๋ผ์ธ์ ์ค๊ณํฉ๋๋ค.
- ๋ฉํ๋ฐ์ดํฐ, ๊ณ๋ณด, ๋ณด์์ ๋ํ ํฌ์๋ฅผ ์ต์ฐ์ ์ผ๋ก ์๊ฐํฉ๋๋ค.
- ํตํฉ ์ ๋ต์ ๋ณด๋ค ๊ด๋ฒ์ํ ํ๋ํ ๋ฐ ํด๋ผ์ฐ๋ ์ ๋ต์ ๋ง์ถฐ ์กฐ์ ํฉ๋๋ค.
์ด๋ฌํ ์ถ์ธ๋ฅผ ์์ธกํ๋ ์กฐ์ง์ ์ค๋๋ ์ ํฌ์๊ฐ ๋ฏธ๋์๋ ๊ฐ์น๋ฅผ ์ ์งํ๋๋ก ๋ณด์ฅํ ์ ์์ผ๋ฉฐ, ๋ฏธ๋์๋ ๋ณํํ๋ ๋ถ์ ์๊ตฌ์ ๋น์ฆ๋์ค ์ฐ์ ์์๋ฅผ ๋ท๋ฐ์นจํ ์ ์๋ ๊ธฐ๋ฐ์ ๋ง๋ จํ ์ ์์ต๋๋ค.
๊ถ์ฅ ์ฌํญ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก
๊ธฐ์กด ๋ฉ์ธํ๋ ์๊ณผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ํตํฉํ๋ ๊ฒ์ ์๋นํ ๋น์ฆ๋์ค ๊ฐ์น๋ฅผ ์ฐฝ์ถํ ์ ์๋ ์ค์ํ ์ด๋์ ํฐ๋ธ์ด์ง๋ง, ๋ช ํํ ์ ๋ต ์์ด ์ ๊ทผํ๋ฉด ๋ณต์กํ๊ณ ์ํํ ์๋ ์์ต๋๋ค.
์ ๊ณ ๊ฒฝํ๊ณผ ์ฑ๊ณต์ ์ธ ์ฌ๋ก ์ฐ๊ตฌ๋ฅผ ๋ฐํ์ผ๋ก, ์กฐ์ง์ด ์ด ์ฌ์ ์ ํจ๊ณผ์ ์ผ๋ก ํ์ํ๋ ๋ฐ ๋์์ด ๋๋ ์ฃผ์ ๊ถ์ฅ ์ฌํญ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์๊ฐํฉ๋๋ค.
๋ฐ์ดํฐ ๋ฏผ๊ฐ๋๋ฅผ ์กฐ๊ธฐ์ ํ๊ฐํ์ธ์
๋ฉ์ธํ๋ ์์ ๊ธ์ต ๊ฑฐ๋, ๊ฐ์ธ ๊ฑด๊ฐ ์ ๋ณด, ๊ณ ๊ฐ ๊ณ์ข ์ ๋ณด ๋ฑ ์กฐ์ง์ ๊ฐ์ฅ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ํตํฉ ํ์ดํ๋ผ์ธ์ ์ค๊ณํ๊ธฐ ์ ์ ํ์ ๋ฐ์ดํฐ ๋ฏผ๊ฐ๋ ๋ฐ ๋ถ๋ฅ์ ๋ํ ์ฒ ์ ํ ํ๊ฐ๋ฅผ ์ํํด์ผ ํฉ๋๋ค.
- PII, PCI, HIPAA ๊ท์ ๋๋ ๊ธฐํ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์์๋ฅผ ์๋ณํฉ๋๋ค.
- ์ด๋ํ๊ธฐ ์ ์ ๋ฐ์ดํฐ ๋ง์คํน ๋๋ ํ ํฐํ ์๊ตฌ ์ฌํญ์ ์ ์ํฉ๋๋ค.
- ์ํธํ ์ ์ฑ (์ ์ก ์ค ๋ฐ ์ ์ฅ ์ค)์ด ๋ช ํํ๊ฒ ์ ์๋์ด ์๋์ง ํ์ธํ์ธ์.
์กฐ๊ธฐ์ ํ๊ฐํ๋ฉด ๋น์ฉ์ด ๋ง์ด ๋๋ ์ฌ์ค๊ณ๋ฅผ ํผํ ์ ์๊ณ ์ฒ์๋ถํฐ ๊ท์ ์ค์๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค.
์๊ท๋ชจ ๊ฐ๋ ์ฆ๋ช ์ผ๋ก ์์ํ์ธ์
ํ์ด ์์ญ ๋ ๊ฐ์ ์ผ๊ด ์์ ๊ณผ ์ฌ์ฉ์ ์ง์ ์ฝ๋๋ฅผ ๋จ์ผ ๋จ๊ณ๋ก ๋์ฒดํ๋ ค๊ณ ํ๋ฉด ํตํฉ ํ๋ก์ ํธ๊ฐ ์ข ์ข ์คํจํฉ๋๋ค. ๋์ ๋ค์์ ์ํํ์ญ์์ค.
- ํตํฉ ํจํด์ ์ฆ๋ช ํ๊ธฐ ์ํด ๋ช ํํ๊ฒ ์ ์๋ ๋จ์ผ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ ํํฉ๋๋ค.
- ๋ํ์ ์ธ ๋ฐ์ดํฐ ํ์ ์งํฉ์ ๋ํ ๋๊ตฌ์ ๋ณํ์ ๊ฒ์ฆํฉ๋๋ค.
- ๋ฉ์ธํ๋ ์ ํ๊ณผ ๋ฐ์ดํฐ ๋ ์ดํฌ ์์ง๋์ด๋ฅผ ๋ชจ๋ ์ค๊ณ ๋ฐ ์คํ์ ์ฐธ์ฌ์ํต๋๋ค.
๊ฐ๋ ์ฆ๋ช ์ ์ํ์ ์ค์ด๊ณ , ์ดํด๊ด๊ณ์์ ์ ๋ขฐ๋ฅผ ๊ตฌ์ถํ๋ฉฐ, ๋ณด๋ค ๊ด๋ฒ์ํ ์ถ์๋ฅผ ์ํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํจํด์ ๋ง๋ญ๋๋ค.
์๋ํ๋ ๋ฉํ๋ฐ์ดํฐ ๋ฐ ๋งคํ์ ํฌ์ํ์ธ์
COBOL ์ฌ๋ณธ์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ , EBCDIC ๋ณํ์ ์ฒ๋ฆฌํ๊ณ , ์ต์ ์คํค๋ง์ ๋งคํํ๋ ์์ ์ ์๋์ผ๋ก ์ํํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๊ณ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๋ํ๋ ์ฌ๋ณธ ๋ถ์ ๋ฐ ์คํค๋ง ๋งคํ์ ์ง์ํ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๊ธฐ ์ํด ๋ฒ์ ์ด ์ง์ ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค.
- ์ผ๊ด์ฑ์ ๊ฐํํ๊ธฐ ์ํด AWS Glue๋ Azure Purview์ ๊ฐ์ ๋ฉํ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ๋ฅผ ํตํฉํฉ๋๋ค.
๊ฐ๋ ฅํ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ํตํด ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ณ ํตํฉ์ด ํ์ฅ๋จ์ ๋ฐ๋ผ ์ ์ง ๊ด๋ฆฌ๊ฐ ๊ฐ์ํ๋ฉ๋๋ค.
SLA๋ฅผ ๋น์ฆ๋์ค ๊ธฐ๋์น์ ๋ง์ถฐ ์กฐ์
ํตํฉ ์ค๊ณ์ ๋ํ ๊ฒฐ์ ์ ํญ์ ๋ช ํํ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ, ํนํ ๋ฐ์ดํฐ ์ต์ ์ฑ๊ณผ ๊ด๋ จ๋ ์ฌํญ๊ณผ ๊ด๋ จ๋์ด์ผ ํฉ๋๋ค.
- ์ผ๊ด ์ฒ๋ฆฌ ์คํ๋ก๋ฉ์ ์ผ์ผ ๋ณด๊ณ ์๋ ์ ํฉํ ์ ์์ง๋ง ์ค์๊ฐ ์ฌ๊ธฐ ๊ฐ์ง์๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค.
- CDC ๋๋ ์คํธ๋ฆฌ๋ฐ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ๋ฉด ์ง์ฐ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์์ง๋ง ์ด์์ ๋ ๋ง์ ํฌ์๊ฐ ํ์ํฉ๋๋ค.
- API๋ ๋๊ท๋ชจ ๋ณต์ ์์ด๋ ํธ๋์ญ์ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ง๋ง ๋ถ์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ง์ํ์ง ์์ ์ ์์ต๋๋ค.
ํ๋ก์ ํธ ๋ผ์ดํ์ฌ์ดํด ํ๋ฐ์ ์์์น ๋ชปํ ์ผ์ด ๋ฐ์ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋น์ฆ๋์ค ์ดํด ๊ด๊ณ์์ SLA๋ฅผ ์ผ์ฐ ๋ฌธ์ํํ๊ณ ํฉ์ํ์ธ์.
์ด์ ์ค๋น์ฑ ์ฐ์ ์์ ์ง์
ํตํฉ ํ์ดํ๋ผ์ธ์ ์ค์ ํ ์์ด๋ฒ๋ฆฌ๋ ์์คํ ์ด ์๋๋๋ค. ๋ค์์ ํฌํจํ ๊ฐ๋ ฅํ ์ด์ ์ค๊ณ๊ฐ ํ์ํฉ๋๋ค.
- ์์ ์คํ, ์ง์ฐ ์๊ฐ, ์คํจ์จ ๋ชจ๋ํฐ๋ง.
- ๊ฐ์ฌ ๋ฐ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์ถฉ๋ถํ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ก๊น ํฉ๋๋ค.
- ์ด์ ํ์ ๊ฒฝ๊ณ ํ์ฌ ์ฌ์ ์๋ฐฉ์ ๋ฌธ์ ํด๊ฒฐ์ ์ง์ํฉ๋๋ค.
- ์ง์ ์ง์์ ์ํ ์ง์นจ์์ ๊ต์ก.
ํตํฉ ์์ ์ ๋ช ํํ ์์ ๊ถ๊ณผ ์ง์ ๊ณํ์ ๊ฐ์ถ ํ๋ก๋์ ์์ ์ผ๋ก ์ทจ๊ธํฉ๋๋ค.
์ฆ๋ถ์ ํ๋ํ ํ์ฑํ
๋ฉ์ธํ๋ ์์ ์์ ํ ๊ต์ฒดํ๋ ๊ฒ์ด ์ฅ๊ธฐ์ ๋ชฉํ์ผ ์ ์์ง๋ง, ๋๋ถ๋ถ์ ์กฐ์ง์ ๋จ๊ธฐ์ ์ผ๋ก ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ์ ์ฑํํฉ๋๋ค.
- ์ผ๊ด ์คํ๋ก๋ฉ์ ์ฌ์ฉํ๋ฉด ๋๊ท๋ชจ ๊ณผ๊ฑฐ ๋ถ์์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๋์ฑ ์๊ฒฉํ SLA๋ฅผ ์ ์ฉํ์ฌ ์ด์ ๋ถ์์ ์ํด CDC์ ์คํธ๋ฆฌ๋ฐ์ ์ถ๊ฐํ์ธ์.
- ๋ณต์ ์์ด ์ค์๊ฐ ์ก์ธ์ค๋ฅผ ์ํด ๋ฉ์ธํ๋ ์ ์๋น์ค๋ฅผ API๋ก ๋ํํฉ๋๋ค.
์ฆ๋ถ์ ์ ๊ทผ ๋ฐฉ์์ ์ํ์ ์ค์ด๊ณ ํ์ด ์ ์ํ ์๊ฐ์ ์ ๊ณตํ๋ ๋์์ ๊ฐ์น๋ฅผ ๋น ๋ฅด๊ฒ ์ ๊ณตํฉ๋๋ค.
์ฒ์๋ถํฐ ๋ณด์ ๋ฐ ๊ท์ ์ค์๋ฅผ ์ํด ๊ตฌ์ถ
๋ณด์์ ๋์ค์ ์ถ๊ฐํ๋ ๊ฒ์ด ์๋๋ผ ์ฒ์๋ถํฐ ์ค๊ณ๋์ด์ผ ํฉ๋๋ค.
- ๋ชจ๋ ๋ฐ์ดํฐ ์ด๋์ ๋ํด ๊ฐ๋ ฅํ ์ธ์ฆ๊ณผ IAM ํตํฉ์ ์ํํฉ๋๋ค.
- ์ ์ก ์ค์ธ ๋ฐ์ดํฐ(TLS)์ ์ ์ฅ ์ค์ธ ๋ฐ์ดํฐ(S3 SSE, Azure Storage ์ํธํ)๋ฅผ ์ํธํํฉ๋๋ค.
- ์ต์ ๊ถํ ์ก์ธ์ค๋ฅผ ์ํํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๋ ์ดํฌ ๊ณ์ธต์ ์ก์ธ์ค ์ ์ด๋ฅผ ๊ตฌํํฉ๋๋ค.
- ๊ท์ ์ค์ ๋ณด๊ณ ๋ฅผ ์ํด ์์ธํ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์ ์งํ์ธ์.
- ์์ค์์ ํ๊ฒ์ผ๋ก์ ๋ณํ์ ๋ํ ํฌ๋ช ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๊ณ๋ณด ์ถ์ ์ ์ ์ฉํฉ๋๋ค.
์ด๋ฌํ ๊ดํ์ ์ํ์ ์ค์ด๊ณ ๊ท์ ๊ธฐ๊ด๊ณผ ๊ธฐ์ ์ดํด๊ด๊ณ์์์ ์ ๋ขฐ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
์ฌ์ผ๋ก ๊ฐ ํ์
๋ฉ์ธํ๋ ์ ์ ๋ฌธ๊ฐ์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ํ์ ์ข ์ข ์๋ก ๋ค๋ฅธ ๋๊ตฌ, ํ๋ก์ธ์ค, ๊ทธ๋ฆฌ๊ณ ๋ฌธํ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฑ๊ณต์ ์ธ ํ๋ก์ ํธ๋ ํ์ ์ ๊ฐ์กฐํฉ๋๋ค.
- ์คํ ๊ฐ๋ฅ์ฑ๊ณผ ์ฐธ์ฌ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํ ๊ต์ฐจ ๊ธฐ๋ฅ์ ๋์์ธ ๊ฒํ .
- ๊ณต์ ๋ฌธ์ ๋ฐ ๋ฉํ๋ฐ์ดํฐ ํ์ค.
- ๊ณต๋์ด์์ง์๋ชจ๋ธ.
์กฐ์ง์ ์ฌ์ผ๋ก๋ฅผ ํด์ํ๋ ๊ฒ์ ๊ธฐ์ ์ ์ฌ์ผ๋ก๋ฅผ ํด์ํ๋ ๊ฒ๋งํผ ์ค์ํฉ๋๋ค.
์ฅ๊ธฐ์ ์ ์ง ๊ด๋ฆฌ์ ์ง์ค
๋ด์ผ์ ์ ์ฐ์ด ๋ ์ทจ์ฝํ๊ณ ๋ถํฌ๋ช ํ ์๋ก์ด ์ธ๋์ ํ์ดํ๋ผ์ธ์ ๋ง๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ์ง ๊ด๋ฆฌ์ ์ฐ์ ์์๋ฅผ ์ ํ์ธ์.
- ์คํค๋ง ๊ด๋ฆฌ ๋ฐ ๋ณํ์ ์๋ํํฉ๋๋ค.
- ๋ฒ์ ์ ์ด ETL ๊ตฌ์ฑ ๋ฐ ์ฝ๋.
- ์ข ๋จ ๊ฐ ๋ฐ์ดํฐ ํ๋ฆ๊ณผ ์์ ๊ถ์ ๋ฌธ์ํํฉ๋๋ค.
- ์๋ก์ด ์ฌ์ฉ ์ฌ๋ก์ ๋ง์ถฐ ๋ชจ๋ํํ๊ณ ํ์ฅํ ์ ์๋ ํ์ดํ๋ผ์ธ์ ์ค๊ณํฉ๋๋ค.
์ ์ ์ง๊ด๋ฆฌ๋ ํตํฉ ํ๋ ์์ํฌ๋ ๋ณํํ๋ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ง์ํ๊ณ ์ค์๊ฐ ๋ถ์, ๋จธ์ ๋ฌ๋, ํด๋ผ์ฐ๋ ๋ง์ด๊ทธ๋ ์ด์ ๊ณผ ๊ฐ์ ๋ฏธ๋ ๋ํฅ์ ์ ์ํ๋ ๋ฐ ๋๋ ๋น์ฉ์ ์ค์ฌ์ค๋๋ค.
์ ์ฐ์ ๊ธฐํ๋ก ์ ํ
๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์๊ณผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋จ์ํ ๊ธฐ์ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ก์ ํธ๊ฐ ์๋๋๋ค. ์ด๋ ์์ญ ๋ ๊ฐ ์ถ์ ๋ ๊ท์คํ ๋ฐ์ดํฐ๋ฅผ ๊ณ ๊ธ ๋ถ์, ์ค์๊ฐ ์์ฌ ๊ฒฐ์ , ๋จธ์ ๋ฌ๋์ ํ์ฉํ ์ ์๋ ์ ๋ต์ ์ด๋์ ํฐ๋ธ์ ๋๋ค. ์ด๋ฌํ ๋ ธ๋ ฅ์ ์ฑ๊ณตํ๋ ๊ธฐ์ ์ ๊ฒฝ์ง๋๊ณ ๋ถ์ฐ๋ ์์คํ ์ ๋ณํํ๋ ๋น์ฆ๋์ค ์๊ตฌ๋ฅผ ์ง์ํ ์ ์๋ ๋ฏผ์ฒฉํ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ํ๋ซํผ์ผ๋ก ์ ํํจ์ผ๋ก์จ ๊ฐ๋ ฅํ ์ด์ ์ ์ป๊ฒ ๋ฉ๋๋ค.
์ด๋ฌํ ํตํฉ์ ๋ฌ์ฑํ๋ ค๋ฉด ์ ์คํ ๊ณํ๊ณผ ์๊ฒฉํ ์คํ์ด ํ์ํฉ๋๋ค. ํ์ ๋ ์ ์ ์ธ ๋ฐ์ดํฐ ํ์๊ณผ ๋ฐฐ์น ์ค์ฌ ํ๋ก์ธ์ค๋ถํฐ ๋ณด์, ๊ท์ ์ค์, ์ด์์์ ๋ณต์ก์ฑ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ๊ณผ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ๋ฐฐ์น ์คํ๋ก๋, CDC, ์คํธ๋ฆฌ๋ฐ ๋๋ API ๋ฑ ์ ํฉํ ํตํฉ ํจํด์ ์ ํํ๋ ค๋ฉด ๋ฐ์ดํฐ ์ต์ ์ฑ, ์ง์ฐ ์๊ฐ ๋ฐ ์ก์ธ์ค ์ ์ด์ ๋ํ ๊ตฌ์ฒด์ ์ธ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ดํดํด์ผ ํฉ๋๋ค.
๊ธฐ์ ์ ํ ๋ํ ์ค์ํฉ๋๋ค. ์ฑ์ํ ETL ๋๊ตฌ, ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์๋น์ค, ์คํ์์ค ํ๋ ์์ํฌ, ๊ทธ๋ฆฌ๊ณ Smart TS XL๊ณผ ๊ฐ์ ํน์ ์๋ฃจ์ ์ ๊ฐ๊ฐ ๋ค๋ฅธ ์๋๋ฆฌ์ค์์ ์ญํ ์ ์ํํฉ๋๋ค. ์ต๊ณ ์ ์ํคํ ์ฒ๋ ์ข ์ข ์ฌ๋ฌ ํจํด๊ณผ ๋๊ตฌ๋ฅผ ๊ฒฐํฉํ์ฌ ๊ธฐ์ ์ ๋ฐ์ ๋ค์ํ ์๊ตฌ๋ฅผ ์ถฉ์กฑํฉ๋๋ค.
์ด์ ๋ฐ ์กฐ์ง ์ธก๋ฉด๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค์ํฉ๋๋ค. ์ฑ๊ณต์ ์ธ ํตํฉ ํ๋ก์ ํธ๋ ์ฒ์๋ถํฐ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ, ์๋ํ, ๋ชจ๋ํฐ๋ง ๋ฐ ๋ณด์์ ์ฐ์ ์ํฉ๋๋ค. ๋ฉ์ธํ๋ ์ ์ ๋ฌธ๊ฐ์ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ ์์ง๋์ด๋ง ํ ๊ฐ์ ๊ธด๋ฐํ ํ์ ์ ์ฅ๋ คํฉ๋๋ค. ๋ํ ํฅํ ์ฑ์ฅ์ ์ง์ํ๊ธฐ ์ํด ์ ์ง ๊ด๋ฆฌ, ํ์ฅ ๋ฐ ํฌ๋ช ํ ํ๋ก์ธ์ค์ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํฉ๋๋ค.
๊ถ๊ทน์ ์ผ๋ก ๋ฉ์ธํ๋ ์๊ณผ ์ต์ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋จ์ํ ํ๋์ ์์คํ ์ ๋ค๋ฅธ ์์คํ ์ผ๋ก ๋์ฒดํ๋ ๊ฒ์ด ์๋๋ผ, ๊ณต์กด์ ์คํํ๊ณ ๊ธฐ์ ๋ฐ์ดํฐ์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋ช ํํ ์ ๋ต, ์ ์ ํ ๊ธฐ์ , ๊ทธ๋ฆฌ๊ณ ์ฅ๊ธฐ์ ์ธ ์ง์๊ฐ๋ฅ์ฑ์ ๋ํ ์ง์ค์ ํตํด ๊ธฐ์ ์ ์ด ๋ณต์กํ ๊ณผ์ ๋ฅผ ๊ฒฝ์ ์ฐ์์ ํ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ ์ ์์ต๋๋ค.