소스DB 및 클라우드 지원 확대…카프카 연계 통한 비정형 데이터 접점도 마련

[컴퓨터월드] 과거에 경영진들에게 보고서를 올릴 때에는 어제 자 혹은 당일의 데이터를 첨부하는 것이 당연했다. 하지만 지금은 회의실에서 실시간으로 변화하는 대시보드를 띄워놓고 프리젠테이션을 진행하는 모습이 더 이상 낯설지 않다.

기업이 자사 비즈니스를 실시간으로 운영하려는 요구는 날이 갈수록 강해지고 있으며, 시시각각 변화하는 데이터를 분석해 인사이트를 확보하려는 시도도 당연해지고 있다. 비즈니스에서 발생하는 실시간 데이터의 활용을 지원하는 변경 데이터 캡처(Changed Data Capture, CDC) 기술의 현주소를 분석해봤다.


소스DB 영향 미미, 스케일아웃 최적화
데이터 통합(Data Integration) 측면에서 CDC 솔루션의 대원칙은 복제 대상인 소스DB의 성능에 거의 영향을 주지 않고 타깃DB로 실시간 복제를 실행하는 것이다. 소스DB에 부하를 주지 않도록 별도의 타깃DB를 생성하고, 최초 1회만 마이그레이션을 수행한 후 소스DB의 데이터 변경 내역만을 읽어 타깃DB에서 같은 작업을 수행함으로써 데이터 정합성을 유지하게 된다. 이는 소스DB에 직접 데이터를 요청하지 않고, 변경 이력이 담겨 있는 로그데이터만을 가져다가 타깃DB에 반영하기에 소스DB의 성능에 거의 영향을 미치지 않는다.

소스DB의 영향을 최소화하면서도 실시간 복제가 가능하다는 것은 엄청난 규모의 스케일아웃에 유리하게 활용될 수 있다. 새로운 타깃DB를 생성한다면 기존 인프라에 영향을 미치지 않고도 새로운 프로젝트 수행이나 분산 처리를 위한 확장에 대응할 수 있으며, 과도한 트랜잭션을 분산함으로써 서버에 가해지는 부하를 낮춰 가용성을 높일 수 있다.

▲ CDC 솔루션은 다양한 방법으로 데이터의 가치를 높일 수 있다.

과거에는 다양한 업무를 통합해 거대한 시스템을 구축하는 것이 트렌드였던 시절이 있었지만, 그러한 방법은 결국 확장이 어렵고 유연성이 떨어진다는 이유로 사장되고 말았다. 지금은 확장성과 유연성의 측면에서 규모가 작은 시스템을 병렬적으로 구성하는 스케일아웃이 각광받고 있으며, 이러한 환경에서 소스DB에 영향을 미치지 않고 타깃DB로의 실시간 데이터 복제가 가능한 CDC는 유리한 입지를 점할 수밖에 없다.

소스DB의 로그데이터는 문제 발생 시에도 복구가 가능하도록 DB에서 발생한 모든 이력을 담고 있으므로, 이 중에서 중요한 정보를 담고 있는 트랜잭션 데이터를 추출해내는 것이 CDC 솔루션의 기술력이 된다. 데이터 조작 언어(Data Manipulation Language, DML)가 담겨 있는 부분은 전체 로그데이터의 일부에 불과하기 때문에, 어떻게 소스DB의 부하를 최소화하면서 필요한 정보를 추출해 타깃DB에 반영하느냐, 이것이 핵심이다.

만약 CDC 솔루션을 제공하는 기업이 로그데이터에서 직접 트랜잭션 데이터를 추출하는 기술을 보유하고 있지 못하다면, DB에 중요한 패치가 적용되거나 새로운 버전이 출시돼 로그데이터를 추출하는 방식을 바꿔야 할 경우 즉각적인 대응이 어렵게 된다. 실제로 오라클DB를 예로 들자면, 선도적인 CDC 솔루션을 제공하는 기업들은 오라클 DB의 리두/아카이브 로그(Redo/Archive Log)에 직접 접근해(Redo Log Direct Access) 필요한 트랜잭션 데이터만을 추출해 타깃DB로 복제하게 된다. 따라서 소스DB의 데이터에 변경이 발생하자마자 즉각 추출 및 반영이 가능하다.

그러나 일부 기업들의 경우에는 오라클DB가 제공하는 로그마이너(Log Miner) 유틸리티를 통해 트랜잭션 데이터를 추출하거나, 심지어는 트리거(Trigger)를 활용해 데이터의 변경 여부를 찾아내기도 한다. 로그마이너와 트리거 모두 자체적인 로깅 과정이 있고 쿼리 절차를 따르다보니 소스DB에 많은 부하를 줄뿐더러 일부 지연이 발생하기에 온전한 실시간성을 확보하기도 어렵다. 그렇기에 CDC 솔루션을 개발하는 기업들은 리두 로그에 직접 접근해 트랜잭션 데이터를 추출할 수 있는 기술력을 갖출 필요가 있다.

데이터스트림즈 역시 과거에는 오라클이 제공하는 로그마이너 유틸리티를 활용했지만, 만족할만한 성능을 내지 못해 로그싱크(Log Sync)라는 별도의 모듈을 자체개발해 활용하고 있다. 로그싱크는 소스DB의 리두 로그를 직접 읽어들여 별도로 구축하거나 타깃DB와 함께 구성되는 CDC 서버로 전송한다. 로그데이터를 소스DB 외부에 구축된 CDC서버에서 파싱하기 때문에 소스DB에 걸리는 부하를 최소화 할 수 있다.

▲ 데이터스트림즈의 델타스트림은 자체 개발한 로그싱크를 통해 성능을 향상시켰다.


소스DB 영향, 데이터 전송거리 등 목적에서 차이

타깃DB로의 데이터를 옮길 필요가 있을 때 흔히 CDC와 함께 고려되는 것은 ETL(Extract, Transform, Load) 솔루션이다. CDC와 ETL은 소스DB의 데이터를 선별해 타깃DB로 옮긴다는 방식에서는 같지만, 두 솔루션의 용도와 목적은 판이하게 다르다.

ETL 솔루션은 소스DB에 SQL 쿼리문을 보내서 직접 데이터를 추출하기에 소스DB의 메모리를 사용한다. 이러한 방식은 소스DB에 과도한 부하를 주게 되며, 따라서 CDC와는 달리 실시간성을 확보하기 어렵다. 실시간으로 꾸준히 소스DB에 부하를 준다면 정상적인 서비스 운영이 불가능하기 때문이다. 이런 이유로 ETL은 일·주·월 단위로 끊어서 배치 처리(Batch Processing)를 하게 마련이며, 복제하는 데이터 역시 기간계 시스템의 건별 데이터보다는 정보계 시스템의 데이터를 추출해 DW에 적재하거나 백업하는 용도로 사용된다.

ETL은 배치 처리를 하는 대신 한 번에 옮기는 데이터의 양이 매우 많다. 그래서 데이터를 옮기는 네트워크 비용도 부담스러우며, 가급적이면 데이터센터 내에서 데이터를 복제·백업하기 위해 사용되기 마련이다.

반면 CDC는 데이터 그 자체가 아닌 트랜잭션을 옮기는 것이다보니 데이터의 크기가 매우 작고, 네트워크 비용 부담도 덜한 편이다. 따라서 상대적으로 먼 곳으로 데이터를 보내기에 유리하며, 일부 글로벌 기업에서는 데이터의 이동 거리를 고려해 CDC를 함께 도입하는 경우도 있다.

또한 CDC는 트랜잭션 데이터를 복제해 타깃DB에서 똑같이 실행하는 방식이기에 중간 과정에서 데이터의 변환이 불가능하지만, ETL은 이름에서 나타나듯 필요에 따라 얼마든지 데이터를 변환할 수 있다. 만약 서로 다른 시스템에서 생성되는 데이터를 하나의 DB에 통합하고자 한다면 변환이 가능한 ETL이 보다 효과적일 수 있다.

98년 첫 CDC솔루션을 출시한 이후 20년 이상 전 세계에 CDC 솔루션을 제공해온 퀘스트소프트웨어의 관계자는 “과거 ETL을 경험했던 경영진들, 심지어는 일부 개발자들까지도 CDC를 도입하면서 데이터 변환을 요구하곤 한다. 만약 실시간이 요구되는 업무이거나 네트워크 제약에 의해 CDC를 도입하면서도 데이터 필터링이나 변환이 필요할 경우, 타깃 DB에서 별도의 솔루션을 활용하는 방식을 택해야 한다. 데이터 복제 과정에서 정합성 이슈가 발생했을 경우 빠르게 문제의 원인을 찾고 해결하기 위해서라도 데이터 변환 솔루션은 별도로 도입돼야 한다”고 말했다.

실제로 퀘스트소프트웨어의 CDC 솔루션 쉐어플렉스(SharePlex)는 데이터의 변환·적재와 같은 CDC 이외의 기능을 고려하기보다도 소스DB의 데이터가 타깃DB에 정확하게 재현되는 것을 가장 중요시하고 있다. 일반적으로 CDC 솔루션은 높은 데이터 정합성을 보장하기는 하지만, CDC에 문제가 발생해 정상적으로 작동하지 않는다면 비즈니스의 대부분이 정지돼버리기 때문에 한층 더 안정성을 확보하기 위한 보험이 필요하다는 설명이다.

▲ 퀘스트소프트웨어 쉐어플렉스의 데이터 복제 프로세스

이에 퀘스트소프트웨어는 쉐어플렉스에 작동 중 데이터 무결성 검사, 모니터링, 알림 기능(In-flight Data Integrity, Monitoring ans Alerting Functionalities)을 탑재했다. 사전에 정의된 기준이나 사용자 설정에 따라 피어-투-피어(Peer-to-Peer) 모니터링과 충돌 감지 및 해결 기능을 제공하며, 실시간 데이터 정합성 검증 및 보정 기능을 통해 소스DB와 타깃DB 간의 데이터 무결성을 확보한다.


현황 분석 통해 최적화된 설계 필요
CDC 솔루션을 선택한 대부분의 고객사는 실시간 데이터 복제를 원하기 마련이지만, 실제로 CDC 솔루션을 도입한다고 해서 완전한 실시간, 즉 초 단위 미만의 지연시간을 보장하지는 않는다. 일부 기업은 CDC 솔루션을 준실시간(Near Real Time) 솔루션으로 구분하는 경우도 있다.

대다수의 고객사들은 CDC 프로세스에서 발생하는 지연시간을 줄이고자 노력한다. CDC 솔루션 공급사들은 이에 대해 사전에 충분한 검토를 통한 최적화가 중요하다고 강조한다. 기업의 업무에 따른 온라인 및 배치 처리 업무 구분, CDC 솔루션 도입을 위한 분석·설계 과정에서 충분한 시간과 역량을 투자해야 한다는 설명이다.

특히 CDC의 경우 다른 솔루션들에 비해 개념검증(PoC) 단계에서의 성능 차이가 확연히 드러나지 않기에 실제 운용 단계에서 어떤 결과가 나올 지를 예상하기 어렵다. 따라서 제품 완성도와 레퍼런스, 파트너사가 갖춘 설계 역량을 충분히 따져봐야 한다. 또한 성능에 대한 불안으로 무분별하게 값비싼 CDC 솔루션 도입을 결정하기보다는, 도입 이후의 관리 역량과 향후 시스템 확장 계획 등을 고려해 현실적인 선택을 하는 것이 중요하다.

이에 대해 데이터스트림즈 측은 “글로벌 기업의 브랜드에 혹하기보다는 전체적인 TCO나 실제 업무 단계에서의 편의성을 고려해야 한다”고 밝혔다. 데이터스트림즈의 델타스트림(DeltaStream) 솔루션은 로그싱크 등 CDC 프로세스의 성능을 향상시키기 위한 다양한 기능이 탑재돼있는 것은 물론, 데이터 유실 방지를 위한 무결성 검증을 배치성으로 제공하고 있다.

일부 외산 CDC 솔루션이 변경 데이터 반영만을 제공하고 초기적재를 지원하지 않는 만면, 델타스트림은 솔루션 도입 시점의 일괄적재는 물론 자동으로 동기화까지 가능한 기능을 추가했다. 또한 실제 운용 단계에서의 편의성을 향상시키기 위해 GUI를 기본으로 제공하며 직관적인 모니터링 화면까지 함께 제공한다.

인포매티카의 데이터 복제(Data Replication) 도구 역시 편리한 GUI를 기반으로 다양한 소스DB에서 변경데이터 추출 기능을 제공한다. 오라클의 CDC 솔루션인 골든게이트(GoldenGate)의 경우 기본적으로는 커맨드 기반의 UI만을 제공하며, GUI를 활용하기 위해서는 별도의 라이선스 비용을 지불해야 한다. 그에 반해 인포매티카의 CDC 솔루션은 GUI를 통해 소스DB와 타깃DB의 자동 매핑을 지원하며, 별도의 모니터링 툴을 제공해 CDC 프로세스 상에서 지연시간이 발생하고 있는지 여부도 편리하게 확인할 수 있다.

▲ 인포매티카 파워익스체인지 for CDC 아키텍처


비정형 데이터에 대한 CDC

한편 빅데이터의 부각에 따라 중요성이 강조되고 있는 비정형 데이터에 대해서는 업계 관계자들의 의견이 분분하다. 일반적으로 CDC 솔루션은 정형화된 RDB의 데이터를 다른 RDB로 옮기는 것에 특화된 솔루션인 만큼, 비정형·반정형 데이터의 수집이나 전송에는 활용하기 어렵다는 것이 정설이다.

비정형·반정형 데이터를 수집하고 원하는 데이터로 가공하기 위한 솔루션은 충분히 많이 나와있다. 또한 비정형·반정형 데이터의 가치가 부각되고 있기는 하지만, 여전히 정형 데이터가 기업 데이터의 대부분을 차지하며 가장 큰 가치를 보유하고 있다는 점도 CDC의 무리한 영역 확대를 가로막는 요인이다.

하지만 일각에서는 CDC 솔루션을 RDB 끼리의 데이터 이동에만 활용하는 것은 아깝다고 주장한다. NoSQL DB나 비정형 데이터의 가치가 상승하고 있는 시점에 전통적인 역할에만 치중해서는 안된다는 설명이다.

특히 인포매티카의 CDC 솔루션은 기존 RDB끼리의 전송·복제 위주의 역할에서 벗어나, 다양한 데이터 통합 환경에 데이터를 실시간으로 공급하는 전사 데이터 스트리밍(Streaming)에 강점을 갖고 있다. 오라클에서 추출한 데이터를 이기종 DB에 전달한다든가, 비정형 데이터의 실시간 수집이나 특정 데이터 포맷으로의 변환이 가능한 아파치 카프카(Kafka)와 연동해 정형·비정형 데이터를 아우르는 통합된 데이터 아키텍처를 구현할 수 있다는 설명이다.

이는 하둡 환경의 변화와도 일부 맥락을 같이 한다. 과거 하둡에서 빅데이터 분석을 수행할 때는 배치 처리가 일반적이었지만, 최근에는 하둡에서도 실시간 처리가 중요하게 여겨지고 있다. 가령 증권사·카드사와 같은 금융 기업이 빅데이터 분석을 통해 이상 징후를 탐지하고 사기방지에 활용한다든가, 하둡 기반으로 고객과 실시간 상호작용이 필요한 비즈니스를 구현하고자 한다든가 하는 식이다.

인포매티카 측은 CDC가 지원할 수 없는 영역이 분명히 존재한다고 선을 그었다. 비정형 데이터 처리나 웹로그 등은 CDC 솔루션으로는 해결할 수 없는 분야다. CDC만으로 하둡파일시스템(HDFS)이나 하이브(Hive)에 변경데이터 적재를 시도하는 것은 불가능하지만, 하지만 아파치 카프카나 HDFS API 등을 함께 활용함으로써 CDC 솔루션의 가능성을 확장할 수 있다. 다양한 데이터를 수집·전달할 수 있는 아파치 카프카와 CDC를 병합해 비정형 데이터나 웹로그는 카프카로 직접 수집하고, RDB로 수집된 데이터는 CDC를 통해 적재함으로써 NoSQL DB나 HDFS에 대한 적재를 가능하도록 한다.

이를 위해 인포매티카는 지난해 말, 자사 CDC 솔루션의 메이저 업데이트를 통해 아파치 카프카를 타깃으로 데이터 적재가 가능하도록 기능을 확장했다. 아직 국내에서 해당 기능을 활용한 사례가 발굴되지는 않았으나, 하둡에 대한 수요가 꾸준히 증가하고 있는 만큼 CDC나 ETL이 카프카에 대한 지원을 요구하는 경우 늘어나리라는 전망이다.


지원 DB 확대 및 클라우드 전환이 이슈
한편 기업들이 사용하는 DB의 종류가 다양화되면서 CDC 솔루션 공급 기업들의 움직임도 빨라지고 있다. 과거에는 기업의 핵심적인 데이터는 오라클 DB에 적재하는 것이 당연하게 여겨졌다. 지금도 금융권 등은 오라클 DB에 대한 신뢰를 유지하고 있지만, 오라클 이외의 기업들이 차근차근 입지를 넓혀가고 있는 것이 사실이다.

이는 CDC 기업들의 행보에 직접적인 영향을 미치고 있다. 과거의 CDC는 핵심적인 데이터가 담긴 오라클 DB에서 그 외의 DB로의 데이터 전송이 대부분이었지만, 지금은 훨씬 다양한 DB들끼리 실시간 데이터 전송이 요구되고 있는 것이다.

이에 따라 국내외 CDC 공급 기업들은 너나할 것 없이 자사 CDC 솔루션의 지원 DB를 확대해 나가고 있다. 국내 기업인 데이터스트림즈는 지원하는 소스DB 다양화를 최대 이슈로 선정하고 국내외 다양한 DB 기업들과 꾸준히 접촉하고 있으며, 퀘스트소프트웨어는 올해 상반기 내에 국내 DB사업자 및 로컬DB와의 연계를 추진하고 있다고 설명했다.

기업의 인프라가 클라우드 환경으로 이동하는 추세 역시 CDC 분야의 중요한 이슈다. 기존에 온프레미스 환경에 구축된 DB를 클라우드 환경으로 마이그레이션하는 경우, 보통은 DB 전체를 옮겨담기보다는 비용효율적인 서비스를 위해 클라우드 인프라를 구축하겠다는 측면이 강하다. 따라서 기존의 온프레미스 DB를 줄이고 클라우드 DB로 대체하는 게 아니라, 기존의 온프레미스 인프라를 그대로 유지한 채 클라우드 DB를 추가적으로 도입하는 것이다. 따라서 온프레미스 상에서 데이터는 여전히 생산되며, 최초의 1회 클라우드 마이그레이션 이후 지속적인 변경 데이터 반영이 필요하다.

또한 클라우드로 마이그레이션하는 단계에서도 비즈니스 다운타임의 최소화가 중요하게 여겨지는 만큼, CDC를 활용한 무중단 마이그레이션 역시 중요한 요소로 각광받고 있다. 데이터 원본을 최초로 클라우드로 전송하고, 그동안 실시간으로 발생하고 있는 변경 내역 역시 CDC를 통해 수 분 안에 반영할 수 있다.

이처럼 클라우드 환경에서 CDC 솔루션의 필요성이 증대되고 있는 만큼, 국내외 CDC 솔루션 공급업체들은 AWS나 마이크로소프트와 같은 클라우드 사업자와의 협력을 강화해나간다는 방침이다.


골든게이트 득세로 험난…새로운 기회 발굴 나선다

오라클이 2009년 골든게이트社를 인수하고 오라클 골든게이트를 출시한 이래, CDC 기업들은 오라클DB에 대한 CDC 지원이 어려워졌다고 입을 모았다. CDC는 DB 의존적인 솔루션이며, 상기한 바와 같이 과거의 CDC는 대부분 오라클DB에 대한 지원이 가장 중요했다.

그러나 오라클이 골든게이트를 인수하고 직접 CDC 솔루션 분야에 뛰어든 후로는 오라클DB에 대한 로그 데이터 공개도 까다롭고 기술지원도 줄어들었다는 설명이다. 한 업계 관계자는 “오라클이 골든게이트 인수 이후 자사 CDC 솔루션을 띄우기 위한 행보를 펼치다보니, 오라클 DB에 집중하던 기업들의 기세가 한풀 꺾였다”고 아쉬움을 토로했다.

그러나 클라우드 환경에 대한 지원이나 이기종 DB 지원, 다른 도구와의 결합을 통한 비정형 데이터 처리 등, CDC 솔루션 공급 기업들은 변화하는 판도 속에서 새로운 기회를 찾아나서고 있는 것으로 보인다. 이에 대해 인포매티카 관계자는 “향후 CDC만을 활용하는 업무는 축소되겠지만, 빅데이터나 클라우드, CEP 등 다양한 기반기술들과 함께 중요한 축을 담당하게 될 것”이라고 전망했다. 실시간 데이터 처리와 유연하고 확장 가능한 비즈니스 인프라 구축이 날로 강조되는 만큼, 앞으로도 CDC 기술의 중요성은 줄어들지 않을 것으로 보인다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지