컨플루언트 “배치식 ETL은 그만… 이젠 스트리밍 ETL”

대부분의 기업은 데이터 분석을 위해 ‘배치(Batch)’ 방식으로 데이터를 모은다. 일정 기간 동안 데이터를 모아서 한 번에 담는 방식이다. 예를 들어 은행은 하루 사이에 발생한 거래 데이터를 모아서 업무가 끝난 이후에 분석용 DB인 데이터웨어하우스에 넣는다. 즉 은행이 분석하는 건 어제까지의 데이터인 셈이다. 이 과정에서 ETL(Extract, Transform, Load)이라는 기술이 활용된다. 운영 시스템의 데이터를 추출해서 분석용 데이터에 맞게 변환한 뒤, 데이터웨어하우스에 적재하는 기술이다.

이 구조에서는 지금 이 순간에 벌어지는 일에 대한 분석은 불가능하다. 때문에 실시간으로 쏟아지는 데이터를 분석할 때는 이와 같은 방식을 사용할 수 없다. 예를 들어 실시간 교통정보를 수집해 가장 빠른 길을 안내하는 내비게이션을 생각해보자. 길을 안내하기 위해서는 현재 차량의 위치정보를 지속적으로 업데이트해야 한다. 차량의 위치를 알아야 빠른 길을 안내할 수 있다. 이처럼 지속적으로 실시간으로 쏟아지는 데이터를 스트림 데이터라고 부르는데, 이런 데이터를 처리하기 위해서는 데이터를 일정 기간마다 모아서 업데이트하는 배치 방식은 사용할 수 없다.

컨풀루언스 황주필 상무는 <바이라인플러스> 웨비나 ‘스트리밍 ETL, ksqlDB에 대한 모든 것’에서 “배치 방식에서는 실시간으로 변경되는 데이터를 반영하기 위해서 다시 쿼리를 하거나 데이터를 읽어와야 하는 문제가 있다”면서 “비즈니스적으로 끊임없이 발생하는 이벤트에 빠르게 대응하기 위해서는 기존 방식으로는 부족하다”고 말했다.

바이라인플러스 웨비나에서 발표를 하고 있는 컨플루언트 황주필 상무

그는 “점점 다양한 데이터 소스에서 데이터가 쏟아지는데, 이를 수집하기 위한 방식으로 ETL은 부족하다”면서 “스트리밍 데이터 분석 플랫폼이 필요한 상황”이라고 강조했다.

그에 따르면, 스트림 분석 플랫폼은 단순히 실시간 이벤트 데이터만 분석할 수 있는 것이 아니다. 황 상무는 “스트림 분석 플랫폼은 스트림 프로세스 뿐만 아니라 데이터의 머트리얼라이즈 뷰 같은 것들을 동시에 제공하고, 일반 빅데이터 플랫폼과 마찬가지로 데이터웨어하우스나 비즈니스인텔리전스, 검색 툴, 마이크로 서비스들과 연계해서 사용할 수가 있다”고 설명했다.

황 상무는 이와 같은 기술을 컨플루언스가 통합적으로 제공한다고 강조했다. 우선 컨플루언스는 이벤트 허브나 메시지 브로커 영역에서 사실상 업계 표준으로 자리잡은 카프카를 제공한다. 전통적 DB나 클라우드와의 연계를 위해서는 150여 종의 커넥터를 제공한다. 또 스트림 프로세싱을 위해서 카프카스트림즈와 ksqlDB를 제공한다.

황 상무는 “오늘날의 시스템은 초당 수백만 건의 이벤트를 처리하고 그 결과를 바로 얻어야 되는데 ETL을 통해서는 몇 시간 또는 며칠이 소요되는 그런 경우도 있다”면서 “컨플루언트에서는 스트림 ETL을 위해서 카프카를 중심에 두고 커넥터와 ksqlDB 등을 하나의 이벤트 스트리밍 플랫폼이라는 이름으로 제공을 하고 있다”고 밝혔다.

그는 이어 “이런 시스템을 기업 내부에서 개발하려면 개발팀에서 각각의 커텍터나 싱크용 애플리케이션을 일일이 설계하고 개발해야 하는데 적게는 수개월이 소요될 수도 있다”면서 “컨플루언트를 통해 사전 개발된 커넥터를 통해 이런 시간과 비용을 최소화할 수 있다”고 설명했다.

황 상무에 따르면 이 시스템은 전통적이 ETL의 보완재가 아니다. 그는 “전통적인 ETL과 마찬가지로 이 컨플루언트 플랫폼에서도 (기존 ETL이 하던 일을) 다 수행을 할 수 있다”면서 “데이터가 다양해지면서 이미 적재된 데이터를 다시 변환해야 할 이유가 생기기도 하고, 데이터웨어하우스나 데이터레이크에 있는 데이터를 다시 운영 DB로 가져와야 하는 역ETL이 필요할 때도 있는데, 이러한 다양한 상황에서도 사용이 가능한 플랫폼 서비스가 반드시 필요하다”고 덧붙였다.

그는 특히 “ksqlDB를 사용하게 되면 개발자가 아닌 데이터 분석가나 데이터 사이언티스트들이 손쉽게 사용하실 수 있도록 SQL 구문 형태로 스트림 프로세싱을 구현을 하실 수가 있다”면서 “우리가 일반적으로 로코드(low-code)라고 부르는 방법으로 손쉽게 스트림 프로세싱을 할 수 있다”고 강조했다.

글. 바이라인네트워크
<심재석 기자>shimsky@byline.network

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다