예를 들어 이번에 고객 유입 개선을 위한 이벤트를 연다고 해보자. 이 고객 유입과 개선 정도를 파악하기 위해선 평가 지표를 기획하고 대시보드를 만들어야 한다. 이 과정에서 데이터 분석가는 참여 고객을 어떻게 정의할 것인지, 이벤트 화면을 최소 1번 본 사람? 게시물을 공유한 사람? 등을 결정한다.
데이터를 분석하여 논리적으로 설명 가능하도록 결론을 도출하는 것이다. 예를 들어 갑자기 CX문의가 늘었는데 이 원인이 무엇인지 파악하기 위해 다음과 같은 Action을 취한다고 한다.
한 달간 갑자기 CX 문의가 너무 늘어서, 콜센터가 마비가 될 지경입니다.
보험사기를 치는 것 같은 고객을 어떻게 자동으로 적발할 수 있을까?
인스타그램 데이터를 자연어 처리해서 최근 시장 동향을 자동으로 파악할 수는 없을까?
개선을 위한 시스템을 구축하는 일은 위와 같이 더 나아질 수 있는 점을 찾아 해결하는 것이다.
다 종합해보면!! 데이터 분석가는 구체적으로 이런 일을 한다.
문제 확인 & 가설 제작
쿼리 제작 (SQL)
모델링 (머신러닝, 통계 모델링, 비즈니스 모델링 등)
인사이트 정리/시각화 (ppt, notion colab 등)
협업/미팅
3. 데이터 분석가에게 필요한 역량은?
1) 논리적 사고
논리적인 사고는 문제가 주어지면 목표를 설정하고 해결방안과 그 이유를 생각해낼 수 있으며, 그에 따른 결론 또는 성과를 설명할 수 있는 것이다. 논리적 사고가 중요한 이유는 항상 “왜”가 중요하기 때문이다. 데이터 분석가가 도출한 결론에는 꼭 근거가 있어야 한다.
면접을 볼 때도 논리적인 사고는 큰 도움이 된다.
ex) 왜 ~~ 이러한 모델/스코어/기법 등등을 썼나요?
ex) 왜 우리 회사에 지원했나요
2) 꼼꼼함
데이터 분석가에게는 쿼리를 더 효율적으로 짜는 꼼꼼함과 복잡한 현실세계의 데이터를 잘 정리하는 능력이 필요하다.
3) 액션 위주의 사고
액션 위주의 사고라는 게 처음엔 잘 이해가 안 됐는데 이해하고 나니까 내가 평소에 하던 것은 액션 위주의 사고가 아니라는 것을 알았다. 예를 들어 ‘이번 주 가동률은 70%다’라고 인식하는 게 아니라 ‘전해 동기 대비 이번 주 가동률은 3% 낮은 70%’라고 보는 것이 액션을 낼 수 있는 분석이라는 거다.
4) 모델링
해당 모델의 문제가 무엇인지 파악하고, 이를 어떻게 하면 개선할 수 있을지 리소스/상황에 따라 필요에 맞게 생각하는 능력 이번 선배팅에서 계속 강조하셨던 부분은 크게 2가지이다.
1. 논리적, 구조적 사고하기
2. 자신의 주력 도메인을 갈고닦기!
프로그래밍 언어도 여러 개를 하는 것보다 어느 하나를 깊게 파는 것이 좋다고 하는 것처럼 데이터 분석가가 되고 싶다면 자신이 자신 있는, 잘하는 분야를 더 파는 게 중요하다고 한다.
데이터 분석가에도 다양한 유형이 있기 때문에 위의 데이터 분석가의 역량 중 하나만이라도 자신의 강점인 부분을 잘 살려서 준비하면 된다.
21세기는 ICBM으로 상징된다. 20세기의 대륙간탄도미사일과는 달리 사물인터넷(Internet of Things), 클라우드(Cloud) 빅데이터(Big Data), 모바일(Mobile)의 머리글자를 모은 조어로서의 ICBM이다. 이미 이것들은 우리의 일상에 깊숙하게 들어와 아주 빠른 속도로 확장되고 있다. 그러나 이제 시작에 불과하며, '도구적으로' 사용하고 있는 것일 뿐 이에 따른 사고의 혁명과는 거리가 멀다. 여전히 눈에 보이고, 손으로 만질 수 있으며, 질료적인 것을 찾아 헤맨다.
- 김경집의《6I 사고 혁명》중에서 -
* 세상은 빛의 속도로 변하고 있습니다. 어제의 기술은 이미 지난 것이 됐고, 내일의 기술은 싱귤레리티(Singularity)를 향해 무섭게 치닫고 있습니다. 사고방식, 대응 전략이 바뀌어야 뒤따라 갈 수 있습니다. 방법은 오직 하나입니다. 새로운 도구들에 무궁한 관심과 호기심을 가지고 끊임없이 배우고 공부해야 합니다. 도구를 알아야 쓸 수 있고 올바르게 사용할 수 있고, 그 도구를 내 손안에서 쥐락펴락해야 자기 것이 될 수 있습니다.
질료(質料, 영어: hyle)는 원어 필레이는 숲의 나무라든가 재목의 뜻이지만 바뀌어 재료·소재가 된다. 아리스토텔레스에서는 형상(形相)의 대(對)개념, 또는 상대적인 원리이며, 사물의 실체-본질을 형상인(形相因), 기체(基體)가 되는 것을 질료인(質料因)이라고 한다. 이 양자가 결합하여 개별적인 것이 성립한다. 하나의 금반지라면 금은 질료요, 원형은 형상을 말한다.
Phase IV — 서비스형 빅데이터, 클라우드 스토리지를 사용하는 EDW, 완전히 새로운 데이터 수집 프레임워크 (2018~2019)
2019년에 이르자 데이터 플랫폼에 대한 이해가 깊어지고 규모가 확대되어 다양한 비즈니스 사용 케이스 및 시나리오에 확장할 수 있게 진화됐습니다. 진화된 데이터 플랫폼이 지원하는 몇 가지 흥미로운 사례를 설명하겠습니다.
빅데이터 플랫폼: 빅데이터팀은 그동안 여러 종류의 롱 러닝 하둡 클러스터를 운영해 왔지만, 폭발적인 사업 성장을 뒷받침하기 위해 클러스터 관리 정책 및 배포 전략을 대폭 수정해야만 했습니다. 고객을 위해서 더욱 안정적이고 확장 가능한 플랫폼을 제공할 수 있도록 머신 이미지를 미리 빌드했으며, 컴퓨팅 리소스 특성에 맞춘 다양한 최적화, 유연한 스케일링 정책, 클러스터 추상화 레이어 추가 등 다양한 분야를 개선했습니다.
클러스터 라이프사이클 : 고객의 워크로드를 기반으로 다양한 라이프 사이클을 지원하는 하둡 클러스터를 제공합니다. 각 클러스터의 라이프 사이클은 비용 효율 및 비즈니스 작업량에 따라 엄격히 관리됩니다. 이러한 클러스터는 공용 하이브 메타 스토어와 클라우드 저장소에 접근하기 때문에, 모든 고객은 동일한 하이브 테이블을 일관성 있게 사용할 수 있습니다.
스케일링 정책: 대부분의 클라우드 플랫폼에서는 시스템 지표에 따라 오토 스케일링 (Auto-scaling)을 처리합니다. 빅데이터팀도 처음에는 클라우드 서비스에서 제공하는 오토 스케일링을 사용했지만, 실제 고객의 필요를 충족시키기엔 부족했습니다. 그래서 트래픽이 집중되는 시간대를 분석한 후 해당 시간에 앞서 미리 확장할 수 있도록 해주는 스케줄 기반의 스케일링 기능을 적용했습니다. 스케줄 기반의 스케일링 기능과 오토 스케일링 기능을 조합하여 사용한 덕분에 고객의 플랫폼 경험이 크게 개선됐습니다.
머신 이미지 사전 빌드: 하둡 클러스터용 컴퓨팅 서버에는 OS를 포함한 다양한 소프트웨어와 하둡 에코시스템, 모니터링과 보안 에이전트가 설치됩니다. 빅데이터팀은 이러한 소프트웨어와 다양한 플러그인을 탑재한 서버 이미지를 미리 빌드합니다. 고객의 워크로드에 따라서 다양한 머신 이미지를 제공하며, 머신 이미지는 오픈소스Packer로 관리 합니다. 참고로 머신 이미지를 도입한 후, 하둡 클러스터 설치 시간이 60% 이상 단축됐습니다.
웹 로깅 플랫폼 :쿠팡 초기 고객의 상호작용 데이터를 수집하는 플랫폼은 외부 솔루션을 기반으로 구축되었으나, 이 플랫폼에는 결함도 많고 기능도 부족했습니다. 그래서 많은 도메인 팀에서 메트릭을 집계하고 시각화하기 위해 또 다른 외부 서비스를 이용해야 했습니다. 이러한 문제를 근본부터 해결하기 위해 새로운 프레임워크를 구축했습니다. 장기간에 걸쳐 마이그레이션과 데이터 검증이 이뤄진 후, 신규 로깅 플랫폼이 레거시 로깅 플랫폼을 완전히 대체했습니다.
여기서 잠시, 로그의 여정에 대해 간략히 살펴보겠습니다. 시작하기에 앞서, 프로듀서가 메타데이터 서비스에 스키마를 등록합니다. 사람이 만들어내는 오류를 방지하기 위해 대개 스키마로부터 (정적 타이핑) 코드를 생성한 이후 해당 코드를 앱 또는 웹페이지에 넣어 줍니다. 앱이 릴리즈된 후, 클라이언트는 실제 로그를 생산하여 수집 파이프라인에 보냅니다. 수집 서버는 파이프라인 상에서 모든 로그를 받아 메시지를 생산한 후 메시지 큐로 보내고, 컨슈머가 작성한 다운스트림 잡을 위해 데이터 로더가 메시지들을 읽어들여 클라우드 저장소에 저장합니다. 이 데이터의 첫 컨슈머인 세션 배치 잡은 세션 구분 및 속성들이 추가된 세션 데이터 테이블을 생성하여 일반적인 배치 컨슈머들을 위한 표준 데이터를 제공합니다.
수집 파이프라인(수집 서버, 메시지 큐 및 데이터 로더): 쿠팡 플랫폼 서비스 팀에서 관리하는 메시지 큐 서비스를 이용, 실시간 컨슈머를 위한 실시간 데이터 스트림 및 배치 컨슈머를 위한 준 실시간 데이터를 손실, 중복 및 오염 없이 제공합니다. 컨슈머들은 또한 메시지 큐에 직접 접근하여 자체 SLA 및 ETL 로직을 구현한 로더를 직접 작성할 수도 있습니다. 배치 파이프라인은 실시간 파이프라인으로 적재된 로그 데이터를 이용하여 구현합니다.
메타데이터 서비스: 모든 로그 데이터에 스키마가 등록되어 있어야 하며 스키마 변경을 검토하고 알림을 받을 오너 및 컨슈머 정보가 있어야 합니다. 로그 데이터 구조에서 이 단일 데이터 소스(single source of truth)는 다른 서비스, 프로듀서의 UI 코드 및 컨슈머 쿼리의 근간이 됩니다.
로그 검증 서비스: 플랫폼상의 데이터 전송을 방해하지 않으면서 메타데이터 서비스에 있는 스키마를 토대로 파이프라인상의 모든 로그를 확인합니다. 모든 결과는 저장되고 해당 로그의 프로듀서 및 컨슈머에게 주기적으로 리포팅 되며 실시간으로 알림이 발송됩니다.
모니터링 및 테스팅 서비스 : QA 테스팅 및 프로덕션을 위해 실시간으로 모든 지정된 사용자나 디바이스의 로그를 추적 및 검증하기 위한 서비스가 제공되며, 사용자들은 구문 뿐만 아니라 의미까지 확인하기 위한 시나리오 기반 검증 기능을 사용할 수 있습니다.
엔터프라이즈 데이터웨어하우스(EDW): 데이터 플랫폼의 주요 데이터 웨어하우스 환경은 ORC 파일이며 하이브/휴(Hive/Hue), 프레스토/제플린(Presto/Zeppelin)을 통해 접속할 수 있습니다. 여전히 EDW 고객에게 MPP 기반의 샌드박스가 제공되지만 이는 EDW의 일부분에 불과합니다. 주요 기능은 고객이 프로덕션에 앞서 샌드박스 테이블을 빌드 하고 이를 통해 도메인 비즈니스를 관리할 수 있는 환경을 제공하는 것입니다. 더불어 고객의 샌드박스 테이블이 리포팅에 필요할 경우, 이 환경에서 단기적인 리포팅을 할 수 있다. 다만 장기간 리포팅을 하거나 공유해야 할 경우, 사용자가 관리하는 테이블을 클라우드 스토리지 기반의 테이블로 이관할 것을 권장합니다.
서브 컴포넌트
이번에는 쿠팡의 데이터 플랫폼에 포함된 다른 주요 기능에 대해서 소개하겠습니다.
데이터 품질
데이터 팀은 데이터 정확성 보장을 위해 열(row)의 HASH를 사용하여 전체 열 데이터와 열의 개수를 비교해주는 프레임워크를 구축했습니다. 기술적 테스팅의 일환으로, 프라이머리 키(primary key)와 빈 값(null value) 등의 DQ 체크도 실행합니다. 해당 프레임워크는 개발자의 비즈니스 관련 SQL 구문 플러그인을 지원할 뿐 아니라, 실제와 동일한 데이터 정확성도 제공합니다. 특히 빅데이터 테이블의 경우에는 제약사항 처리 및 임계치 기반의 데이터 확인을 위해 오픈소스 프레임워크도 활용하고 있습니다.
데이터 이상 알림 서비스
기술이 급변하는 추세에 발맞춰 우리도 빠르게 움직여야 했습니다. 데이터 알림 서비스 (Data Notifier)는 데이터 입력된 직후 가능한 최단 시간 내 이상 현상을 감지하여 알려 줍니다. 예를 들어, 지난달 신규 버전 안드로이드 앱이 출시되었는데 로그 기록에 버그가 발생하여 데이터가 유실되었다고 가정합니다. 과거에는 이러한 이상 현상을 감지하려면 고객이 앱을 설치할 때까지 기다려야 했기 때문에 데이터 유실을 알아채기까지 3일이 걸렸습니다. 하지만 데이터 이상 알림 서비스를 통해 앱 릴리즈로부터 2시간 내로 이상 감지가 가능하게 됐습니다.
SLA (Service Level Agreement)
신규 데이터 플랫폼에서는 매일 한국 시간 오전 9시에 데이터 마트 테이블의 준비 완료 여부가 고객에게 이메일로 공지합니다. 추가로 데이터 SLA 투명성 제고를 위해 데이터 플랫폼 사용자들이 SLA에 관한 정보를 쉽게 읽을 수 있도록, 가독성 높은 온라인 보고서도 개발 중에 있습니다.
데이터 디스커버리 툴
데이터 플랫폼의 테이블/칼럼에 관한 태그 및 설명을 등록할 수 있는 플랫폼으로, 다른 고객이 이를 검색 및 조회할 수 있으며 유기적 성장이 가능한 오픈 플랫폼입니다. 데이터 디스커버리는 쿠팡의 모든 데이터 고객이자체적으로 데이터 발견(discovery)을 할 수 있도록 해주었고, 해당 기능을 통해 데이터를 찾는 수백 명의 사용자는 한층 편리해진 데이터 라이프와 향상된 생산성을 누릴 수 있게 됐습니다.
EDW 관리 시스템 (EMS)
데이터 파이프라인의 생성 및 관리, 데이터 수집 자동화 그리고 메타데이터를 사용한 자동화된 Airflow DAG 생성을 지원하는 프레임워크입니다. 이 프레임워크는 데이터 엔지니어가 필요한 모니터링, 재적재(backfill) , 다운스트림 디펜던시 기능을 지원합니다. 또한, EMS는 온콜 엔지니어를 위해 초기 SLA 감지 기능도 제공합니다.