이영선 넥스엔정보기술 대표

▲ 이영선 넥스엔정보기술 대표(david.lee@nexntech.com)

[컴퓨터월드] 빅데이터(Big Data)라는 용어를 단순히 해석하면 ‘데이터가 크다’라는 뜻이다. 그리고 2018년도 현재를 누구나 빅데이터시대라고 말한다. 먼저 빅데이터의 특징을 살펴보고 빅데이터에서 비정형 데이터가 차지하는 비중과 비정형 데이터를 손쉽게 처리하는 방법에 대해서 이야기해 보겠다.

▲ <그림1>전 세계 정보량 증가 추이

빅데이터 시대가 시작됐다고 할 수 있는 2010년도 이후를 보면 데이터의 양이 기하급수적으로 증가하면서 데이터의 유형 또한 정형 데이터보다는 비정형 데이터의 비중이 높아지고 있다. 더불어 IoT와 센서 정보들이 쌓이게 되면서 이에 대한 분석이 필요하게 됐다. 특히 비정형데이터에 대한 분석의 필요성이 대두되면서 비정형데이터 처리를 위한 엔지니어가 많이 필요로 하게 되었다.

비정형 데이터 처리를 위해 일반적으로 사용하는 프로그램 언어는 파이썬(Python)이다. 그런데 데이터 처리를 위한 파이썬 엔지니어는 구하기가 어렵다. 일반 SI 기업이나 SI 프로젝트에서 비정형 데이터를 처리하는 일이 가장 큰 난제가 되는 이유 중 하나다. 비정형 데이터를 파이썬 엔지니어가 아닌 데이터에 친숙한 엔지니어나 현업 담당자가 처리할 수 있다면 아마 이러한 어려움은 해결될 것이다. 여기서 말하는 비정형 데이터는 영상데이터, 음성데이터를 말하는 것이 아니고 이메일, 로그, 정형화 되어 있지 않은 텍스트 등을 의미한다.

비정형데이터를 처리하는데 있어 또 다른 문제는 데이터 처리 방법이다. 데이터를 Join하는 예를 들어 보겠다. 일반적으로 Join은 데이터베이스(Database)에서 두 테이블(Table)의 데이터에 대한 키컬럼(Key column)을 정하고 키를 기준으로 데이터를 비교하고 합치는 유용한 작업이다. 그래서 관계형 데이터베이스에서 나온 용어고, 쿼리 랭귀지(Query language)로 사용된다.

데이터베이스화 되어 있지 않은 텍스트나 엑셀 등의 자료를 Join하거나 데이터베이스와 텍스트의 Join을 하려고 하면 텍스트 형태의 데이터를 데이터베이스에 로딩해 데이터베이스 테이블화 한 후 쿼리 랭귀지를 통해 join하는 절차를 거쳐야 한다. 그리고 비정형 데이터를 데이터베이스에 로딩하기 위해서는 정형화 과정을 거쳐야 하는데 여기에 많은 노력과 시간 그리고 숙련된 엔지니어가 필요하다.

‘알터릭스(Alteryx)’를 이용해 이러한 작업을 쉽고 간단히 처리한 예를 살펴보겠다. ‘알터릭스’는 데이터의 형태에 상관없이 ‘알터릭스 디자이너(Alteryx Designer)’에 드래그 앤 드롭(Drag and Drop) 방식으로 올려놓고 설정을 통해 join이 가능하다.

▲ <그림 2> ‘알터릭스’를 이용한 텍스트 파일의 Join

<그림 2>를 보면 왼쪽은 텍스트파일의 데이터를 ‘알터릭스’의 join 컴퍼넌트의 간단한 설정만으로 join을 하고 join의 결과도 left join, right join 그리고 internal join으로 3가지 결과를 만들어낸다. 기존 방식의 경우 텍스트 데이터에 대한 데이터베이스 테이블을 만들고 텍스트 데이터를 로딩하여 join query scripter를 만들어 데이터를 생성하는 과정을 거쳐야 한다. 이 과정에서 데이터베이스의 DDL(Data definition language)와 DML(Data management language)에 대한 지식이 있어야 한다.

다음은 ‘알터릭스’를 통해 기기의 로그 데이터를 읽어 이를 정제한 후 특정데이터의 통계를 만드는 예제다.

▲ <그림 3> ‘알터릭스 디자이너 워크플로우’를 이용한 정제 및 통계 추출

<그림 3>은 ‘알터릭스’의 컴포넌트만을 이용해 데이터를 정제하고 필요한 데이터를 만들어 주는 과정이다. <그림 4>은 로그(log) 파일인 소스(source) 데이터의 형태를 보여주고 있는데 <그림 3>의 과정을 거쳐 <그림 5>의 결과 파일이 생성된다.

▲ <그림 4> 소스 데이터

▲ <그림 5> 결과 데이터

워크플로우<그림3>작업은 프로그램언어에 대한 지식이 없는 데이터분석가가 하루만에 데이터를 분석한 후 작업을 완료한 것이다. 이러한 비정형 데이터에 대한 정제와 join등의 데이터 처리에 필요한 전문가가 필요 없다면 빅데이터와 클라우드 구축사업에서 SI 사업자가 겪는 어려움은 많이 상쇄될 것이다.

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