Tech Planet 2015 현장 모습


‘All about global & emerging technology’이라는 슬로건으로 2012년부터 매년 열린 Tech Planet(주최-SK Planet)은 개발자들의 도전 경험을 공유하고 세계 각국의 다양한 연사를 통해 화두가 되고 있는 최신 IT트랜드를 조망하는 지식 교류의 장으로 입지를 굳혀오고 있습니다.

올해도 지난 7일에 Tech Planet 2015가 열렸는데 ‘기술이 세상을 변화시킨다(Technologies changing the world)’를 슬로건으로 하여 O2O(Online to Offline) 및 커머스이머징 테크(Emerging Tech) 분야를 아우르는 발표 및 토론 등이 진행되었습니다.

특히 SK주식회사 C&C ICT성장사업개발팀의 서정욱 차장이 발표한 실시간 분산병렬 CEP 플랫폼은 대용량 데이터의 실시간 분석에 대해 관심이 많은 업계 전문가개발자들에게 큰 호응을 얻었는데요아쉽게도 참석하지 못한 분들을 위해 그날 발표된 내용을 본 블로그를 통해 정리해 보았습니다.


SK주식회사 C&C ICT성장사업개발팀 서정욱 차장의 발표 모습


최근 실시간으로 대용량데이터를 분석하려는 시도가 여러 분야에서 활발히 이루어지고 있으며 그러한 실시간 분석은 단순 이벤트 분석 뿐만 아니라 복잡한 이벤트도 분석할 수 있는 실시간 CEP 엔진을 필요로 합니다.

예를 들면 보안관련분야는 실시간 보안 침입탐지 및 실시간 CCTV 영상분석 등금융권에서는 실시간 사기방지 및 실시간 이벤트기반 마케팅 시스템등 제조 공정분야에서는 비정상 운영 사전 감지와 장비 결함 사전 감지 시스템 등, 그리고 텔레콤 분야에서는 비정상 영업 감지 및 네트워크 이상유무 실시간 감지 시스템 등 여러 분야에서 활발하게 이루어 지고 있습니다.

또한 이러한 시스템들은 기존 레거시 데이터뿐만 아니라 새로운 비정형기계센서영상 데이터등 다양한 대용량의 데이터를 실시간으로 수집 처리 저장하여 룰엔진에 의한 분석이 필요하여 기존의 방식으론 불가능하고 새로운 기술이 적용된 새로운 접근 방법이 필요합니다.

그런 다양한 요구에 신속하게 대처할 수 있도록 SK주식회사 C&C는 지난 6년간 축적된 빅데이터 기술 노하우를 자산화하기 위해 빅데이터 솔루션을 개발해 왔으며 그 솔루션의 한 영역인 실시간 처리 영역을 바탕으로 하여 SK인포섹 빅데이터 기반 실시간 관제 플랫폼을 성공적으로 PoC를 수행하였습니다.

그럼 SK주식회사 C&C의 빅데이터 솔루션을 소개해 드리겠습니다.(아래 그림 참조)

 

ⓒSK주식회사 C&C


첫번째 수집/처리/저장 영역은 빅데이터 기술 적용에 필수적인 Hadoop기반 인프라와 다양한 Hadoop 에코시스템들을 포함하며 현재는 Hortwonworks HDP 플랫폼 기반으로 되어 있지만 향후에는 확대할 계획입니다. 두번째 R 영역은 빅데이터 영역에서 처리된 결과 데이터를 직접 읽어 들여서 통계 마이닝 머신러닝등 알고리즘을 비즈니스 목적에 맞게 제공하는 분석/시각화 툴을 제공합니다. 세번째 영역인 실시간 처리 영역은 위에 설명한 다양한 대용량 데이터를 이벤트 기반으로 실시간 스트리밍 처리를 할 수 있는 영역을 말합니다. 네번째 Admin Workflow는 운영자와 개발자 관점에서 편리한 도구를 제공하며 예를들면 쉽게SW 배포 모니터링하고 Hadoop 데이터 노드에서 어느 디스크에 문제가 발생했는지도 알람을 주는 운영에 편리한 각종 도구들을 제공하고 Workflow는 개발자가 쉽게 Drag & Drog 방식으로 빅데이터 처리 과정을 쉽게 개발을 할 수 있게 해 주는 역할을 합니다.


이런 4개 영역 중에서 실시간 처리 영역을 활용하여 SK인포섹 빅데이터 기반 실시간 관제 시스템을 위한 PoC를 수행하였는데 기존 시스템에선 소수의 필드로 하나의 장비에서 발생하는 단순 로그분석을 1시간 넘게 배치 작업을 해야 분석이 가능했지만 목표 시스템에서는 복잡한 장비간의 상관분석을 수십 개의 모든 필드를 대상으로 초단위까지 처리 할 수 있게 되어서 큰 도전이었습니다.


최근 빅데이터를 실시간으로 처리 할 수 있는 기술들(Spark, Kafka, Flume)들의 출현으로 대용량 데이터를 실시간으로 분산 병렬 처리 할 수 있게 되었지만, 대표적인 오픈소스 룰엔진인 Drools는 분산 처리가 되지 않아 분산 처리 할수 있게 구현이 필요합니다. 

실시간 처리 방안도 크게 3가지를 상황에 맞게 고려하여 PoC를 수행하였는데 현재는 Drools 자체 Bug 패치가 되어서 그 중 한 방안인 Kafka를 활용방안을 적용하였습니다. 먼저 Spark Streaming에서 실시간으로 정규화/정제/필터링 된 데이터를 고객사별로 그룹핑하고 다시 Kafka의 해당 토픽에 파티션 별로 분산 저장합니다. 그 후, Spark Streaming에서 각 파티션 별로 저장된 데이터를 읽어서 맵핑정보를 통해 해당 룰엔진으로 전송하면 분산병렬 CEP처리가 됩니다. 이런 방법으로 분산처리가 안되는 오픈소스 룰엔진의 한계점을 자체 기술력으로 극복하였습니다. (아래 그림 참조)

 

ⓒSK주식회사 C&C


대용량 데이터를 실시간으로 분산 처리하여 CEP 처리를 하려면 우선 데이터의 특성을 파악하여 비즈니스 목적에 맞게 실시간으로 어느 수준으로 처리 할 것인지에 대해서 결정을 해야 하고 '수집->저장->처리->룰적용' 과정에서 병목 현상이 없는지도 체크해야 하며 PoC도 수행해봐야 목표 시스템 구현이 가능한지 알게 됩니다.(예를 들자면 초당 십만건처리)


만약 목표 시스템의 구현이 어려우면 SW변경다양한 아키텍처 적용자원증설 등이 뒤따라야 하고 그래도 어렵다면 목표의 수정도 고려해야 합니다. 향후엔 분석 클러스터와 연동하여 대용량 데이터에서 데이터 기반의 기계학습 통해 생성한 모델을 실시간 처리영역에 적용하고, 이때 실시간으로 데이터를 예측/분류하여 룰 엔진에 적용한 뒤 발생되는 CEP처리에 대한 반응을 통해 비즈니스 프로세스나 장비를 직접 제어 할 수 있는 통합 플랫폼의 구축이 궁극적인 목표 시스템입니다. (아래 그림 참조)

 

ⓒSK주식회사 C&C








저작자 표시 비영리 변경 금지
신고

티스토리 툴바