데이터 중심 조직의 동반자, 데이터 전문 기업 소프트라인

데이터 사이언스? 데이터 분석?

데이터에 대한 관심이 높아지면서 데이터로부터 가치를 창출하는 행위를 지칭하는 용어도 다양해졌습니다. 그뿐만이 아니라 다양한 용어들의 개념도 서로 분명히 구분되지 않아 혼란을 가중시키고 있습니다. 대표적인 용어들이 바로 데이터 사이언스 (Data science) 와 데이터 분석 (Data analysis) 입니다. 이 용어들이 혼동을 초래하는 가장 큰 이유는 그 차이가 매우 미묘하거나 때로는 아예 차이가 없어지기도 하기 때문입니다. 게다가 업계 전반에 통용되는 공인된 사전적인 정의도 없는 상황이라 관점에 따라 해석이 크게 달라지기도 합니다. 따라서, 사실상 유일한 대안은 각자가 연구를 통해 자신만의 이해를 가지는 것뿐입니다.

이런 맥락에서 소프트라인이 이해하는 두 용어의 개념은 다음과 같습니다.
1. 데이터 사이언스 (Data science) : 문제를 정의하고, 해결을 위해 가설을 세우고, 데이터로부터 일반화된 패턴을 도출해 가설을 입증하여 솔루션을 제공하고 업무에 적용하는 활동.
2. 데이터 분석 (Data analysis) : 데이터 사이언스보다 협의의 개념으로 데이터로부터 인사이트를 학습하는 활동만을 지칭함.

데이터 분석의 종류

데이터 사이언스의 핵심적인 요소 중 하나인 데이터 분석의 종류는 다양합니다. 크게 분석 대상이 되는 데이터에 따른 분류, 분석의 목적에 따른 분류가 있을 수 있는데, 전자의 경우는 Geospatial, Time-series, Graph, Text, Image 등 데이터 분석의 개념적 분류라기보다 데이터 특성에 따른 기술적 분류입니다. 따라서 데이터 분석을 이해하는 데에는 후자의 분류가 더 적합하다고 할 수 있습니다.

분석의 목적에 따른 분류 역시 여러 가지 해석이 있지만 가장 체계적인 분류는 존스 홉킨스 대학의 Jeff Leek이 제시한 6가지 분류입니다.
1. 기술적 분석 (Descriptive) : 주어진 데이터에 대한 설명을 목적으로 하는 분석. 평균, 분산, 표준편차 등 보편적인 지표들을 활용해 데이터 자체의 특성을 해설하는 것이 목적.
2. 탐색적 분석 (Exploratory) : 주어진 데이터를 다양한 방식으로 살펴 데이터 내 변수들 간의 상관관계, 트렌드 등을 탐색.
3. 추론적 분석 (Inferential) : 탐색적 분석에서 발견한 주어진 샘플 데이터 내에 존재하는 상관관계가 샘플링되지 않은 나머지 경우에도 적용 가능한지 여부를 통계적으로 추론.
4. 예측 분석 (Predictive) : 주어진 샘플 데이터로부터 전체 데이터로 일반화할 수 있는 패턴을 도출해 모델을 만들어 일련의 변수 값으로부터 특정한 변수의 값을 예측.
5. 인과관계 분석 (Causal) : 변수들 간의 상관관계에 정량적 인과관계가 존재하는지를 분석.
6. 확정관계 분석 (Mechanistic) : 인과관계가 예외없이 적용할 수 있는 법칙인지 확인.

이처럼 데이터로부터 인사이트를 도출하는 활동은 다양합니다. 일반적으로 데이터 분석을 한다는 말은 순수과학의 영역에 속하는 확정관계 분석을 제외한 나머지 분석방식을 수행한다는 의미입니다. 주의할 점은 1번부터 6번까지의 분류가 상호 배타적인 구분이 아니라 점진적인 고도화 단계라는 점입니다. 즉, 기술적 분석없이 탐색적 분석이 불가능하고, 탐색적 분석없이 예측분석을 할 수는 없다는 의미입니다. 만약 예측분석을 수행하고자 한다면 기술적 분석부터 추론적 분석을 진행할 필요가 있습니다.

더 높은 수준의 데이터 분석을 수행할 수록 더 고차원적인 활용이 가능해집니다. 상단 이미지의 세로축이 의미하는 것이 단순 리포트에서부터 최적화까지 데이터의 활용방식의 단계입니다. 가로축의 데이터 분석 방식이 고도화될 수록 고차원의 활용방식이 가능해진다는 것을 알 수 있습니다. 그리고 이러한 데이터 분석활동에서 핵심적인 역할을 수행하는 것이 바로 머신러닝입니다. 머신러닝은 예측분석이나 최적화 활동에만 적용된다고 알고 있는 경우가 많은데 전혀 그렇지 않습니다. 수많은 머신러닝 알고리즘들이 탐색적, 추론적 데이터 분석에서도 활용됩니다. 즉, 머신러닝은 데이터에 기반한 예측을 위해서만 존재하는 것이 아니다라는 점은 분명히 짚고 넘어가야 합니다.

데이터 분석의 요건

조직 전체에 걸친 데이터 분석이 긍정적인 효과를 가져오기 위해서는 데이터 엔지니어링을 통해 고품질의 데이터가 효율적으로 저장되고 안전하게 유통되어야 하는 것이 필수입니다. 하지만 이것만으로 모든 요건이 충족되었다고 볼 수는 없습니다. 한 가지 요건이 반드시 더 충족되어야 하는데 그것은 바로 고성능의 연산 플랫폼입니다.

데이터 분석활동의 수행 관점의 본질은 대용량 데이터에 대한 수학 / 통계적 연산입니다. 비교적 단순한 평균, 분산 등 기초 통계에서부터 복잡한 머신러닝 알고리즘에 이르기까지 데이터 분석을 수행한다는 것은 결국 반복적으로 대용량 데이터에 대해 연산을 수행하는 것입니다. 하나의 연산을 수행하는 시간이 길어질수록 해당 연산이 반복되는 횟수의 배수만큼 분석 성능은 저하되게 됩니다. 데이터 사이언티스트들이 한 번 분석작업을 실행하고 밤새 기다렸는데 결국 메모리 부족으로 오류가 발생하는 슬픈 현실은 지금도 빈번히 일어나고 있습니다. 즉, 데이터 분석에 대한 요건이 강화될수록 고성능 데이터 연산에 대한 요건 역시 커지는 것은 당연한 결과입니다. 동시에 왜 빅데이터의 3V 중 하나가 속도 (Velocity) 인지 알 수 있게 됩니다.

데이터 분석의 연산의 특성은 크게 두 가지입니다.
1. 대용량 데이터 : 연산을 수행할 대상이 되는 데이터의 용량이 큼
2. 단순반복 연산 : 비교적 단순한 연산을 반복적으로 수행함

결국 많은 데이터에 대해 비교적 단순한 계산을 반복적으로 수행하는 것이며, 이러한 특성을 고려할 때 병렬 아키텍쳐가 데이터 분석 연산에는 매우 적합하다는 것을 알 수 있습니다. 사람으로 비유하자면 데이터 분석 연산을 수행할 때는 하버드 응용수학과 박사 1명보다 미적분을 배운 고등학생 10명이 낫습니다. 초고성능의 단일 서버보다 복수의 저성능 노드들을 병렬적으로 연결한 클러스터가 데이터 분석에서는 더 뛰어난 성능을 보여줍니다. 소수의 고성능 코어로 구성된 CPU보다 다수의 저성능 코어로 구성된 GPU가 머신러닝에 훨씬 적합한 것도 같은 원리입니다. 이러한 병렬 아키텍쳐를 MPP (Massive Parallel Processing) 아키텍쳐라고 합니다. Spark, Vertica, 그 외 상용 머신러닝 플랫폼들은 예외없이 MPP 아키텍쳐에 기반하고 있습니다.


관련 제품 : MicroStrategy