본문 바로가기
법, 용어/용어

[실시간DW] CDC와 ETL

by 3604 2026. 1. 13.
728x90

요즘같이 정보의 저장, 가공, 이용이 기업의 경쟁력의 중요한 초석이 되는 사회에서 기업들은 보다 데이터를 체계적으로 조직하고 효율적으로 분석하기 위해 데이터웨어하우스에 주목하고 있다. 또한 현행화된 자료를 기반으로 DW구축을 원하는 기업의 수요가 늘어나고 있다.

데이터웨어하우스 (Data Warehous, 이하 DW)의 개념을 먼저 정리하자면, 대량의 데이터를 기반으로 사용자가 쉽게 접근할 수 있고 다양한 분석을 펼칠 수 있는 분석용 데이터베이스를 일컫는다.

실시간 DW (Real time DW)란 DW가 현재 비즈니스 상태를 반영한 데이터를 보유하고 있다는 의미로, 실시간 비지니스 이벤트가 DW에 수초 또는 몇 분 이내에 반영되는 것을 말한다. 기존의 DW는 batch 형태로 일정 시간의 변동분을 추출하며, 보통 daily (nightly) batch로 변동 데이터를 추출해 DW로 전송했다. 이로 인해 DW는 전일 자료를 근간으로 작성되기에 경영자는 전일 자료를 근거로 판단을 내려야 하는 번거로움이 있었다.

실시간 DW를 통해

- 사용자 동작(상품조회, 주문활동 등)에 맞춰 맞춤 광고

- 재고상태에 따른 유연한 공급망 관리

- 최적화된 이벤트 및 마케팅 활동 가능

- 실시간 수요에 따른 가격 정책

과 같은 비지니스 활동이 가능하도록 할 수 있다.

이와 같은 실시간 DW가 가능하려면 소스시스템에서 DW로 데이터가 얼마나 빨리 적재할 수 있는지가 핵심이다.

데이터 적재 방식은 Full loading과 incremental loading으로 구분할 수 있다. Full loading은 주로 daily batch job 형태이며, incremental loading은 하루 여러차례 반복적으로 변경일자 등을 이용해 적재 대상을 끌어온다. 적재 속도를 최대한 끌어올리기 위해 batch 방식은 가져오는 주기를 짧게 줄여야 하며, 가져오는 속도를 향상시키기 위해 병렬 처리가 필수라 볼 수 있다. 그렇지만, 반복적인 병렬작업은 소스시스템에 부하를 유발한다.

Trigger를 기반으로 변경 데이터를 journaling 해서 기록해 두고, 이를 짧은 주기단위로 DW로 적재하는 방법도 존재한다. 그렇지만, trigger를 통해 database 에 별도의 transaction을 유발하기에 소스시스템에 부하를 가중함은 피할 수 없다.

Transaction log를 기반으로 한 CDC 솔루션은 소스시스템의 데이터에 거의 접근하지 않고도 변경데이터를 즉시 추출한다. 추출된 데이터는 즉시 DW에 전송되어 비즈니스 데이터가 DW에 실시간 반영될 수 있도록 한다. Transaction log 기반의 CDC 솔루션은 추출을 위해 별도의 batch job이 필요하지 않으며, 별도의 transaction도 필요하지 않다. 즉, 소스시스템에 높은 부하를 가중하지 않으면서 실시간으로 DW로 충분 데이터를 적재할 수 있다는 점은 batch job 방식의 ETL과 비교해 매우 큰 장점이다.

Ark for CDC는 Oracle database의 transaction log 인 redo log 와 archive log file을 직접 access해 변경데이터를 추출한다. 추출한 데이터는 즉시 정의된 target의 table에 전송 및 반영되기에, 실시간 DW를 위해 소스시스템에 별도의 높은 부하를 유발하지 않고 DW에 실시간 비지니스 상황을 반영할 수 있다.

 

 

728x90

'법, 용어 > 용어' 카테고리의 다른 글

중기사업계획 본심의  (0) 2026.01.14
원가계산방법에 의한 예정 가격 결정  (0) 2026.01.13
추정가격 예정가격 추정금액  (0) 2026.01.13
ISSUE 의미  (0) 2026.01.13
품질활동  (0) 2026.01.10