러닝패스

[러닝패스 1] 데이터 분석을 위한 웹 로그 수집 A to Z 계획하기!

무료
⚡ 1시간이면 이런걸 할 수 있어요!
로그를 수집하는 일이 왜 필요한지 이해할 수 있어요.
ETL이 무엇인지 알 수 있어요
로그 수집을 위해 어떤 서비스를 이용할지 결정할 수 있어요.
학습 시간을 줄였어요!
1시간
핵심 콘텐츠만 선별했어요!
7개 콘텐츠
이 분들은 꼭 보세요.
클라이언트 사이드 로그를 수집하고자 하나 어디서 부터 시작해야할지 막막한 사람!
미리 알고 있어야 해요.
없음
이 러닝패스가 어떠신가요?
(내 보관함에서 다시 볼 수 있어요)
“저희 서비스는 데이터 베이스에 데이터를 저장하고 있어요!” 데이터 베이스에 데이터를 저장하고 있다고 서비스 분석이 가능할까요? 데이터 분석 혹은 모델링을 위한 데이터는 데이터 베이스에 저장된 데이터만으로는 충분하지 않을 때가 많습니다. UX 분석, 많은 회사들에서 하고있는 AARRR 분석, 사용자 행동을 기반으로 한 Modeling 등을 위해서는 client-side의 로그가 필요합니다. client-side에서 발생하는 로그란 무엇일까요? 사용자가 웹사이트에 들어와서 어떤 페이지에 방문했는지, 어떤 버튼을 클릭했는지 등을 알 수 있는 데이터를 말합니다. 많은 서비스들에서는 데이터 기반의 의사결정을 위해 이러한 로그들을 남깁니다. 하지만 로그를 남긴다는 것은 쉬운일이 아닙니다. ''' 책 [그로스 해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법] 에서 발췌한 부분을 볼까요? “데이터를 잘 쌓고 활용하는 과정에서 만나는 가장 큰 난관은 데이터를 수집하고 이를 분석할 수 있는 기본적인 환경을 구축하는 일이다. 하둡, 스파크, 등 널리 알려진 분산처리 시스템이 있지만 막상 분석 환경을 직접 구축하다 보면 여러 대의 서버와 오픈소스 스택을 관리하는 과정에서 갖가지 난관과 장애를 만나게 된다. (무엇보다 일단 엔지니어가 없으면 시작할 수가 없다!) 하지만 최근에는 클라우드 분석 환경이 눈부시게 발전하면서 인프라 구축을 위한 엔지니어링이 크게 간소화 됐다. 아마존의 EMR, 구글의 GCP, 마이크로소프트의 Azure 등이 대표적인 클라우드 플랫폼으로 알려져있다. 실제로 이러한 클라우드 분석 환경을 잘 이용하면 데이터 수집과 저장, 전처리에 이르는 많은 프로세스를 간단한 몇 가지 설정만으로 쉽게 구현할 수 있다. 아마존의 레드시프트, 구글의 빅쿼리 등 클라우드 데이터베이스의 성능도 훌륭한 편이다. 그뿐만 아니라 최근에는 머신러닝과 관련된 모델 생성과 서빙에 이르기까지 지원 범위가 점점 넓어지고 있다. “ ''' 저도 눈부시게 발전한 클라우드 분석 환경(과 기타 솔루션) 덕분에 로그 수집 과정을 더 간소화 해서 진행할 수 있었습니다! 이번 러닝패스에서는 웹사이트에서 발생하는 로그를 어떻게 분석에 활용하기 좋은 형태로 저장하는지 전체 과정에 대해 알아보고 "잘 이용하면 데이터 수집과 저장, 전처리에 이르는 많은 프로세스를 간단하게"할 수 있다는 서비스들을 소개합니다. 서비스는 제가 작업에 이용했던 서비스의 특징과 장점을 위주로 소개해볼 예정입니다 ;)
NOTE
데이터 분석을 하기 위해서는 ETL이라는 프로세스가 선행돼야 합니다. 데이터 분석이나 모델링을 위해 원천 데이터를 그대로 사용하는 경우는 많지 않습니다. ETL은 extract(추출), transform(변환), load(적재)로 여기저기에 산재돼 있는 데이터를 수집하고 분석하기 편한 형태로 변환하고 원하는 데이터베이스에 최종적으로 적재하는 일련의 과정을 의미합니다. 로그 수집 계획을 세우기에 앞서 ETL이 무엇이고 로그 수집의 과정이 어떻게 될지 상상해봅시다.
Video
What is ETL for Beginners | Introduction to ETL | ETL Non-Technical Explanation| SkillCurb
출처: https://youtu.be/wyn-PkJB3Lk
dataA 님의 학습노트
💡
이 부분은 심화 학습 이예요. 조금 더 알아보고 싶다면 학습해보세요!
NOTE
현대 사회에서 점점 대량의 데이터를 다루는 일이 많아지며 점차 ELT 방식의 데이터 처리가 늘어나고 있습니다. ELT은 추출한 데이터를 모두 적재하고 이후 사용하기 좋은 형태로 변환하여 사용하는 방식입니다. ELT의 특징과 장점, ETL방식과의 차이를 알고 싶으신 분들은 아래 아티클을 참고해주세요 ;) 선택 1) 원문을 번역 및 정리한 블로그 글입니다.
URL
article
출처: https://dining-developer.tistory.com/50
dataA 님의 학습노트
NOTE
선택 2) 영어가 편하신 분들은 원문을 참고하시는 것이 더 풍부한 정보를 얻으실 수 있을거에요! 한글 자료를 보신 분들도, 이 아티클 맨 아래 표를 참고하시면 비교하시는데 도움이 되실 것 같습니다 ;)
URL
article
출처: https://www.integrate.io/blog/etl-vs-elt/
dataA 님의 학습노트
그럼 이제 본격적으로 로그 수집 계획을 세워보겠습니다. 수집할 로그 데이터를 정의하는 부분은 러닝패스2에서 다루고 함께 해볼 예정이고, 러닝패스1에서는 발생한 로그 데이터를 어떤 플랫폼 서비스를 활용하여 흐르게할지 workflow에 대한 계획을 세우는 것을 먼저 다룰 예정입니다. 아래 아티클을 통해 로그 수집을 위해 무엇이 필요한지, 저는 어떤 서비스를 이용하고 있는지 공유드립니다 :)
PATH
포지션별 서비스 살펴보기는 “고군분투~” 시리즈에서 제안하는 서비스를 그냥 이용해보기보다 비슷한 역할을 하는 서비스들을 알아보고 비교해서 자신에게(혹은 관리중인 서비스에) 가장 잘 맞는 tool을 선택하고 싶으신 분들을 위해 준비된 내용입니다. 레퍼런스도 잘 되어있고 커뮤니티의 교류도 활발한 서비스를 선택해서 추천했지만, 그냥 수용하기보다 서비스 각각의 장단점을 알고 이용하면 선택한 서비스의 장점을 훨씬 더 잘 활용할 수 있겠죠? 실무에서 서비스를 선택하고 이용하기 시작하는 단계에서 여러 서비스를 리서치하고 비교해서 사내에서 공유/설득/토론하는 일이 중요한 일이더라구요! 짧은 아티클들로 준비했으니 가볍게 살펴보시기 편하실거에요. ⸜(*ˊᗜˋ*)⸝
dataA의 러닝패스
포지션별 서비스 살펴보기
website
출처: https://dingrr.com/blog/post/python-%EC%9B%B9%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EB%81%9D%ED%8C%90%EC%99%95-%EA%B0%80%EB%A6%AC%EA%B8%B0-django-flask-fastapi-sanic
article
출처: https://flowarc.tistory.com/entry/%EB%B0%B0%EC%B9%98-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EA%B4%80%EB%A6%AC%EB%A5%BC-%EC%9C%84%ED%95%9C-Workflow-%EB%A6%AC%EC%84%9C%EC%B9%98-Airflow-VS-Azkaban-VS-Oozie
article
출처: https://kakaoentertainrecruit.tistory.com/26
💡
이 부분은 심화 학습 이예요. 조금 더 알아보고 싶다면 학습해보세요!
선택) bigquery 프로젝트의 소유자라면 ga에서 수집한 로그를 간단하게 bigquery로 내보낼 수 있어요! 로그 내보내기(log export)는 비용이 청구되지 않으며 bigquery에서 query 비용만 살펴보면 됩니다 ;)
👋 다양한 인사이트를 읽어보고 계신가요?
나만의 학습 기록을 남기고, 관리하고 싶다면!
다양한 전문가의 멤버십 전용 콘텐츠를 보고 싶다면!
나의 학습 내용을 공유하고, 수익을 올리고 싶다면!
3초 회원가입/로그인으로, 런핏의 커뮤니티에 여러분도 함께하세요.
3초 만에 가입하기