“저희 서비스는 데이터 베이스에 데이터를 저장하고 있어요!” 데이터 베이스에 데이터를 저장하고 있다고 서비스 분석이 가능할까요? 데이터 분석 혹은 모델링을 위한 데이터는 데이터 베이스에 저장된 데이터만으로는 충분하지 않을 때가 많습니다. UX 분석, 많은 회사들에서 하고있는 AARRR 분석, 사용자 행동을 기반으로 한 Modeling 등을 위해서는 client-side의 로그가 필요합니다. client-side에서 발생하는 로그란 무엇일까요? 사용자가 웹사이트에 들어와서 어떤 페이지에 방문했는지, 어떤 버튼을 클릭했는지 등을 알 수 있는 데이터를 말합니다. 많은 서비스들에서는 데이터 기반의 의사결정을 위해 이러한 로그들을 남깁니다. 하지만 로그를 남긴다는 것은 쉬운일이 아닙니다.
''' 책 [그로스 해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법] 에서 발췌한 부분을 볼까요?
“데이터를 잘 쌓고 활용하는 과정에서 만나는 가장 큰 난관은 데이터를 수집하고 이를 분석할 수 있는 기본적인 환경을 구축하는 일이다. 하둡, 스파크, 등 널리 알려진 분산처리 시스템이 있지만 막상 분석 환경을 직접 구축하다 보면 여러 대의 서버와 오픈소스 스택을 관리하는 과정에서 갖가지 난관과 장애를 만나게 된다. (무엇보다 일단 엔지니어가 없으면 시작할 수가 없다!)
하지만 최근에는 클라우드 분석 환경이 눈부시게 발전하면서 인프라 구축을 위한 엔지니어링이 크게 간소화 됐다. 아마존의 EMR, 구글의 GCP, 마이크로소프트의 Azure 등이 대표적인 클라우드 플랫폼으로 알려져있다. 실제로 이러한 클라우드 분석 환경을 잘 이용하면 데이터 수집과 저장, 전처리에 이르는 많은 프로세스를 간단한 몇 가지 설정만으로 쉽게 구현할 수 있다. 아마존의 레드시프트, 구글의 빅쿼리 등 클라우드 데이터베이스의 성능도 훌륭한 편이다. 그뿐만 아니라 최근에는 머신러닝과 관련된 모델 생성과 서빙에 이르기까지 지원 범위가 점점 넓어지고 있다. “ '''
저도 눈부시게 발전한 클라우드 분석 환경(과 기타 솔루션) 덕분에 로그 수집 과정을 더 간소화 해서 진행할 수 있었습니다! 이번 러닝패스에서는 웹사이트에서 발생하는 로그를 어떻게 분석에 활용하기 좋은 형태로 저장하는지 전체 과정에 대해 알아보고 "잘 이용하면 데이터 수집과 저장, 전처리에 이르는 많은 프로세스를 간단하게"할 수 있다는 서비스들을 소개합니다. 서비스는 제가 작업에 이용했던 서비스의 특징과 장점을 위주로 소개해볼 예정입니다 ;)