Menu Close

Media

DataStreams의 기사를 한눈에 볼 수 있습니다.

[솔루션 리뷰 ] CDC 기반 실시간 데이터 처리 솔루션 ‘ 델타스트림

기사
작성자
데이터스트림즈
작성일
2024-11-27 09:51
조회
18

변경 사항 실시간 추적하고 효율적으로 통합·처리
장애 발생 시 데이터 재처리 및 웹 모니터링 기능 지원

[아이티데일리] 클라우드, 빅데이터, 인공지능(AI) 등 IT 신기술을 제대로 활용하기 위해서는 많은 양의 데이터가 필요하다. 기존에 다양한 업무를 통합해 구축한 시스템은 많은 양의 데이터를 처리하는 과정에서 성능 부하를 일으킬 수 있었다. 이런 이유로 데이터 변경 사항을 실시간으로 추적하고 효율적으로 통합·처리할 수 있는 ‘변형 데이터 캡처(Changed Date Capture, CDC)’가 주목받고 있다.

데이터스트림즈의 ‘델타스트림(DeltaStream)’은 CDC 방식을 채택한 실시간 데이터 처리 솔루션으로 병렬 처리를 통한 빠른 데이터 추출은 물론 웹 모니터링 UI/UX로 편리한 사용을 지원하고 있다.


DB 이중화, DR 시스템 구축 용이한 CDC

변경 데이터 캡처(CDC)는 데이터가 변경되는 시점에 해당 항목을 추적해 이에 대응하는 다른 시스템이나 서비스로 복제하는 기술이다. CDC를 위해서는 처음에 원천 데이터베이스(DB)와 별도의 타깃 DB를 생성한 후 데이터를 이관하는 작업이 필요하다. 이후 원천 DB의 변경 내역만 확인해 타깃 DB에 같은 작업을 수행하게 된다. 직접 데이터를 요청하지 않고 변경 이력만을 가져와 반영하기 때문에 시스템 부하를 최소화할 수 있다.

CDC는 데이터 마이그레이션에 걸리는 시간을 단축하며, 타 시스템과 원활한 인터페이스로 개발 비용을 절감하는 데 기여한다. DB 이중화, 데이터웨어하우스 등을 실시간으로 수행할 수 있다는 장점도 있다.

또 재해복구(DR) 시스템 구축에도 용이하다. 기업들은 DBMS 장애 발생에 대비하기 위해 DR 시스템을 별도 운영하거나 동일한 DB를 여러 대 서버가 관리하는 ‘클러스터링(Clutering)’을 사용한다. 하지만 이 경우 시스템에 많은 부하를 줄 수 있다는 문제점이 발생한다. CDC는 변경 정보만 찾아 타깃 DB에 전송하기 때문에 이런 문제를 해결할 수 있다.

델타스트림의 데이터 추출 아키텍처
델타스트림의 데이터 추출 아키텍처

실시간 데이터 처리 솔루션 ‘델타스트림’

데이터스트림즈의 ‘델타스트림’은 DBMS의 데이터 변경 정보를 추출, 타깃 시스템에 전송하는 CDC 방식을 채택한 실시간 데이터 처리 솔루션이다. 크게 CDC 엔진, 데이터 처리 서버, 운영 서버, 리포지터리(Repository) 등 4개 영역으로 구성된다. 또 디자이너 도구, 웹 모니터링 도구, 그리고 사이트 상황에 따라 리모트 에이전트가 제공된다.

델타스트림은 DBMS의 트랜잭션로그 데이터를 실시간으로 전송하며, 시스템 재기동시 연속적으로 데이터 전송을 보장해 데이터 유실을 방지한다.

델타스트림은 리두(Redo) 및 아카이브 로그(Archive Log) 방식의 데이터처리를 제공한다. 먼저 DBMS의 리두 및 아카이브 로그에서 변경 데이터를 추출한다. 다음 추출 대상을 점검하고 트랜잭션 로그에서 DML 데이터를 구분하며, 로그에서 데이터가 정상적으로 추출된 시점을 기록한다.

다음 단계는 SQL 파서(SQL Parser)다. 트랜잭션 영역에서 DBMS에 전송되는 헥스(Hex) 값을 아스키(ASCII) 형식으로 변환한다. 그 과정에서 메타데이터 형식에 맞지 않는 데이터는 미스매치 파일(Mismatch Files)을 따로 생성한다. SQL 파서에서 변환된 데이터는 후처리 프로세스를 위해 큐(Queue)에 저장한다.

델타스트림의 DBMS API 모드(위쪽)와 로그 싱크 에이전트 모드
델타스트림의 DBMS API 모드(위쪽)와 로그 싱크 에이전트 모드

델타스트림은 트랜잭션 로그 데이터를 추출하는 데 시스템 상황에 따라 선택할 수 있도록 두 가지 모드를 지원한다. 첫째 DBMS가 제공하는 로그 추출 API를 이용, 트랜잭션 변경 분을 뽑아내는 방법이 있다. 이는 에이전트 탑재가 어렵거나 변경 건수가 많지 않은 사이트에 적절하다.

다른 방법은 ‘로그 싱크 에이전트(Log Sync Agent)’를 사용해 오라클(Oracle) 로그를 직접 읽는 것이다. DBMS 로그를 에이전트로 델타스트림 서버로 복제한 후, 트랜잭션 변경 분을 추출하는 구조다. 변경 건수가 많거나 소스 부하를 최소화해야 할 필요가 있을 때 적합한 방법이다.


병렬 처리 엔진으로 고속 변경 데이터 추출

델타스트림은 트랜잭션 로그를 병렬로 고속 추출할 수 있으며, 웹 모니터링을 통해 편리한 운영과 소스-타깃 간 데이터 확인(Data Validation)을 제공한다는 강점이 있다.

구체적으로 살펴보면, 성능 측면에서는 병렬 처리 기술 및 고속 추출 엔진을 갖췄으며 가공 처리가 가능하다. 고속 추출 모듈을 통한 초기 데이터 이행은 스냅숏(SnapShot)으로 지원한다.

델타스트림의 초기 데이터 적재 과정
델타스트림의 초기 데이터 적재 과정

CDC를 위해서는 원천 DB에서 타깃 DB로 최초 1회 데이터를 이관하는 작업이 요구된다. 이 과정에서 델타스트림은 템플릿 프로젝트 제공 및 적재 스크립트 자동 생성으로 초기 적재 작업에서 발생하는 공수를 절감할 수 있도록 해준다. SQLCLI로 구현된 팩트(FACT) 엔진으로 원천 DB의 데이터를 고속 추출하는 기능도 제공한다.

아울러 변경 데이터를 SAM 파일로 변환하거나 DML 정보에 대한 감사(Audit) 로깅이 가능하다. 인서트(Insert)·업데이트(Update)·딜리트(Delete) 트랜잭션 동작 변환도 제공하고 있다.


폭넓은 OS·DBMS 호환성, 다양한 전송 방식

델타스트림은 성능뿐 아니라 편의성도 높다. 개발 편의성을 고려해 그래픽 사용자 인터페이스(GUI)로 구성됐으며, 초기 설치 단계를 간소화했다.

특히 폭넓은 운영체제(OS), DBMS 지원으로 사용자 편의성을 높였다. 델타스트림은 유닉스(UNIX), 리눅스(Linux) 등 다양한 OS에서 사용할 수 있다. 타깃 DBMS는 오라클, 마이크로소프트 등 외산 벤더뿐 아니라 알티베이스, 티맥스 티베로 같은 국내 벤더, 마이SQL(MySQL) 같은 오픈소스까지 아우르는 호환성을 갖췄다. 고객 요청 시 커스터마이징을 통한 타깃 DBMS 신규 추가도 가능하다.

지원하는 데이터 전송 방식 역시 다양하다. 단방향과 양방향은 기본이며, 하나의 DB에서 여러 곳으로 분산하는 브로드캐스팅도 가능하다. 이와 반대로 여러 DB를 한곳으로 모으는 통합 방식까지 지원한다.


탄탄한 장애 대응 방안으로 안정적인 운영

장애에 대한 신속한 대응도 강점이다. SMS, SMTP 연동으로 장애 발생 시 이벤트를 발생시켜 빠르게 사용자에게 알려준다. 장애 이후 데이터 재처리를 통해 시스템 변경 번호(System Change Number, SCN)나 타임 스탬프(Timestamp)를 이용해 운영자가 지정한 특정 시점부터 데이터 추출이 가능하다.

그뿐 아니라 장애 복구 시 데이터 유실을 막는 다양한 방안도 마련돼 있다. 데이터 캡처 과정에서 장애가 생기면 지정된 횟수만큼 재접속을 시도하며, 재시도 실패 시 관련 보고서를 생성한다. 네트워크 문제에는 체크포인트를 확인해 장애 이후 시점부터 변경 데이터를 추출한다. 프로젝트 내에서는 데이터 큐(Quene)를 이용, 데이터 유실을 방지한다.

델타스트림의 타깃 DB 네트워크 장애 대응 방안 구상도
델타스트림의 타깃 DB 네트워크 장애 대응 방안 구상도

타깃 DB 내에서 발생할 수 있는 장애 대응 방안도 지원한다. 우선, 캡처 과정과 동일하게 지정된 횟수만큼 재시도를 수행한다. 그 다음 소스 DB 변경 사항으로 만들어진 Tran 파일과 체크 포인트를 참조 후, 장애 시점 이후부터 데이터를 반영해 장애를 복구한다.

운영 과정에서는 데이터 건수 및 전수 검증을 통해 안정성을 확보한다. 일 변경 또는 특정 범위의 전수 검증을 위해 데이터 추출 기능(FACT)을 이용하고, 원천 및 타깃 DB 데이터를 SAM 파일로 추출한다. 그 후, 레코드 비교를 통해 맞지 않는 부분을 찾아 원천 DB 기준으로 데이터를 수정한다.

또 델타스트림은 시스템 운영 시 데이터 건수 및 전수 검증을 통해 데이터의 안정성 확보할 수 있도록 한다.


“다양한 구축 경험으로 최적의 CDC 환경 제공”

데이터스트림즈는 국내 금융권과 여러 공공기관 등에 델타스트림을 공급해 왔다. 특히 오라클 DBMS를 이용하는 기업 및 기관에서 새로운 시스템을 구축하거나 기존 DB를 개선하는 과정에서 델타스트림을 도입하고 있다. 타깃 DBMS로 알티베이스를 사용하는 국내 물류 기업이나 해외 통신사 등에도 델타스트림을 구축 사례를 확보했다.

특히 N은행에서는 델타스트림을 통해 100여 개의 테이블, 350억 건의 데이터를 동기화하고 있으며, 야간 배치 작업을 통해 발생하는 수억 건의 변경 데이터도 동기화 처리 가능토록 델타스트림의 기능을 향상했다. 또한 국내 S은행 eCRM에 적용돼 약 60개 테이블의 약 300GB 데이터 90분 이내 적재, 60개 테이블 CDC 동기화를 실현했다. 이외에도 다양한 공공기관 및 금융 제조 분야의 여러 적용돼 시스템의 안정화와 효율화에 기여하고 있다.

데이터스트림즈는 빅데이터, AI 등으로 날이 갈수록 비대하고 복잡해지는 DB 환경에 대한 해결책으로 델타스트림이 더욱 확대될 것으로 기대하고 있다.

데이터스트림즈 관계자는 “데이터스트림즈는 CDC뿐 아니라 ETL, 메타데이터 등 다양한 데이터웨어하우스 기술 역량을 갖췄다. 또 금융, 공공 등 여러 고객사에 구축 경험을 다수 보유하고 있다”며 “단순 제품 설치를 넘어 타 시스템과의 연관성 분석을 통한 최적의 CDC 구축 환경 컨설팅을 제공할 수 있다”고 강조했다.


기사 보러 가기 ->  [솔루션 리뷰] CDC 기반 실시간 데이터 처리 솔루션 ‘델타스트림’ < 솔루션 리뷰·사례 < 기사본문 - 아이티데일리