이 글은 "데이터분석을 위한 SQL 레시피 (가사키 나가토, 다미야 나오토 지음)"을 읽고 주관적으로 작성된 글입니다.
1. 데이터를 둘러싼 환경의 변화
1) 접근 분석 도구의 등장
- 기존 데이터 키워드
- 2010년도까지는 접근 분석 도구가 데이터 분석의 주역
- 접근 분석 도구로 하던 일
- 웹사이트에 기록된 접근 로그 파일 분석
- 페이지 뷰의 추이를 집계
- 기록되어 있는 시간
- URL 확인
- 구글 애널리틱스(Google Analytics)
- 접근 분석 도구 중 구글 애널리틱스가 영향력이 컸음
- HTML에 태그에 사용자 추적 전용 스크립트를 넣어 데이터 축적/분석이 데이터를 다루는 일이었음
- 사용자 행동의 부상
- 구글 애널리틱스는 유입 키워드, 이탈률, 직귀율 같은 당시 파악하기 힘들던 지표까지 제공했음
- 이로써 사용자 행동이 서비스에 중요한 역할을 하게됨
- 웹 애널리스트
- 접근 분석 도구를 통한 다양한 사례가 나옴
- 이로 인해 분석과 관련된 전문 지식을 가진 웹 애널리스트 직업이 주목을 받음
- 다양한 도구의 등장
- 구글 애널리스트 외에 다양한 도구가 등장함
- 접근 분석 도구, 광고 관리 도구, 회사가 직접 만든 데이터 집계 도구 등 - 그러나 이로 인해서 도구들이 섞이고 데이터가 여기저기 흩어짐
- 업무 데이터와 접근 로그를 한꺼번에 관리/분석하는 환경이 요구됨
- 이로 인해 빅데이터가 주목받게됨
- 구글 애널리스트 외에 다양한 도구가 등장함
2) 빅데이터의 등장
- 빅데이터의 정의
- 상용 데이터베이스 관리 도구 / 데이터 처리 애플리케이션으로 처리하기 힘든 거대하고 복잡한 데이터 집합
- 데이터 수집, 집계, 시각화를 통해 다양한 분야에 활용할 수 있음
- 빅데이터의 등장 배경
- 기억 용량의 대용량화
- 하드웨어 가격의 하락과 클라우드 기술 등장
- Amazon Redshift / Google BigQuery - 분산 처리를 담당하는 미들웨어의 등장
- Apache Hadoop
- 빅데이터의 활용
- 이러한 도구들의 등장으로 얻은 데이터를 모두 한 번에 관리할 수 있게 됨
- 기존에는 할 수 없었던 분석들이 가능해짐
- 사용자 개인의 행동 파악
- 사용자 흥미/기호 기반 추천
- 광고 타겟팅
- 예측 모델링
- 기계 학습
- 결국 오늘날에는 빅데이터 분석 기반을 보유하려는 움직이 두드러짐
2. 여러 가지 과제
- 빅데이터를 다루는 첫 번째 단계
- 빅데이터 분석 기반을 도입시, 접근 로그 / 회사의 데이터를 한 곳에 저장
- 이 데이터에 접근하려면 미들웨어 부속 도구를 사용해야함
- Hadoop의 Hue(Hadoop User Environment), Amazon Redshift의 Aginity - 이런 도구로 추출하고픈 데이터를 SQL로 표현하여 추출하는 것이 첫 단계
1) 분석 담당자의 과제
- 빅데이터 분석의 요구 역량
- 스스로 지표를 결정해야됨
- 데이터 추출, 집계, 리포트 작성을 위해 SQL을 배워야함
- BI 도구를 사용해도 SQL이 필요
- Tableau / Kibana 등 BI 도구가 잘되어있음
- 그러나 BI 도구에는 한계가 있음
- BI 도구로 분석 수준이 만족스럽지 않을 수 있음
- 회사 DB에 대한 파악이 늦어질 수 있음
- BI 도구를 위한 초기 데이터 준비시 SQL이 필요할 수 있음
2) 엔지니어의 과제
- 서비스 개발 엔지니어의 빅데이터 역량 한계
- 리포팅 방법과 분석 노하우가 없으면 기존 수준을 벗어나지 못함
- 어떤 리포트를 원하는지 이해하지 못할 수 있음
- 분석에 특화된 SQL을 몰라 간단한 데이터 추출에도 고생할 수 있음
- 서비스 개발 엔지니어가 가진 기술
- 조건에 맞는 레코드를 추출하는 SQL 기술
- 응답 속도가 빠른 SQL을 만드는 기술
- SQL 단순화를 위한 테이블 형식 설계 기술
- 빅데이터 분석에서 요구되는 기술
- 분석에는 수많은 데이터 가공, 일괄 집계 같은 SQL 기술 사용
- 서비스 개발 엔지니어가 사용해보지 않은 함수도 많이 사용됨
- 분석에 필요한 SQL 기술 습득 필요
- 엔지니어가 해야할 일
- 최종 결과물을 재사용을 위해 가공하면 이 문제를 회피할 수 있음
- 그러나 서로의 작업을 이해하지 못하면, 범용성 낮은 방법이 될 수 있음
- 기존 업무와 다른 분석/리포트 관련 기술을 공부하고 빠르게 대응할 수 있어야 함
3) 분석 담당자와 엔지니어의 이해관계
- 분석 담당자와 엔지니어 모두 노력해야함
- 결국 양쪽에서 담당 범위를 넓혀야 원활한 커뮤니케이션이 된다는 내용
- 이 책이 다루는 내용
- 데이터 가공 방법
- 분석에 사용되는 SQL
- 리포팅/분석 방법
'책읽기' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰][문자열] 문자열 뒤집기 (0) | 2021.07.16 |
---|---|
[파이썬 알고리즘 인터뷰][문자열] 유효한 팰린드롬 (0) | 2021.07.16 |
[파이썬 알고리즘 인터뷰] 2부 - 파이썬 (~ 5장 - 리스트, 딕셔너리) (0) | 2021.07.12 |
[파이썬 알고리즘 인터뷰] 2부 - 파이썬 (~ 4장 - 빅오, 자료형) (0) | 2021.07.09 |
[파이썬 알고리즘 인터뷰] 2부 - 파이썬 (~ 3장 - 파이썬) (0) | 2021.06.29 |