용어에 대해 정리한 글입니다. 향후 CDC에 대해 자세하게 정리할 것입니다.
ETL
Extract(추출), Transform(변경), Load(적재)를 뜻하며
원천데이터에서 필요한 부분을 Extract 추출하여, Transform(클렌징,형식변환,표준화,통합 등)의 비즈니스룰을 적용한후, 특정 시스템에 Load(적재)하는 방식이다.
주로 배치성으로 작업을 하며, 솔루션으로는 개인적으로 아는것은 AWS Glue, Spring Batch로 처리하는 방법이 존재합니다.
하둡의 등장으로 쌓아둘수있어서 쌓아두는걸 먼저하자
ELT
하둡의 등장으로 쌓아둘수 있어서 쌓아두는걸 먼저하는 경우가 생겼다고 한다.
ELT란 데이터를 먼저 추출 적재한 이후 변환을 하는 프로세스를 의미한다. ELT에서는 데이터 웨어하우스에서 데이터 변환이 일어난다.
사용자가 필요한 시점에 Transform하는 장점이 있다. ELT와 다르게 시점이 자유롭다.
그리고 먼저 적재하기때문에 적재 속도는 ETL보다는 빠를거라고 생각한다.
CDC가기전에 중간정리
ETL은 비즈니스 로직이 앞에있지만 ELT와 CDC는 비즈니스 로직이 뒤에 있다.
쌓아두고 나중에 내가 필요한게있으면 그때그때 분석하는 장점이 존재한다.
CDC(Changed Data Capture)
DB에서 변경 데이터 캡처(change data capture, CDC)는 변경된 데이터를 사용하여 동작을 취할 수 있도록 데이터를 결정하고 추적하기 위해 사용되는 여러 소프트웨어 디자인 패턴들의 모임이다.
DBMS의 변경 데이터를 사용해 실시간, 준실시간 데이터 적재방법이다.
적재수준은 원천테이블이 아닌, Archive Log를 읽어서 처리하기 때문에, 적재주기에 관계없이 데이터의 변경사항만 적재대상이 된다.
이래서 최대 단점은 장애 발생 시 일부 데이터에 대한 정합성 보장이 어렵다는 것이다.
요즘자주사용하는이유는 온디맨드 서비스를 많이 사용하기 때문이다.
다운타임없는 빠른 마이그레이션의 장점
차이점은 ETL, ELT와다르게 실시간성이다 ETL, ELT일단위 주단위 배치작업을 진행하지만 CDC는 실시간성이다.
사용 예시 - MyData로 인해서 하나의 은행이 너무 부하를 많이받게되니까 CDC를 통해 다른 은행에서 보게해 하는것이다.