CDC , 데이터 캡처 기술이란?

체인의정석
5 min readApr 13, 2020

--

최근 점점 시장이 커지고 있는 cdc 에 대한 기본 개념과 설명 그리고 시장 전망에 대해 알아봅니다.

안녕하세요 위데이터랩 조현기 입니다.

이번에 저희 회사에서 CDC 기술을 연구 및 제품 개발을 하고 있어 CDC에 대한 개념 정리와 CDC가 왜 필요한지에 대하여 글을 남기고자 합니다.

CDC 기술의 필요성

CDC는 데이터 캡처(Changed Data Capture, CDC) 기술입니다.

지금은 서비스가 매우 빠르게 변화하는 시대이다 보니 유연성과 확장성이 어느때보다도 중요해지고 있습니다. 규모가 작은 시스템들을 병렬로 연결하는것이 추세이다 보니 데이터의 저장공간이나 이에 대한 관리도 각각 해야 하는 부담이 생기게 되었는데요. 이러한 문제점을 해결해 주는 기술이 CDC 입니다.

예를 들어 A라는 서비스와 B라는 서비스가 연결되어 있다고 할때 A에서 서비스 신청 완료라는 입력값이 들어갈때 B에서도 동시에 입력을 해야하는데 두 데이터의 저장공간이 다르다면 누군가의 실수나 의도에 의해 바뀔 가능성도 있습니다. 이때 CDC를 사용한다면 오라클에 남아있는 트렌젝션 Redo로그를 분석하여 실시간으로 서로 다른 DB(저장공간)사이의 업데이트가 이루어지게 할 수 있습니다.

ETL vs CDC

ETL은 Extarct, Transfrom, Load 솔루션으로 CDC와 같이 소스DB로 부터 타겟 DB로 데이터를 옮기는 역할을 합니다. CDC는 데이터 자체가 아닌 트렌젝션을 보냄으로서 속도가 빠르고 부하가 적습니다. 그러나 ETL 솔루션의 경우 SQL 쿼리문을 직접 보내서 추출하기 때문에 부하가 많으며 시간이 오래 걸립니다. 따라서 백업용으로 많이 쓰입니다. 대신 ETL의 경우 중간과정에서 데이터를 변환 할 수 있어 DB자체를 통합할때 사용할 수 있다는 차별점이 있습니다.

간단히 정리하자면 업무의 통합이 중요한 시대에서 확장성과 유연성이 중요시되는 시대로 바뀌게 되면서 기존 ETL 기술의 수요가 CDC 기술의 수요로 변화하게 된 것으로 볼 수 있습니다.

Redo로그에 직접 접근하는 심화된 CDC 솔루션

Oracle에는 Redo 로그라는 모든 트렌젝션에 대한 기록이 남아 있습니다. 특정한 변화가 일어날때마다 Redo로그에 기록되게 되는데 이를 잘 추출하고 분석하게 되면 이를 통해서 빠르고 강력한 데이터 마이그레이션이 가능하게 됩니다. 그러나 기존의 CDC 솔루션 중 모든 솔루션이 Redo로그에 직접 접근하지는 않습니다.

따라서 CDC솔루션에서 차별점을 가지기 위하여서는 Redo로그 파일에 직접 접근하여 필요한 트렌젝션 데이터만을 추출해 타깃DB로 복제하는 기술이 핵심입니다. Redo로그에 직접 접근하여 처리를 하게 되면 데이터의 일관성이 보장되면서도 소스DB에 변경사항이 있을때 실시간으로 즉시 반영이 가능합니다.

현재 위데이터랩은 회사를 설립할 당시부터 Redo로그 분석 기술에 대한 연구가 선행되어 있엇으며 전문서적 출판 경험이 있어 이를 기반으로 직접 RedoLog 파일에 접근하여 실시간데이터 추출을 지원하는 CDC솔루션을 준비중 입니다.

CDC의 활용방안

  1. DB 마이그레이션, U2L(Unix->Linux) : 기존에 사용하던 데이터 저장공간에 대한 이동 및 변환에 사용됩니다. CDC를 사용하게 되면 비용절감 및 다운타임 최소화, 가상화 환경으로 통합구축등 용이하여 많이 쓰입니다.
  2. DR(Disaster Recovery) 및 백업용 시스템: 비상 상황을 위해 만들어둔 백업용 시스템에 많이 쓰입니다. CDC를 활용할 경우 네트워크 비용이 해소되며, 서비스 재개가 빠릅니다. 또한 원래 시스템의 대기 자원을 그대로 사용하여 비용을 할 수 있는 장점도 있습니다.

이기종 DB 실시간 데이터 통합 솔루션

CDC 솔루션 중 Oracle 간의 데이터 캡쳐만 지원하는 솔루션도 있지만 최신의 CDC솔루션들은 기존 서비스 업체들이 오라클 뿐만 아니라 다양한 데이터베이스를 사용하게 되면서 이기종 DB간 데이터 통합을 지원 또는 준비중 입니다. 이 외에도 인공지능과 빅데이터가 중요해지면서 새로 나오게된 비정형 데이터 기술, 클라우드 환경이 인기를 끌게 되어 중요해진 클라우드 변환 기능 등 여러 기능을 같이 개발 및 제공 중에 있는 추세 입니다.

현재 위데이터랩에서도 저를 포함한 연구원들이 이기종 DB 의 실시간 데이터를 통합하는 솔루션을 개발 중이며 더 강력한 기능을 제공하기 위하여 클라우드 변환기능과 비정형 데이터 처리 등을 포함하여 데이터베이스 및 블록체인을 분석 하고 모니터링 해주는 시스템까지 계속하여 연구중에 있습니다. 개발이 진척되면 다음 포스팅으로 찾아뵙겠습니다.

Wedatalab에서 개발중인 HeteroHub
Wedatalab에서 개발중인 HeteroHub

자세한 사항은 위데이터랩 홈페이지를 통해서도 보실 수 있습니다.

www.wedatalab.com

참고자료1 : https://www.youtube.com/watch?v=LDg_3EACnoE

참고자료2 :http://www.comworld.co.kr/news/articleView.html?idxno=49397

--

--

체인의정석

블록체인 현업 개발자/서강대학교 정보통신대학원 블록체인학과/ member of CURG(Crypto United Research Group)/ 체인의정석 유튜버, 블로거