빅데이터 시대, BI Solution (Spotfire) 활용법
이번 글 에서는 대표적인 Business Intelligence(이하 BI) 솔루션 중 하나인 Spotfire 의 기능과 특성에 대해 살펴보고, 빅데이터 시대를 살아가며 효율적으로 BI 솔루션을 활용할 수 있는 분야와 방법에 대해 살펴보고자 합니다. 단, 솔루션 Provider 입장에서의 제품 홍보성 기능 설명이 아닌, 사용자 입장에서 경험했던 장점과 단점을 바탕으로 BI 솔루션의 적절한 적용 분야와 그 효과에 대해 소개하도록 하겠습니다.
BI 솔루션 TIBCO Spotfire 소개
제품의 홍보가 목적은 아니지만 간단하게 소개를 해보겠습니다. Spotfire 는 University of Maryland Human-Computer Interaction Lab 에서 개발되어, 2007년 북미의 SI 회사인 TIBCO 의 BI 부문에 인수되었습니다. 2014년 정도까지만 해도 Oracle BI, SAS BI, Tableau, Qlik, MSTR 등과 함께 글로벌 BI 시장의 선두그룹 평가를 받았었으나, 최근 다른 솔루션들의 약진과 더불어 살짝 밀리는(?) 듯한 느낌을 받습니다. 아래는 2014년부터 2016년 까지의 가트너 발표 자료입니다.
2014년 BI 솔루션 비교 자료
2015년 BI 솔루션 비교자료
2016년 BI 솔루션 비교자료
위 자료 외에도 몇가지 BI 솔루션 Ranking 자료를 더 살펴봤으나, 현재 시점의 순위는 2014년 이후 하양세 인 것으로 보입니다. 하지만 Ranking 자료라는 것이 기준에 따라 많이 달라질 수 있는 것이고, 국내에 많은 적용사례가 존재하며 데이터 시각화에 있어 높은 편의성을 제공하는 좋은 툴 이라는 것은 분명합니다.
최근 Gartner 의 BI 솔루션 평가 기준은 아래와 같이 두가지 영역으로 나누어져 평가되고 있는데,
- Bisiness Intelligence and Analytics Platform
- Advanced Analytics Platform
이번 글이 Spotfire 와 다른 BI 솔루션의 장단점 비교분석이 아닌 BI 솔루션을 잘 활용할 수 있는 분야에 대한 소개와 방법에 대한 제공이 목적이므로, 타 솔루션과의 비교는 생략하고, 위 두가지 관점에서 설명을 드리고자 하며, 많은 BI 솔루션 중 Spotfire 를 위주로 설명드리는 이유는 필자가 가장 익숙한 BI 솔루션이기 때문입니다.
BI and Analytics Platform 관점의 Spotfire
1. Spotfire 개념적 구성 및 사용환경
Spotfire 는 Excel 과 유사하게 사용자의 Local PC 에 존재하는 txt, xlsx 파일 등을 분석할 수 있는 기능과 더불어 다양한 Data Source (SQL 을 지원하는 DB) 에 접속하여 데이터를 분석할 수 있는 기능을 제공합니다. 아래 그림은 Spotfire 를 사용하기 위해 필요한 기본적인 개념 구성과 분석가 관점에서 사용할 수 있는 두가지 모드(웹, 툴)에 대한 구성도 입니다.
Spotfire 개념적 구성도(출처:TIBCO Spotfire 소개자료)
위 그림에서 처럼 Spotfire 를 사용하기 위해서는 기본적으로 Spotfire Server 구축(Windows서버)이 필요하며, Spotfire 에서 관리하는 메타 정보들을 저장할 수 있는 Spotfire Repository DB 가 필요합니다. 주의할 부분은 위 그림에서의 Repository DB 는 분석 대상 데이터를 저장하는 DB 가 아니며 실제 분석 대상 Data Source 는 위 그림상에서 표현되지 않았습니다. 실제 Data Source 는 Local PC 의 파일이 될수도 있으며, ODBC, JDBC 드라이버를 통해 접속할 수 있는 SQL 지원 데이터베이스라면 어떤 것이든 가능합니다.
Spotfire 를 사용할 수 있는 서버 측 환경구성이 되었다면, 사용자는 WebPlayer 를 통해 웹 혹은 모바일 기반의 분석이 가능하게되며, 그림에서 Spotfire Analyst 로 표현된 분석가의 PC 에 설치된 Client Tool 을 통해서도 분석을 할 수 있습니다. 분석을 수행하기 위해 웹에 접속하거나 툴을 실행하는 시점에 Spotfire Server 에 인증 요청을 하게되며, 권한 인증이 확인된 유저만 분석을 진행할 수 있습니다.
2. Visualization Chart 지원
많은 분들이 BI 솔루션을 적용하면 해당 툴이 데이터를 분석해 줄 것으로 기대하는데, 사실 그렇지는 않습니다. 이것은 데이터가 있고 Excel 이 있을 때 Excel 이 데이터를 분석해 주는 것이 아니고 사람이 Excel 로 원하는 기준의 분석을 진행해야 하는 것과 같다고 보시면 됩니다. 기본적으로 BI 솔루션들은 분석하고자 하는 대상 데이터를 정해진 Visualization Chart 로 시각화하는 기능에 강점을 가지고 있습니다. 이점에서 개인적으로는 BI 솔루션이라는 거창한 이름 보다는 Visualization Tool 이 더 적합한 명칭이 아닌가 생각합니다. 하지만, 데이터를 분석하는 과정에 있어, 분석 결과를 시각화 하는 과정은 매우 중요한 요소라고 생각하며, 데이터의 빠른 시각화를 지원하는 BI 솔루션들을 쓰는 이유는 이부분에 있다고 생각합니다. TIBCO Spotfire 또한 마찬가지인데, 기본적으로 제공되는 Chart 의 종류는 아래와 같습니다.
- Bar Chart
- LineChart
- Combination Chart
- Pie Chart
- Scatter Plot
- TreeMap
- HeatMap
- Parallel Coordinate Chart
- Cross Table
- Box Plot
- Summary Table
- Table Plot
- Map Chart
데이터 분석에 있어서 가장 많이 사용되는 Chart 들 위주로 구성되어 있으며 Chart 의 종류에 따라 서로 다른 속성값들을 가지고 있는데, 몇번의 클릭을 통해 쉽게 설정 변경할 수 있는 User Interface 를 지원합니다.
3. Chart 중심의 데이터 분석 기능 및 Drill Down 분석
대부분의 BI 솔루션들은 데이터 분석 자체를 시각화 차트 중심으로 진행할 수 있습니다. Spotfire 또한 위에서 표현된 13가지 종류의 차트를 기준으로 하나의 Chart 에서 상세 분석하고 싶은 포인트를 다른 차트로 시각화할 수 있는 Drill Down 분석 기능을 제공합니다.
위 그림은 Spotfire 의 분석 화면 중 하나의 페이지 인데, 하나의 페이지 내에 포함된 여러개의 Chart 들이 서로 연계되어 표현되도록 시각화가 가능하며, 위 상태에서 새로운 차트를 하나 더 추가하여 시각화 하는 것도 어렵지 않게 클릭 몇번으로 가능해 집니다. 아래 그림은 하나의 차트의 특정 부분(fruit, pears, 초록색)을 선택했을 때 선택된 영역의 실 데이터를 Grid 로 표현하도록 구현해 놓은 화면을 보여줍니다.
위의 Bar Chart 에서 희미하게 표현된 부분은 선택되지 않은 영역을 의미하며, 멀티 선택이나 전체선택 등 여러가지 UX 관점의 편의 기능도 제공 됩니다.
4. Information Designer 를 통한 Library 관리
일반적인 경우에는 시간의 흐름에 따라 생성되는 같은 유형의 데이터를 어제도, 오늘도, 내일도 봐야하는 경우들이 많습니다. 이런 경우 잘 만들어 놓은 템플릿이 있으면 분석을 하는 과정의 시간을 매우 단축시킬 수 있는데, Spotfire 에서는 이러한 템플릿을 Library 라고 표현합니다. Library 를 만들기 까지 몇가지 논리적인 Object 생성 단계가 필요하며, Spotfire 의 관리자 권한을 갖고 있는 유저가 Information Designer 라는 메뉴를 통해 아래와 같은 논리 작업들을 진행한 이후부터, 만들어진 Libary 를 재활용 하여 분석 시간을 단축할 수 있습니다.
- Data Source 설정: 접속하고자 하는 Database 에 대한 설정(Oracle, MySQL, Hive 등 JDBC Driver 를 통한 접속)
- Element 생성 : Database 의 Physical Table 을 View 와 비슷한 논리적인 Concept 으로 매핑하는 과정
- Information Link 생성: 여러개의 Element 들을 조합(Join)하여 최종적으로 보고자 하는 하나의 Data Table(엑셀에서 Sheet와 같은 개념) 을 구성하는 과정
- Library 생성 : Information Link 를 통해 가져온 Data Table 을 필요한 Visualization 작업을 통해 템플릿으로 만드는 과정
가장 먼저 필요한 데이터를 가져와야 하는 대상 Data Source 를 설정하고, 일반 RDB 에서 View 와 유사한 개념인 Element 로 매핑하는 작업을 진행합니다. 이 과정에서 분석에 필요없는 대상 컬럼을 제외하거나 컬럼명을 표준에 맞게 변경하는 등의 논리작업을 진행하게 됩니다. 이렇게 생성된 Element 들을 기반으로 최종적으로 조회하고자 하는 하나의 Data Table 을 구성하는 작업인 Information Link 를 만들게 되는데, RDB 개념과 매핑하여 쉽게 설명하면 여러개의 Table(Element) 을 조인하여 하나의 View 를 조회할 수 있도록 만든 결과물이 Spotfire 의 Information Link 라고 생각하시면 됩니다.
Information Link 를 통해 조회 된 데이터는 Local PC 의 메모리 혹은 Spotfire Server 의 메모리 상에 로딩 되게 되는데, 이 상태에서 시각화 Chart 를 적용하고 여러개의 Page 를 만들고 Filter 를 적용하는 등의 템플릿을 만드는 과정을 거친 산출물이 Library 가 되며, 한 번 만들어진 Library 는 계속해서 재사용 될 수 있습니다. 아래는 Information Link 를 만들기 까지의 Information Designer 를 사용하는 과정의 화면 입니다.
왼쪽의 Elements 탭에 있는 트리 형태의 브라우저가 만들어진 Elemnt 와 Information Link 들을 보여주는 영역이며, 오른쪽 내용은 선택된 Information Link 의 설정(조회 조건, 입력 파리미터 값 등)들을 변경할 수 있는 화면 입니다.
5. 다양한 Filter 의 저장 및 관리
Spotfire 의 필터는 Excel 에서 사용하는 필터와 개념적으로 크게 다르지 않습니다. 하지만, 필터 조건에 대한 이름을 부여하고 저장 및 조건 수정등의 필터를 관리할 수 있는 기능이 강화되어 있으며, 필터 변경 시 데이터의 시각화 차트 또한 적용된 필터 기준에 맞게 표현되므로 매우 빠른 시각화 표현이 가능하고 인사이트를 찾을 수 있습니다.
Advanced Analytics Platform 관점의 Spotfire
Advanced Analytics Platform 영역에서는 고급 통계분석이나, 머신러닝 등을 분석 기능을 얼마나 잘 제공하느냐의 관점으로 평가되는데, Spotfire 는 매우 기본적인 고급 통계분석 기능을 자체적으로 일부 내장하고 있으며 이를 통해 내장된 고급 분석 기능을 제공하는 방식과, R Script 작성 후 작성된 Script 를 R 을 통하여 실행한 결과를 받아오는 방식의 두가지 형태로 고급 분석 기능으로 제공 합니다.
(Spotfire 에서 스크립트를 실행하여 외부 프로그램을 호출할 수 있음, R 도 가능)
하지만, 고급 분석 영역에서 제공되는 자체 기능은 실제 SAS, SAP, R 등 전통의 강자가 제공하는 기능 및 함수들과 비교하여 많은 제약 사항들이 존재하며, R 스크립트를 직접 작성하거나 분석 프로그래밍을 하시는 분들께서 R Studio 등 기존의 분석 환경을 버리고 Spotfire 의 기능을 사용한다는 것은, 그렇게 효율적인 환경 구성이 아닐 뿐 아니라, 실제로 유저들이 그렇게 사용하지도 않습니다. 약간 시니컬한 관점에서 해석한다면 솔루션의 모양새를 유지하기 위해 들어가 있다는 느낌 정도 입니다.
BI 솔루션, 어떻게/어디에 활용해야 할 것인가?
지금까지 BI 솔루션 중 Spotfire 위주로 간단히 그 특성과 기능에 대해 살펴 보았는데, 지금부터는 실 사용자 관점에서 BI 솔루션을 더욱 잘 활용하기 위하여 고려해야 하는 점 위주로 설명드리고자 합니다.
1. 데이터의 전처리 작업이 중요하다
BI 솔루션이 빛을 발할 수 있는 가장 큰 전제 조건은, 데이터가 분석을 해야할 관점으로 이미 잘 전처리 되어 있어야 한다는 것 입니다. 엑셀에서 데이터를 분석할 때 여러가지 편집을 하면서 데이터를 가공하는 과정을 거치는 경우가 많은데, BI 솔루션은 그런 과정을 최소로 할 수 있도록 잘 전처리가 되어있지 않으면 매우 분석하기 어렵습니다. 물론 Spotfire 의 경우에도 데이터를 조회하는 Information Link 등을 만들어 내는 시점에 필요한 전처리 과정을 할 수 있도록 Query 최적화나 조건 설정들이 가능하나 Information Designer 의 기능을 자유자재로 사용할 수 있기 까지, 어느 정도의 Learning Curve 가 존재하는 것이 사실이며, 데이터를 조회한 이후 편집 또한 엑셀에서의 그것(?) 보다는 훨씬 익숙하지 않은 과정들을 거쳐야 합니다. 따라서, 대상 데이터를 어떻게 분석을 하는가에 대한 기준을 명확히 알고, 미리 데이터를 잘 가공해 줄 수 있는 데이터 엔지니어가 존재하느냐, 아니냐가 BI 솔루션의 활용성을 높이는데 있어 가장 중요한 포인트라 생각합니다.
2. 데이터의 양과 성능 고려가 필요하다
BI 솔루션 뿐만 아니고 대부분의 분석 도구나 환경은 시각화를 하기 위해 필요한 데이터를 하나의 Machine(노트북이나 데스크탑, 혹은 서버)으로 가져와야 합니다. Spotfire 의 클라이언트 버전은 프로그램이 설치된 PC의 메모리에 데이터를 로딩하고, 이 데이터를 시각화 하기 때문에 물리적인 메모리 양의 제약을 받게 됩니다. 따라서, 분석 대상 데이터가 매우 큰 도메인의 경우에는 적절한 양의 데이터를 분석 관점에 잘 맞도로 Dimension 을 분리해낸 여러개의 Mart 테이블 생성이 필요합니다. 이 또한, 1번에서 언급된 데이터 엔지니어의 몫 이므로 큰 데이터를 잘 다룰 수 있으며 도메인 지식이 깊은 데이터 엔지니어는 여기서도 큰 역할을 하게 됩니다.
3. 정형적인 시각화 리포트 발굴 및 관리가 필요하다
BI 솔루션을 사용하는 이유는 시각화 기능과 이를 Library 로 관리하여 재사용하는 것에 대한 지원이 뛰어나기 때문입니다. 따라서, Visualization Chart 로 데이터를 표현했을 때, 분석하고자 하는 목적에 맞는 Insight 를 빠르게 찾아낼 수 있는 시각화 리포트 들을 발굴해 내고, 이를 Libary 화 하여 관리해 나가게 된다면, 데이터를 분석하는 과정의 시간을 비약적으로 절약해 나갈 수 있습니다. 또한, 만들어진 Library 의 편리한 공유나 협업 지원도, 각자 개인이 같은 데이터를 엑셀로 관리하는 것에 비하여 높은 효율을 얻을 수 있는 부분입니다. 오해하지 말아야 할 것은, BI 솔루션이 데이터를 분석해 주지 않습니다. 분석은 사람이 해야 합니다.
4. 분석 자동화나 고급 분석은 그에 맞는 도구를 사용해야 한다
최근 머신러닝, 딥러닝 등 고급 분석 기법을 활용한 인공지능 분야 등이 각광을 받고 있습니다. 관련 고급 분석을 BI 솔루션으로 해결하려 하는 것은, 추천하고 싶지 않은 방향입니다. 서두에 언급 했듯이 개인적으로는 BI 보다는 Visualization Tool 이 더 적합한 용어라고 생각합니다.
결론
최근 하둡을 중심으로 한 오픈소스 빅데이터 플랫폼의 발전과 더불어 데이터 분석 분야가 가장 핫한 IT 트렌드라 할 수 있겠습니다. 그에 맞춰 많은 데이터 분석 도구들이 치열한 경쟁을 펼치고 있으며 제플린, 쥬피터 등 오픈소스 데이터 분석 도구들 또한 많은 관심을 받고 있습니다. 하지만, 아직까지는 기존의 BI 시장 상용 솔루션들의 완성도와 기능을 따라잡지 못하고 있는 것이 현실입니다. 물론 유연성과 확장성에 있어 더 큰 가능성을 오픈소스 툴들이 가지고 있다고 생각 합니다만, 적어도 Visualization 영역에서는 당분간 상용 BI 솔루션들의 입지는 흔들리지 않을 것으로 보고 있습니다. 이 글이 BI 솔루션 도입을 고려하시는 분들께 조금이나마 현실적인 정보가 되었으면 하는 바램입니다.