책읽기

[데이터 분석을 위한 SQL 레시피][1장] 빅데이터 시대에 요구되는 분석력이란?

pythaac 2021. 7. 15. 15:55
이 글은 "데이터분석을 위한 SQL 레시피 (가사키 나가토, 다미야 나오토 지음)"을 읽고 주관적으로 작성된 글입니다.

출처 : https://www.hanbit.co.kr/store/books/look.php?p_code=B8585882565

1. 데이터를 둘러싼 환경의 변화

1) 접근 분석 도구의 등장

  • 기존 데이터 키워드
    • 2010년도까지는 접근 분석 도구가 데이터 분석의 주역
    • 접근 분석 도구로 하던 일
      - 웹사이트에 기록된 접근 로그 파일 분석
      1. 페이지 뷰의 추이를 집계
      2. 기록되어 있는 시간
      3. URL 확인
  • 구글 애널리틱스(Google Analytics)
    • 접근 분석 도구 중 구글 애널리틱스가 영향력이 컸음
    • HTML에 태그에 사용자 추적 전용 스크립트를 넣어 데이터 축적/분석이 데이터를 다루는 일이었음
  • 사용자 행동의 부상
    • 구글 애널리틱스는 유입 키워드, 이탈률, 직귀율 같은 당시 파악하기 힘들던 지표까지 제공했음
    • 이로써 사용자 행동이 서비스에 중요한 역할을 하게됨
  • 웹 애널리스트
    • 접근 분석 도구를 통한 다양한 사례가 나옴
    • 이로 인해 분석과 관련된 전문 지식을 가진 웹 애널리스트 직업이 주목을 받음
  • 다양한 도구의 등장
    • 구글 애널리스트 외에 다양한 도구가 등장함
      - 접근 분석 도구, 광고 관리 도구, 회사가 직접 만든 데이터 집계 도구 등
    • 그러나 이로 인해서 도구들이 섞이고 데이터가 여기저기 흩어짐
    • 업무 데이터와 접근 로그를 한꺼번에 관리/분석하는 환경이 요구됨
    • 이로 인해 빅데이터가 주목받게됨

2) 빅데이터의 등장

  • 빅데이터의 정의
    • 상용 데이터베이스 관리 도구 / 데이터 처리 애플리케이션으로 처리하기 힘든 거대하고 복잡한 데이터 집합
    • 데이터 수집, 집계, 시각화를 통해 다양한 분야에 활용할 수 있음
  • 빅데이터의 등장 배경
    • 기억 용량의 대용량화
    • 하드웨어 가격의 하락과 클라우드 기술 등장
      - Amazon Redshift / Google BigQuery
    • 분산 처리를 담당하는 미들웨어의 등장
      - Apache Hadoop
  • 빅데이터의 활용
    • 이러한 도구들의 등장으로 얻은 데이터를 모두 한 번에 관리할 수 있게 됨
    • 기존에는 할 수 없었던 분석들이 가능해짐
      1. 사용자 개인의 행동 파악
      2. 사용자 흥미/기호 기반 추천
      3. 광고 타겟팅
      4. 예측 모델링
      5. 기계 학습
    • 결국 오늘날에는 빅데이터 분석 기반을 보유하려는 움직이 두드러짐

 

2. 여러 가지 과제

  • 빅데이터를 다루는 첫 번째 단계
    • 빅데이터 분석 기반을 도입시, 접근 로그 / 회사의 데이터를 한 곳에 저장
    • 이 데이터에 접근하려면 미들웨어 부속 도구를 사용해야함
      - Hadoop의 Hue(Hadoop User Environment), Amazon Redshift의 Aginity
    • 이런 도구로 추출하고픈 데이터를 SQL로 표현하여 추출하는 것이 첫 단계

1) 분석 담당자의 과제

  • 빅데이터 분석의 요구 역량
    • 스스로 지표를 결정해야됨
    • 데이터 추출, 집계, 리포트 작성을 위해 SQL을 배워야함
  • BI 도구를 사용해도 SQL이 필요
    • Tableau / Kibana 등 BI 도구가 잘되어있음
    • 그러나 BI 도구에는 한계가 있음
      1. BI 도구로 분석 수준이 만족스럽지 않을 수 있음
      2. 회사 DB에 대한 파악이 늦어질 수 있음
      3. BI 도구를 위한 초기 데이터 준비시 SQL이 필요할 수 있음

2) 엔지니어의 과제

  • 서비스 개발 엔지니어의 빅데이터 역량 한계
    • 리포팅 방법과 분석 노하우가 없으면 기존 수준을 벗어나지 못함
    • 어떤 리포트를 원하는지 이해하지 못할 수 있음
    • 분석에 특화된 SQL을 몰라 간단한 데이터 추출에도 고생할 수 있음
  • 서비스 개발 엔지니어가 가진 기술
    • 조건에 맞는 레코드를 추출하는 SQL 기술
    • 응답 속도가 빠른 SQL을 만드는 기술
    • SQL 단순화를 위한 테이블 형식 설계 기술
  • 빅데이터 분석에서 요구되는 기술
    • 분석에는 수많은 데이터 가공, 일괄 집계 같은 SQL 기술 사용
    • 서비스 개발 엔지니어가 사용해보지 않은 함수도 많이 사용
    • 분석에 필요한 SQL 기술 습득 필요
  • 엔지니어가 해야할 일
    • 최종 결과물을 재사용을 위해 가공하면 이 문제를 회피할 수 있음
    • 그러나 서로의 작업을 이해하지 못하면, 범용성 낮은 방법이 될 수 있음
    • 기존 업무와 다른 분석/리포트 관련 기술을 공부하고 빠르게 대응할 수 있어야 함

3) 분석 담당자와 엔지니어의 이해관계

  • 분석 담당자와 엔지니어 모두 노력해야함
    • 결국 양쪽에서 담당 범위를 넓혀야 원활한 커뮤니케이션이 된다는 내용
  • 이 책이 다루는 내용
    • 데이터 가공 방법
    • 분석에 사용되는 SQL
    • 리포팅/분석 방법