메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

SQL로 시작하는 데이터 분석

실무에 꼭 필요한 분석 기법 총정리! 실전 데이터셋으로 배우는 시계열, 코호트, 텍스트 분석

한빛미디어

번역서

판매중

  • 저자 : 캐시 타니무라
  • 번역 : 박상근
  • 출간 : 2022-08-10
  • 페이지 : 436 쪽
  • ISBN : 9791169210089
  • 물류코드 :11008
  • 초급 초중급 중급 중고급 고급
4.6점 (38명)
좋아요 : 7

데이터 준비부터 분석을 통한 인사이트 도출까지

데이터를 인사이트로 바꾸는 SQL 활용법

 

데이터 분석 역량은 분야를 막론하고 경쟁력을 갖추는 데 필수가 되어가고 있다. 이 책은 SQL 데이터 분석이 익숙하지 않은 초급자와 더 나은 쿼리 및 분석 방법을 찾는 SQL 숙련자 모두를 위한 가이드다. 분석에 앞서 데이터를 준비하는 과정부터 실무에서 가장 활용도 높은 시계열, 코호트, 리텐션 분석 등 다양한 분석법을 알려준다. 실제 데이터셋을 사용해 흥미로운 예제를 실습해보며 실전에 가까운 분석 경험을 쌓아보자.

 

 

대상 독자

  • SQL 문법을 학습했지만 어떻게 데이터 분석에 적용할지 막막한 사람
  • 비즈니스 데이터를 분석해 업무 관련 인사이트를 도출하려는 사람

 

11008_detail.jpg

 

 

 

캐시 타니무라 저자

캐시 타니무라

20여 년간 금융 분야부터 B2B 소프트웨어, 소비자 서비스에 이르는 다양한 산업 분야에서 데이터를 분석했다. 대부분의 상용 및 오픈 소스 데이터베이스에서 SQL로 데이터를 분석한 경험이 있으며 여러 주요 기술 회사에서 데이터 팀과 데이터 인프라를 구축하고 관리했다. 또한 여러 콘퍼런스에서 데이터 문화 구축, 데이터 기반 제품 개발, 포괄적인 데이터 분석 등을 주제로 강연하고 있다.

박상근 역자

박상근

KAIST 지식서비스공학대학원에서 박사 학위를 받았으며, ACM CHI/CSCW 등 인간-컴퓨터 상호작용(HCI) 분야 최우수 국제 학회에 데이터 기반 서비스 디자인 논문을 다수 출판했다. 현재 삼성SDS CX(Customer eXperience) 팀에서 데이터 분석 업무를 담당하고 있다. 여러 기업의 CX 컨설팅 프로젝트에 참여하면서 다양한 사용자 데이터를 분석했으며, 기획자 및 디자이너와 협업해 사용자에게 보다 나은 서비스를 제공하기 위한 새로운 인사이트와 전략을 도출한 경험이 있다.

CHAPTER 1 SQL을 활용한 분석

1.1 데이터 분석이란

1.2 SQL을 사용하는 이유

1.3 데이터베이스 타입과 활용법

1.4 결론

 

CHAPTER 2 데이터 준비

2.1 데이터 타입

2.2 SQL 쿼리 구조

2.3 프로파일링: 데이터 분포

2.4 프로파일링: 데이터 품질

2.5 준비: 데이터 정제

2.6 준비: 데이터 셰이핑

2.7 결론

 

CHAPTER 3 시계열 분석

3.1 날짜 및 시간 데이터 조작

3.2 데이터셋: 소매업 매출

3.3 데이터 트렌드 분석

3.4 시간 윈도우 롤링

3.5 계절성 분석

3.6 결론

 

CHAPTER 4 코호트 분석

4.1 코호트

4.2 데이터셋: 미국 의회 입법가

4.3 리텐션

4.4 관련 코호트 분석

4.5 코호트를 활용한 크로스 섹션 분석

4.6 결론

 

CHAPTER 5 텍스트 분석

5.1 SQL을 활용한 텍스트 분석

5.2 데이터셋: UFO 목격 보고

5.3 텍스트 특징

5.4 텍스트 파싱

5.5 텍스트 변환

5.6 대규모 텍스트에서 문자열 찾기

5.7 텍스트 구성과 형태 변환

5.8 결론

 

CHAPTER 6 이상 탐지

6.1 SQL을 활용한 이상 탐지

6.2 데이터셋: 지진 발생 기록

6.3 아웃라이어 탐지

6.4 이상값의 형태

6.5 이상값 처리

6.6 결론

 

CHAPTER 7 실험 분석

7.1 SQL을 활용한 실험 분석

7.2 데이터셋: 모바일 게임 사용자

7.3 실험 유형

7.4 실험의 어려움과 문제 해결 방법

7.5 대체 분석 방법

7.6 결론

 

CHAPTER 8 복잡한 데이터셋 생성

8.1 SQL로 복잡한 데이터셋 생성하기

8.2 코드 구성

8.3 쿼리 실행 순서 구성

8.4 데이터셋 크기 및 프라이버시 관리

8.5 결론

 

CHAPTER 9 결론

9.1 퍼널 분석

9.2 이탈, 휴면의 정의

9.3 장바구니 분석

9.4 참고 자료

9.5 마치며

데이터로 소통하는 시대에 필살기가 되어줄 SQL 활용법

 

데이터로 말하고 데이터로 소통하는 시대에, 데이터 분석은 점점 선택이 아닌 필수가 되어가고 있습니다. 데이터를 다루는 사람이라면 기본으로 알아야 할 SQL은 이제 개발자나 데이터베이스 관리자뿐 아니라 다양한 비즈니스의 기획, 마케팅 등 여러 직무로 영역을 넓혀가고 있습니다. SQL을 다룰 줄 안다면 방대한 비즈니스 데이터에서 필요한 정보를 직접 추출할 수 있고, 한 단계 더 나아가 SQL이 지원하는 다양한 분석법을 활용할 줄 안다면 추출한 데이터에서 의미 있는 정보를 가려내 비즈니스에 도움이 되는 인사이트를 도출할 수 있습니다. SQL은 데이터 분석가가 필수로 갖춰야 할 역량이자, 비개발 직군이라면 업무에 깊이와 통찰을 더하고 시각을 넓혀줄 필살기가 되어줄 겁니다.

 

“신규 고객이 얼마나 유입됐는가?”, “판매 추이가 어떠한가?”, “왜 어떤 고객은 한번 서비스를 이용한 후 다시 돌아오지 않는 반면, 어떤 고객은 지속해서 서비스를 이용하는가?” 등 분석은 항상 질문을 던지는 데서 시작합니다. 답할 질문이 주어지고 나면 데이터가 어디에서 생성되고 어디에 저장되는지(데이터 탐색), 주어진 데이터를 어떻게 분석하고, 그 결과에서 어떻게 인사이트를 찾아낼지(데이터 분석) 생각합니다.

 

이 책은 데이터를 분석하는 ‘쿼리와 분석’ 단계에 초점을 맞춥니다. 다양한 사례마다 적절한 쿼리 작성법을 알려주면서도 분석 워크플로 내에서 데이터를 프로파일링 및 정제하는 준비 단계도 놓치지 않습니다. 웹사이트에서 공개한 실제 데이터셋으로 쿼리를 실행해보며 시계열 분석, 코호트 분석, 텍스트 분석 등을 실무에 가깝게 실습해봅니다. 예제마다 제시하는 다양한 문제에 대한 답을 찾아가며 유용한 분석법을 학습하다 보면, 여러분에게 놓인 업무 상황에 어떤 분석법을 적용할 수 있을지 그리고 그 결과를 어떻게 활용할지 길이 보일 겁니다.

 

 

주요 내용

  • 소매업 매출 데이터셋으로 데이터 트렌드와 계절성 분석하기
  • 국회의원 데이터셋으로 시간에 따른 집단별 변화 분석하기
  • UFO 목격 보고서 데이터셋으로 텍스트 분석하기
  • 지진 발생 기록 데이터셋으로 이상값 탐지 및 처리하기
  • 모바일 게임 사용자 데이터셋으로 실험 분석 수행하기
  • SQL로 복잡한 데이터셋 생성 및 관리하기

 

 

옮긴이의 말

 

이 책은 다양한 분석 기법을 설명하는 데서 한발 더 나아가 왜 이러한 분석이 필요한지, 분석 결과가 무엇을 의미하는지, 결과를 새로운 전략에 어떻게 활용할지도 알려줍니다.

‘옮긴이의 말’ 중에서

 

 

추천사

 

데이터 분석을 시작할 때 이 책이 있었다면 많은 시간을 줄여줬을 것 같습니다. 쿼리 작성법뿐 아니라 필요한 기초 지식도 같이 알려준다는 점이 인상 깊습니다. SQL 입문자와 숙련자 모두에게 추천합니다. 

_변성윤, 데이터 과학자 및 머신러닝 엔지니어

 

20여 년간 SQL로 분석을 해왔지만 이 책을 보며 몇 번이나 ‘아하’를 외쳤는지 모릅니다. 제 팀원들과 미래의 팀원 모두에게 권하려고 합니다.

_스튜어트 킴-브라운, PhD, B2C, SaaS 프로덕트 애널리틱스 리더

 

드디어 데이터 분석만을 위한 SQL 책이 나와 매우 기쁩니다. SQL을 활용한 다양한 데이터 분석 기법을 다루고 있어 모든 분석가와 데이터 과학자에게 도움이 될 겁니다.

_댄 부히스, 애널리틱스 디렉터, 질로우

KakaoTalk_Photo_2023-01-01-23-17-29-1.jpeg

 

2022년의 마지막 날이 얼마 남지 않았습니다. 정말 시간이 전광석화같이 매우 빠르게 흐르는 것 같습니다. 이번 시간에는 2022년 8월에 출간된 을 소개합니다. 이 책의 부제는 <실무에 꼭 필요한 분석 기법 총정리! 실전 데이터셋으로 배우는 시계열, 코호트, 텍스트 분석>입니다.

이 책의 저자는 캐시 타니무라(Cathy Tanimura) 님이며, 다양한 산업 분야에서 데이터를 분석했고, 여러 컨퍼런스에서 데이터 문화 구축, 데이터 기반 제품 개발 등을 주제로 강연 활동을 활발히 하고 있습니다. 그리고 역자는 박상근 님입니다. 박상근 님이 번역한 책은 읽어보지 못했지만, 번역 품질은 나쁘지 않습니다. 

이 책의 원서는 아마존에서 5점 만점에 4.6점을 받고 있으며, 원서는 2021년 10월 초에 출간되었습니다.  

은 약 440페이지로 구성되어 있어 휴대하면서 읽기에 크게 부담스럽지 않습니다. 전자책으로도 출간되어 있으므로, 전자책 뷰어가 있으시다면 전자책으로 만나보는 것도 좋을 것 같습니다.

이 책의 저자가 강연한 영상을 하나 보고 더 이야기를 진행해 보겠습니다.

"Data + Scale + Community = Impact" by Cathy Tanimura, Sr Dir of Analytics & Data Science @ Strava

한빛미디어 평가단에 참가하여 작성한 글이며, 한빛미디어에서 제공해준 책을 읽고 작성했음을 밝힙니다. 

 

이 책의 매력은?

<SQL로 시작하는 데이터 분석>은 9장으로 구성되어 있습니다. 1장 SQL을 활용한 데이터 분석부터 9장 결론으로 마치기까지 SQL을 활용하여 데이터를 분석하는 방법을 알려줍니다. 실제 데이터 셋을 활용하여 예제를 진행하므로 거부감 없이 저자가 전달하는 지식을 자연스럽게 습득할 수 있습니다. 

이 책의 특징 중 하나는 SQL을 활용하여 데이터 분석합니다. SQL을 기반으로 구성한 책을 찾는 것은 쉽지 않습니다. 조금 생각해보면 그 이유를 알 수 있는데 SQL은 시각화를 위한 별도의 도구가 필요하므로 데이터 분석 책에서 다루기는 쉽지 않을 것입니다. 이런 문제로 데이터 분석을 다루는 대부분의 책은 파이썬이나 R 등을 활용하고 있습니다. 결과 데이터를 다양한 방법으로 도식화가 가능하고 SQL보다 파이썬과 R 등의 문법과 개념에 익숙한 개발자가 많기 때문입니다.

개인적으로 이 책을 보는 데 어렵지 않았습니다. 이 책의 저자에게 바람이 있다면, 이 책을 시리즈화하여 조금 더 고급 기법 등을 다루는 책이 출간되었으면 좋겠습니다. 그럼 더 재미있게 탐구하면서 읽을 수 있을 것 같습니다. 

이 책에서 다루는 내용을 꼼꼼히 학습하여 내재화한다면 하나의 무기를 더 가질 수 있을 것입니다. 필자는 데이터를 좋아하므로 이 책을 재미있게 읽었고, 평소에 후배들에게 강조하며 전달하는 지식들을 이 책의 여기 저기에 깔끔하게 정리해 두고 있어 세미나 교재로 활용하기에도 적합한 것 같습니다. 

 

마치면서

이 책은 SQL을 활용하여 데이터를 분석하는 방법을 소개합니다. 이 책의 소개 페이지에 'SQL 데이터 분석이 익숙하지 않은 초급자와 더 나은 쿼리 및 분석 방법을 찾는 SQL 숙련자 모두를 위한 가이드'라고 언급하고 있는데, 이 책을 잘 요약한 문장이라고 생각합니다. 단, SQL 입문서라는 의미는 아닙니다. SQL을 모르는 분들이 보기에 적합한 책은 아닙니다. 

애플리케이션을 개발하는 과정에서 SQL은 매우 중요합니다. 하지만 생각보다 그 중요성을 인지한 분들은 많지 않은 것 같습니다. SQL을 처음 접하는 분들에게는 추천하기 어렵겠지만, SQL을 학습한 후 다양한 응용에 도전하고 싶은 분들은 이 책이 꽤(?) 재미있게 다가올 것 같습니다. 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

4차산업혁명 시대에 있어 데이터는 '원유'로 불린다. 원유를 정제하여 사용 가능한 석유로 만들 듯이, 데이터 역시 적절하게 정제되고 변환되어야 하며 분석되어야 쓸모 있게 된다. 단순히 존재한다고 해서 가치 있는 게 아니라 올바르게 분석되었을 때 만이 데이터의 유용성이 빛을 발하게 된다. 그렇다, 데이터는 누군가에 의해 분석되었을 때 인사이트로 변모하게 된다. 

 

세간에 데이터를 둘러싼 다양한 분석 방법이 여럿 존재한다. 프로그래밍 레벨에서 R과 파이썬의 양대산맥이 명실상부한 데이터 분석 언어로 공고히 자리잡고 있는 실정이다. 그런데 R 또는 파이썬을 통해 데이터를 분석해 나가는 과정은 결코 쉽지 않다. 프로그래밍의 개념을 이해해야 하고, 학습하는데 드는 비용을 위시해서 프로그래밍을 둘러싼 부차적인 요소들까지 고려했을 때 이 모든 과정이 그리 호락호락하지만은 않다. 그럼에도 불구하고 이 모든 것을 상쇄할만한 가치는 충분히 있기 때문에 R과 파이썬은 데이터 분석에 대중적으로 널리 사용되고 있는 상태다. 

 

그런데, R과 파이썬의 출현 이전에 데이터베이의 등장과 동시에 모습을 드러냈던 SQL은 현재까지 데이터 분석에 없어는 안 될 중요한 요소로 그 위용을 과감히 뽐내고 있는 상황이다. SQL은 여타의 프로그래밍 언어와 달리 상대적으로 러닝 커브가 크지 않기 때무에 일반인이 배우기에 허들이 높이 않은 편이다. DBMS마다 약간씩 지원하는 문법이 조금 상이하긴 하지만 표준 SQL이 존재하고, 해당 SQL을 통해 DBMS의 종류에 상관 없이 일관적으로 원하는 결과를 얻을 수 있는 것도 장점으로 기능한다. 

 

각설하고 오늘 소개하는 이 책은 SQL을 활용해 데이터 분석의 여정으로 안내하는 서적이다. SQL의 여러 문법 중 조회(검색)에 특화되어 있어 SELECT 문을 통한 데이터 분석의 대부분을 다루고 있다. 

 

KakaoTalk_20221228_161627081.jpg

 

책의 초반부에서는 데이터 분석의 의의와 SQL 사용의 이유 등에 대해 원론적인 수준에서 다루며 데이터 준비를 위한 제반 사항에 대해 언급하고 있다. 데이터를 준비함에 있어 어떤 데이터 타입이 존재하고 SQL 쿼리 구조가 어떻게 형성되어 있는지, 그리고 프로파일링의 의미와 데이터 정제 및 데이터 셰이핑은 무엇인지에 대해 학습하게 된다. 이를 통해 데이터 분석 사전에 수행되는 데이터 준비의 중요성에 대해 알 수 있으며, 단순히 데이터를 무작정 분석하는 게 아니라 치밀하고 세부적인 계획과 전략을 통해 분석 작업이 수행됨을 배울 수 있게 된다. 

 

이후의 챕터에서는 시계열 분석, 코호트 분석, 텍스트 분석, 이상 탐지, 실험 분석 등 다양한 분석 방법을 실제 사례를 기반으로 하여 정밀하게 다루고 있다. 각각의 사례마다 왜 해당 방법을 적용해야 하는지에 대한 설명은 기본이고, 분석을 통해 도출되는 결론을 통해 무엇을 얻을 수 있고 어떻게 활용되는지에 대해 학습하게 된다. 분석이 현황에 대한 사실 확인 및 검증으로 그치는 게 아니라, 분석을 통해 획득한 결과를 바탕으로 현실 세계에 유용한 도구로 활용되는 과정을 몸소 체험할 수 있다는 게 무엇보다 가장 크게 와닿았다. 

 

데이터 분석의 과정은 지난하다. 데이터를 구하는 것도 쉽지 않지만, 데이터를 정제하고 그것을 분석하고 결론을 도출하여 인사이트로 빚어내는 일련의 과정이 매 순간 고도의 집중력을 요하기 때문이다. 그렇지만 데이터 분석을 반드시 전문가만 할 수 있는 것도 아니다. R이나 파이썬과 같은 프로그래밍 언어를 다룰 수 있는 능력을 갖추고 있어야만 할 수 있는 것도 아니다. 우리에겐 SQL이라는 강력한 무기가 존재한다. SQL의 기본을 익히고 동작 흐름을 이해할 수 있다면 우리같은 평번한 사람도 데이터 분석을 할 수 있다. 지레 겁먹지 말고 SQL과 함께 데이터 분석의 여정을 시작해 보면 어떨까? 이 책이 그 여정에 도움이 되는 도구이며 당신의 든든한 지원군이 되어 주리라 생각한다. 

 

P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

 

IMG_5389.JPG

 

그동안 SQL로는 웹서비스를 개발하는데 그쳤었는데 이번 “SQL로 시작하는 데이터 분석”이라는 책을 읽으면서 데이터 분석에 대해 공부하게 되었습니다.

이제 데이터 분석은 어떤 산업에서도 절대적으로 중요한 지표로 활용되고 있다고 생각합니다. 이러한 데이터 분석을 SQL로 학습해볼 수 있는 책이 있어 관심이 갔었습니다. MySQL을 주로 많이 사용해 왔었어서 SQL을 활용한 데이터 분석이 더 와닿을 수 밖에 없었습니다.

보통 데이터 분석은 파이썬을 많이 사용한다고 생각했는데 저자의 SQL과 파이썬의 차이를 쉽게 설명해주어 SQL도 충분히 매력있는 선택지라는 것을 알게 되었습니다.

챕터 2에서 데이터 준비에 대한 내용이 나오는데 이 부분이 데이터 분석에서 아주 중요한 부분을 차지한다는 것을 알게 되었고, 데이터 품질을 높일 수 있는 방법을 예제와 함께 학습할 수 있게 되어 있습니다.

챕터 3~7까지는 시계열 분석, 코호트 분석, 텍스트 분석, 이상 탐지, 실험 분석을 SQL을 활용해서 학습하게 됩니다. 소매업 매출, UFO 목격 보고 등 분석하면 재미있을 만한 데이터셋이 준비되어 있습니다.

SQL로 데이터의 유의미한 값을 도출함으로써 우리에게 필요한 다양한 분야에서 좋은 인사이트를 얻게 될 것입니다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

 

# SQL로 시작하는 데이터 분석

 

- 데이터를 기반한 의사결정은 많은 회사에서 시도하고 있는 중요한 과제입니다. 하지만 전략, 기획, 마케팅 등 프로그래밍을 직접 다루지 않는 직군은 분석하고 싶은 대상과 데이터가 있어도 그 방법을 몰라 어려움을 겪는 일이 종종 있습니다. 반대로 프로그래밍을 직접 다루는 개발자는 어떤 데이터를 어떤 목적을 위해 숫자에서 의미를 찾아내는 방법에 어려움을 겪고는 합니다.

- 이처럼 비개발 직군과 개발 직군이 서로 도와 유의미한 결과를 찾아내는 경우도 많지만, 빠른 분석과 실행을 위해 비개발 직군에게도 기본적인 분석 능력을 요구하고 있습니다. 데이터 분석의 시작은 필요로 하는 데이터를 조회하고 추출하는 것으로, 이를 가능하게 하는 것은 SQL 문법이 필요합니다.

- [SQL로 시작하는 데이터 분석]의 목적과 대상은 SQL을 처음 다루는 독자로 하여금 데이터 분석을 스스로 할 수 있도록 도와주는 지침서입니다.

 

## 유용한 실제 데이터셋

 

- SQL을 활용해서 데이터 분석을 공부하기 위해 단순한 SQL 문법을 암기하는 것이 아닌, 실제 데이터를 가지고 필요한 데이터와 목표하는 분석 방법을 위해 유용한 쿼리 작성을 공부합니다. 이는 비슷한 유형의 데이터셋 뿐만 아니라 실제 보유하고 있는 데이터에도 원하는 데이터를 추출하는 SQL 쿼리 작성을 가능하도록 충분한 연습이 되도록 합니다.

- 또한 데이터 분석 방법만을 공부하는 것이 아닌, 마치 실제 업무를 진행하는 것처럼 데이터 준비 과정부터 결과 분석까지 일련의 프로세스를 경험한다는 것이 두 번째 장점입니다.

 

> 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 대한민국의 개발자라면 SQL에 대해서는 어느정도 해 봤을 것이라고 생각한다. 예전에 어느분께서 IT는 최종적으로 Data를 어떻게 저장하고 원하는 데로 볼 수 있는 가에 달려있다고 했다. 그런만큼 SQL에 대한 부분은 절대적이라고 생각한다.

 요즘에는 빅데이터 등으로 Data에 대한 관심이 많이 있다. SQL만 잘 다룰 줄 알아도 빅데이터에 대한 어느정도의 준비는 충분히 갖추었다고 생각할 수 있다. 그만큼 강력하지만 그만큼 어렵다고 할 수있다. 그럼 점에서 이책은 여러가지 실습 데이터를 제공해주고 있어서 활용도가 높다고 할 것이다. 또한 실습코드를 PostgresSQL로 제공하고 있어서 책에 대한 만족감이 더욱 좋았다. MariaDB, mysㅂl 등은 GPL 계열로 되어 있어서 솔루션들으로 개발해서 배포하기에는 무리가 있어 보인다. 하지만 Postgres는 BSD 계열로 되어 있어서 솔루션 개발로도 무리가 없다. 또한 요즘에는 Postgres를 많은 오픈소스에도 사용하고 있어서 점차 활용도가 높아질 듯 하다.

 SQL을 활용해서 좀 더 데이터 분석을 하고 싶은 분들에게는 강력하게 추천한다.

 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

 

유사한 책들에서는 개발 환경을 먼저 세팅하고, 대뜸 과제부터 설명하고, 그 과제를 풀이하는 내용을 나열하게 마련이다.

그런데 이 책은 과제를 해결하는 방법을 튜토리얼 형식으로 보여주기보다 분석시 활용할 수 있는 SQL 구문들을 설명하는 기초 책에 가까웠다.

이를테면 이런 식이다.

 

 

분석을 위한 함수나 구문들을 하나씩 짚어주며 알려주는데, 특히 4장의 코호트 분석/7장의 실험분석/9장의 퍼널분석이 실무에서 자주 나오는 분석 예시들이라 좋았다.

SQL 관련 책들은 기본 개념을 줄줄 읊어주거나 복잡한 분석 과제를 바로 시작하곤 하는데, 이 책은 그 둘의 중간 정도에 있는 것 같다.

SQL을 조금 할 줄 알긴 하는데 당장 어떤 쿼리로 분석을 해야할지 막막하다면 좋은 안내서가 될 것이다.

 

여러분은 데이터 분석 어떤 툴로 하시나요?
저는 예전에 R, 파이썬으로 하다가, 최근에는 MS 파워 BI로 합니다.
이번에 SQL로 시작하는 데이터 분석을 읽고, 데이터 분석의 세계를 또한번 탐험해보았네요.

저는 되도록이면 어느 정도 성과가 나오면 쉬운 툴을 선호합니다. 
그래서, 책을 읽을 당시, 기존의 제가 알던 여러 툴과 비교하면서(생각하면서) 이 책을 읽어 갔습니다.
결론은 비슷하다 입니다.
각자 자신이 처해 있는 환경과 용도에 가장 알맞은 툴을 사용하시면 됩니다.

이 책도 기존에 SQL을 사용하시는 분이, 데이터 분석을 하시기에 매우 좋은 책입니다.
굳이, R, 파이썬에 미련가지실 필요없이, SQL로 열심히 공부해서, 데이터 분석을 잘 하도록 쓰여진 책입니다.
이 책은 초보용 SQL 입문서는 아닙니다. 그래서 기초 SQL 문 정도는 따로 공부하셔야 합니다.
입문용 책을 읽고, SQL도 더 잘 다루고 싶고, 데이터 분석도 잘하고 싶을때 읽으면 좋을 책입니다.

곳곳에 DB를 잘 다루는 팁들도 많아서, 성능 최저화도 같이 할 수 있습니다.
필요한 곳에 윈도우 함수 설명과 성능 비교 이야기도 좋았습니다.

아쉬운 점은 데이터 분석의 꽃은 그래프라고 생각하는데, 이 책에서는 그래프만 보여주고, 어떻게 만드는지, 더 좋은 방법은 없는지 등에 설명은 없습니다.
그리고, SQL 문을 한 줄 한줄 설명하지는 않습니다.
앞선 SQL 문 공부를 바탕으로, 해석하셔야 하는데, 전 SQL를 많이 안 다루어서 그런지, 군데 군데, 한참 생각하였습니다.

데이터 전처리에 관한 다른 일반 서적 정도 자세히 다루고 있습니다. 이 점도 좋았습니다. 
이 책에서 가장 중요한 부분이 3장 시계열 분석과 4장 코호트 분석이 아닐까 생각합니다.
전 깃헙에서 소스 코스 복사해서, 결과물 나온 것 보고, 그래프도 따라 그리면서, 책을 보았는데, 코드도 잘 작동하였습니다.

데이터 분석을 하고 싶은데, 다른 언어는 안 배웠고, SQL를 다룰 줄 안다면, 재미있게 접근할 수 있는 책이라고 생각합니다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 
 

2022-12-29 20.51.11.jpg

 

부제: "실무에 꼭 필요한 분석 기법 총정리! 실전 데이터셋으로 배우는 시계열, 코호트, 텍스트 분석"
 
 
빅데이터를 활용하는 시대입니다.
많은 데이터를 수집하고 활용하기 위한 다양한 방법이 존재합니다.
저자는 데이터 분석에 SQL을 주 무기로 사용중이라고 합니다.
 
 
데이터와 관련된 중요한 기술 변화 (p. 33)
  1. 엄청나게 증가한 데이터 양 : 2025년에 전 세계에 저장되는 데이터 양이 175제타바이트
  2. 클라우드 등장에 따른 데이터 저장 및 연산 비용 감소
  3. 워크로드를 여러 머신에 나눠서 수행하는 분산 컴퓨팅
 
작은 데이터는 액셀과 같은 오피스웨어 제품을 사용해서 분석하고 활용할 수 있지만 데이터의 양이 많아지면 엑셀로 다루기 어렵습니다.
행-열로 구성된 일정규모 이상의 데이터라면 관계형 데이터베이스에서 다루는 것이 더 수월합니다.
비정형 데이터를 저장하는 NoSQL을 사용하거나 데이터 레이크를 구성하는 경우에도 직접 데이터를 활용하는 경우보다 한 번 가공하여 데이터 웨어하우스를 구축해서 사용하는 경우가 많습니다.
가공된 데이터로 데이터 웨어하우스를 구축할 때 관계형 데이터베이스를 많이 사용합니다.
모바일 기기 등에서 간편하게 사용하는 SQLite도 관계형 데이터베이스입니다.
이런 관계형 데이터베이스에서 데이터를 다루기 위한 언어가 SQL이니 저자가 데이터 분석에 SQL을 주 무기로 사용 할 수 있는 것 같습니다.
 
 
책에서는 데이터 분석에 대한 기본 개념, SQL에 대한 기초 개념, 데이터를 준비하는 방법, 준비된 데이터를 활용하여 여러가지 분석을 하는 방법을 설명합니다.
데이터 분석에 대한 내용은 실제 데이터셋을 이용해서 설명하기 때문에 차근차근 따라가면서 배우면 됩니다.
다만, SQL에 대한 기본적인 문법은 따로 공부하고 이 책을 읽어야 합니다. 책의 SQL 예제를 이해해야 다양한 분석 방법을 익힐 수 있습니다.
책을 읽어보면 'SQL 숙련자를 위한 책', '고급 SQL 사용자를 위한 자료'가 서문에 언급된 이유를 알 수 있습니다.
 
 
앞부분의 데이터를 준비하는 내용과 마지막의 데이터셋을 생성하는 방법에 대한 부분을 보면, 잘 다듬어진 데이터가 있어야 좋은 분석 결과를 얻을 수 있다고 이야기합니다.
SQL은 분석을 위한 도구로 사용할 수도 있지만 데이터를 생성하고 잘 다듬는데 활용 할 수도 있습니다.
 

쓰레기를 넣으면 쓰레기가 나온다.

Garbage in, garbage out (p. 62)

 
 
SQL에 대한 기본 문법을 익혔다면 이 책을 통해 SQL 숙련자로 거듭나 보는 것은 어떨까요?
 
 
"한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다."

IT 업계에서 일을 하면 할수록 배워야 할 것들이 계속 나오는 것 같다. SQL도 그 중 하나이고, 주위 개발자 분들은 반대로 AI에 많이들 관심을 가진다. 해당 책은 책의 제목처럼 SQL과 AI를 조화롭게 다루고 있는데, SQL과 AI 모두 능통한 저자가 작성한 것으로 느껴졌다. 또한 한쪽에 치우치는 입장만을 기술한게 아니라 SQL을 잘 알지만 AI를 잘 모르는 저자, AI를 잘 알지만 SQL을 잘 모르는 저자의 입장에서 매 장 마다 잘 기술해주는 것이 좋았다.

책을 읽으면서 중간 중간 느낀게, AI위주로 공부를 한 사람이 생각지 못할수도 있는 SQL의 부분을 하나씩 꺼내어 알려주는 느낌을 받았다는 점이다.

‌‌"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

■ 데이터 분석을 위해서 SQL, Python, R 선택 고민

· 보통 SQL은 기본적으로 알고 있고 Pyhon vs R에 대한 비교글들이 많이 있습니다.

  개인적인 생각은 자신이 가장 편하게 접근하고, 해보고 싶은 것으로 선택하는 것이 좋다는 생각입니다.

  개발 직군으로 언어를 1가지 이상 다루어보셨거나, python을 이용해보셨으면 python이 접근성이 더 좋을거 같습니다.

· 해당 책은 SQL을 통한 데이터 분석 책이라 SQL vs (Python, R)과 선택하는 기준 내용이 있습니다.   

  (가장 중요한 부분은 DataBase가 기본적인가 아닌가 여부일거 같습니다. SQL은 DB가 없으면 사용이 불가능하니까요)

 

 

 

■ 내용 살펴보기

· 우리는 날짜 컬럼의 타입을 어떻게 정하고 있을까요?

  기존에 생성된 타입을 관습적으로 사용하지 않을까요?

  일반적인 데이터를 처리하는 입장에서는 크게 문제될거 같지는 않은데, 해당 데이터를 가지고 분석을 하는 입장에서는

  이 작은 요소가 매우 중요한 항목이라고 생각이 됩니다.

 

 

 

· Join의 핵심 내용이 잘 정리된 글입니다. (막상 left, right join에 대해서 말로 풀어서 설명하기 애매할수 있을거 같습니다)

 

 

 

· SQL을 좀더 잘 다루어보자

1) 구간화 : 구간 범위 설정에 로그를 사용하기도 합니다.

     데이터셋에서 가장 작은 값과 큰값들의 차이가 매우 큰 경우 유용

	select log(sales) from table;

2) N분위수

범주내에서 순위를 정하는 기능입니다.

ntile안에 숫자는 1~100등까지 구한다고 생각하면 됩니다.

ntile(10) 이면 1~10등까지 구하는 것입니다.

	# ntile(num_bins) over (partition by ... order by ...)select ntile(100) over (order by no), no from user;

3) 타입변환 및 캐스팅

보통 cast(1234 as varchar)처리 대신에 1234::varchar 형태로 구성가능 하다고 합니다.

제가 해보았을때는 잘 안되었네요.

추가로 "2.5.3 null값 다루기", "2.5.4 결측 데이터 (값 채우기)" 및 "2.6. 데이터 세이핑"의 내용을 통해서 데이터를 처음 조회하기 위해서

구성하기 위해서 필요한 내용들로 구성되어 있습니다.

 

<3장> 에서는 시계열 분석에 대해서 다룹니다.

데이터는 생성되는 시간요소를 가지고 있습니다. 데이터의 경향 및 증가/감소 여부등은 자연스럽게 분석해보고 싶은 기본적인 요소입니다.

시계열에서는 날짜/시간 요소를 핸들링 하는 기준이 있어야 합니다.

☞ 시간대 변환

    국가별 시간대는 모두 다릅니다. 전세계적으로 "표준시간대"가 있고 UTC를 사용합니다.

    로컬시간대로 UTC오프셋값을 통해서 구성되어 있습니다.

    PDT, PST등에 대해서도 다양한 기준이 있습니다. (https://luran.me/339)

☞ 날짜 및 타입스탬프 형식 변환

	# 날짜 또는 시간을 변환current_timestamplocaltimestampget_date()  # 이것은 ()이 있음now()		# 이것은 ()이 있음# 타임스탬프의 시간 부분만 변환current_timelocaltimetimeofday() # 이것은 ()이 있음

☞ census.gov에서 제공하는 '월간 소매업 거래 보고서'를 통해서 다양한 실습을 진행합니다.

    여기서 중요한 개념에 대해서 설명합니다. 

    시계열로 데이터를 뽑을때 중간에 데이터가 누락되어 있을수 있습니다. 경향을 보러면 해당 시점의 데이터를 채워야 합니다.

    예를 틀어서 1,2,3,4,5월달의 주문내역을 조회한다고 했을때, 2월달에 거래가 1건도 없다고 하면 select한 내용은 1,3,4,5월달

    데이터만 조회가 됩니다. 이런것을 방지하기 위해서 처리하기 위한 방법이 "시간 윈도우 롤링" 이라는 개념입니다.

    혹시 pandas를 사용해보신 분이라면 fillna의 개념이라고 생각하시면 됩니다. 

    - selt-join 방법

    - Frame절 문법 (RANGE, ROWS, GROUPS)

☞ 계절성 YoY, MoM에 대한 분석

  - lag(return_value [, offset [, default]) 윈도우 함수를 사용

 

 

<4장> 코호트 분석에 대해서 구성되어 있습니다.

집단 분석을 하는것을 의미합니다. (여러집단을 나누고 행동의 변화가 발생하는지 집단별로 확인하는 작업입니다.)

코호트 분석의 4가지 종류에 대해서 구분하고 있습니다.

 

 

이러한 분석을 쿼리를 통해서 작업해보고 데이터를 추출해볼수 있도록 쿼리등을 확인하는 부분이 매우 흥미롭고

도움이 많이 되는 부분입니다.

 

<5장> 텍스트 분석입니다.

SQL로 텍스트 분석한다는 것이 매우 생소했습니다. SQL로 조회/저장의 역활이 아닌 역활이여서 입니다.

보통 머선러닝이나, python, r 등 다른 기법이 사용된다고 한정적으로 생각하고 있었는데 흥미로운 내용입니다.

· 책에서도 모든것을 SQL로 처리가 가능하다고 말하고 있지 않습니다.

  자연어 처리, 형태소 분석 등이 필요한 부분에서는 사용하지 말고 조금은 간편하게 SQL로 분석이 가능한 분야에 대해서

  적용하는것을 가이드 합니다.

SQL로 조회할때 문자열을 가지고 다양한게 처리하는 예시가 있습니다. (split_part, initcap, right, left, trim,replace, ilike, 정규표현식, regexp_replace, regexp_matches, regexp_split_to_table)등을 사용해서 쿼리를 구성합니다.

새로운것도 있고, 기존에 알고 있는 사항도 있을것 같습니다. 이러한 것을 쿼리에서 어떻게 조화롭게 구성하여서 실제 조회 쿼리로 

활용하는지 여부가 정보를 분석하는데, 많은 차이를 나타낼것 같습니다.

 

 

 

<6장> 이상탐지

어려운 개념이 아닙니다. 흔히 알고 있는 이상하다"의 이미 처럼, 일반적인 흐름과 차이가 있는 것을 말합니다.

책에서는 아래와 같이 정의합니다.

이상(anomaly)이란 동일 그룹 내 다른 멤버와 다른 특징을 말합니다.

유사한 말로, 아웃라이어, 노벨티, 노이즈, 편차, 예외 등으로 부르기도 합니다.

당연히 여기서도, SQL이 만능이 아니라 상황에 따러서 적합하고 효율적인 경우 SQL도 고려사항임을 제시합니다.

SQL의 장점은 DB에 저장된 데이터를 바로 사용가능한 부분이고, 개발의 편의성도 있습니다.

기존에 저장된 데이터를 다른 형태로 가공해서 다른 물리적인 서버로 이전하거다 전달할 필요가 없습니다.

· partition by절, over절, order by절을 함께 사용하여서 데이터 조회 범주를 조절합니다.

· percent_rank() over (partition by ... order by ...)를 이용해서 백분위수에 적용합니다.

· petcentile_cont() within group() over

· 표준편자를 지원하는 대표적인 함수

 

 

7장, 8장에서는 실험분석, 복잡한 데이터셋 생성 에 대한 부분입니다.

실제 DB를 통해서 입력된 데이터를 잘 입력되었는지 DB를 통한 체크를 합니다.(left join을 통해서 구성된 쿼리가 많이 있습니다.)

서브쿼리, 임시테이블, 공통테이블 표현식, 그룹함수를 통해서 데이테셋을 구성하기 위한 쿼리들의 기준 및 정보를 알수 있습니다.

 

■ 돌아보며

· 추천사에도 적혀있는데, DataBase의 기본적인 사항에 대해서 다시한번 생각할수 있는 내용이 구성된 부분이 좋았습니다.

· SQL에 사용방법을 부분적으로 알고 있던 것을 조금 더 확장하여서 다양한 범위로 활용 가능한 내용이 많습니다.

· 상황에 따라서 SQL이 좋은지, 아니면 다른 방식이 좋은지 판단 기준이 생깁니다.

· 사용예제가 실제 업무에서 경험할수 있는 예시 및 쿼리예시가 제공됩니다.

· SQL로 구현이 가능한데, 몰라서 사용못하는 것을 방지할수 있을거 같습니다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

내가 SQL 문법과 기초는 좀 알겠는데 이제 좀 더 고급 사용법과 기법들을 익혀보고 싶은데 어떤 데이터로 어떻게 공부하면 좋을까?

하는 사람들에게 그냥 일반 데이터베이스 책들 말고 이런 데이터 분석 책으로 다양한 데이터들을 직접 많이 다뤄 보면서 연습을 해보라고 말해주고 싶다

데이터 베이스를 다루는 일을 많이 하게되면 아무래도 SQL을 빼놓을 수가 없습니다 .SQL을 어떻게 쓰느냐에 따라서 데이터의 속도가 달라 지기 때문에 실무에서 어떻게 쓰여지는지가 상당히 중요합니다. 특히나 금융권에서 가장 많이 데이터를 사용하는 만큼 실질적인 현업 개발자라면 꼭 필요한 책이 아닌가 싶습니다.

 

 

SQL로 시작하는 데이터 분석 누구에게 필요 할까요?

 

 

SQL로 시작하는 데이터분석을 어떠한 분야의 필요로 할까요?

 

 

데이터 분석가 - 다양한 분석기법으로 활용해 의사결정을 하고 싶은 사람

 

전락 기회 담당자 - 업무에 필요한 데이터츨 추출 비즈니슈 이슈 분석

 

마케터 - 고객 데이터와 트랜드 분석

 

취업희망자 - 데이터의 분석의 전문가가 되고 싶은 사람

 

 

이렇게 많은 사람들이 데이터분석만으로 다양한 결과를 도출 할 수 있습니다. 그렇기 때문에 어렵지 않게 데이터를 도출 하고 다양하게 활용을 할 수가 있습니다.

 

 

 

 

 

 

 

이 책을 통하면 다양한 데이터분석으로 인하여 시간을 줄일 수가 있다. 실저적으로 DB에 접근하고 어떻게 하는것이 올바른 길인가에 대해서 많이 생각 할 수 있는데 우리는 각각 필요한 부분을 정독하여 데이터 분석을 좀 더 정밀 하게 할 수 가 있다.

 

 

1.SQL을 활용한 분석

 

2.데이터준비

 

3.시계열분석

 

4.코호트 분석

 

5.텍스트 분석

 

6.이상탐지

 

7.실험 분석

 

8.복잡한 데이터셋 생성

 

9.결론

 

 

이렇게 다양한 쳅터로 구성되어 있다. 1장은 데이터 활용분석을 이용하여 어떻게 세팅을 하면 활용한것인지가 적혀여있고 2장부터 이제 데이터를 준비하여 3~9장을 실습을 할 수가 있습니다. 확실히 기초만 다룬 SQL보다 심도가 있고 좋다는 것을 알 수가 있습니다.

 

 

 

 

 

그렇다면 왜 SQL이라는 것을 활용할 까요 SQL은 데이터베이스를 데이터를 활용하는 표준으로 정의되어 있습니다 .이안에서 다양한 회사가 존재하고 조금은 다르지만 대게 같은 SQL문법을 사용하고 이씁니다. 그리고 간단하게 조금 만 배워도 다양한 SQL을 도출 할 수 있는 상당히 좋은 장점이 있습니다. 그렇기 때문에 SQL을 어렵지 않게 사용 할 수가 있습니다. 

 

 

데이터베이스를 잘 사용하면 새로운 데이터가 들어와도 정기적인 업데이트가 가능하며, 공부를 할 수 있는 장점이 있습니다.

 

 

 

 

SQL로 시작하는 데이터분석을 실제적으로 데이터셋을 기반으로 공부를 할 수가 있습니다. 기본적으로 데이터가 세팅 되어 있으며, 이를 통하여 쿼리를 분석합니다. 직접적으로 쿼리문도 적혀져 있기 때문에 어렵지 않게 할 수가 있습니다. 그렇다면 이책에서 다루는 내용들은 어떻게 있을까요.

 

 

SQL로 시작하는 데이터분석을 통해 실무 업무

 

 

 

1.트렌드분석

 

2.코호트 리텍션 분석

 

3.텍스트분석

 

4.이상탐지

 

5.실험분석

 

6.퍼널 분석

 

 

이렇게 다양한 예제를 가지고 실무업무를 키울 수 있습니다. 다양한 데이터값을 가지기 때문에 어디서나 데이터를 활용하는 실무업무를 보여준다고 할 수가 있습니다.  이책을 통해서 저자는 데이터의 이해도 좋지만 분석으로 이끌어낸 결과를 잘 활용하는것도 중요하다고 합니다. 이책에서 다양한 분석 기법을 활용하는 일도 매우 중요하며, 한발더 나아가 분석결과도 어떻게 되었는지가 중요하다고 합니다.

 

 

 

 

데이터 준비부터 분석을 통한 인사이트 도출까지 데이터분석가의 필수도구 SQL로 쉽고 빠르게 시작할 수 있는 SQL로 시작하는 데이터 분석을 통하여 다양한 경험을 할 수가 있으며, 실무에서도 꼭 필요한 데이터 업무를 할 수가 있습니다. 

 

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

프로젝트에서 SQL을 많이 사용하여 여러 분석 기법을 사용하는데 다른 방법 및 다른 분들은 어떻게 SQL을 진행하여 분석을 진행하는지 궁금하던 차에 "SQL로 시작하는 데이터 분석" 을 읽어 보게 되었습니다.

 

우선 "SQL로 시작하는 데이터 분석" 책은 SQL 을 공부하고 SELECT 구문을 수행하면서 데이터를 보기 시작할때 어떤 기법을 사용하면서 속도 및 분석 기법이 있을까 생각하게 될때 읽어 보면 좋은 책이라고 생각합니다.

 

어렵지 않으면서 분석의 고급 스킬 및 함수들을 해당 책을 통해서 학습할 수 있으며 각 챕터마다 하나의 데이터 셋을 가지고 분석 및 올바른 SQL 을 사용하는 방법을 익히면서 실무 분석을 공부할 수 있는 구성으로 되어 있습니다.

 

 

"SQL로 시작하는 데이터 분석" 책에서는 데이터 분석에 대한 여러 기법 및 데이터셋을 예제로 설명하고 있는데

 

1. 시계열 분석 : 소매업 매출

2. 코호트 분석 : 미국의회 입법가

3. 텍스트 분석 : UFO 목격 보고

4. 이상탐지 : 지진 발생 기록

5. 실험 분석 : 모바일 게임 사용자

 

 

으로 SQL로 데이터 추출을 수행하면서 학습을 진행할 수 있었습니다. 실제 쓰이고 흥미로운 데이터 셋은 좋은 예제라고 생각합니다.

 

각 데이터 셋 예제는 실제 프로젝트에서 발생하는 사항과 유사했으며 각 내용을 읽으면서 여러 기법을 확인할 수 있었습니다.

 

프로젝트에서는 담당자에 따라 SQL 대한 기술수준 방식을 혼용해서 사용 하는데 각 방식에 대한 예제 및 활용 방식은 분석에 많은 도움이 되는 방식이었고 하나씩 학습을 하면서 여러 기법 및 방식들을 확인할 수 있었습니다.  

- PARTITION BY

- SUM, GROUP BY

- 텍스트 특징

- 더블콜론(::) 연산자 CAST 파일명 as 타입 문법

- ILIKE 연산자

- 정규 표현식

- concat_ws

- string_agg

- 등. 여러 SQL 함수

등등 책 여러 곳에서 다양한 방식을 확인 할 수 있습니다.

 

 

그리고 "SQL로 시작하는 데이터 분석" 책의 여러 NOTE, 주석 TIP 등도 활용 및 좋은 내용이 많이 있다고 생각합니다.

ex)

TIP) 서브쿼리에서 파싱이나 변환 함수를 사용한 뒤 JOIN을 수행해 정확히 매칭되는 결과만 반환하는 편이 좋습니다. 등

 

책의 난이도는 SQL 을 공부하고 실무에서 데이터를 조회하는 초보자에게 어울리며 기초를 넘어서 SQL을 이용한 다양한 쿼리 방식을 알고 싶거나 분석에 대해서 신경을 쓸때 "SQL로 시작하는 데이터 분석" 책을 보는것을 추천하고 싶습니다.

기초 학습 이후의 SQL 한단계 업그레이드를 위해 "SQL로 시작하는 데이터 분석"을 추천합니다.

시계열 분석, 텍스트 분석 정도만 읽어도 프로젝트에서 쿼리 성능 및 데이터 분석에 큰 도움이 될거라고 생각합니다.  

SQL 책은 많지만 SELECT SQL 분석에 대한 내용은 많지 않았는데 오랫만에 읽기 편하고 좋은 내용이 책이 나온것 같습니다. 추천합니다.

 



한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


### 한줄 서평


sql 문법은 아는데, 유저 데이터, 고객 거래 데이터를 어떻게 분석해야할 지 막막하다면 추천하고 싶은 책

 

## 학습 후기


업무에서 hive-sql을 쓰고 있어 문법 구조가 완전히 동일하지는 않았지만, 코드를 하나하나 뜯어보고 이해하기 위한 책이라기 보다는 데이터 분석의 흐름과 관점을 이해하는 것 자체가 실무에 많이 도움이 되었다.


특히, 하나의 주제를 선정해 단기간에 분석 결과를 내고 사업부서와 소통해야하는 상황에 있었던 필자는 하기와 같은 내용에 도움을 많이 받았다.


**분석 목적에 따른 분석 방법 선택, 논리적으로 결과를 기술하는 법** 


분석가의 업무 자체가 사업부서와의 소통을 기본으로 한다. 그래서 분석 결과를 상대가 이해하기 쉽도록 분석의 <배경/목적 - 내용 - 결과/결론>이 논리적으로 정리하고 그리고 비즈니스 관점에서 중요한 핵심만 선별해 전달하는 스킬이 필요하다. 


예를 들어, "트렌드 분석"이라는 분석 목적이 있다고 하면 데이터를 수집하고 분석해 집계하는 방법은 하기와 같은 것들을 쉽게 떠올려 볼 수 있다. 

1. 분석 대상 기간 전체의 매출액 추이를 본다.

2. 분석 대상 기간을 구간을 나눠 매출액 추이를 본다.

   - 구간 비교 : 노이즈가 제거된 트렌드를 확인할 수 있다. 

     - 지표 : 전년 대비 증감율을 본다.vs 전월 대비 증감율을 본다. vs 현재 월의 매출을 최근 3년간 동월과 비교한다. 


이러한 생각의 흐름을 단순히 하면서 정리하는 게 아니라 목적에 따라 분석 혹은 집계 방법이 달라지기 때문에 "왜 내가 이런 지표를/방법을 선택해서 사용했는 지" 분석 관점을 정리해야한다. sql로 시작하는 데이터 분석 책의 전개가 이러한 생각 흐름 정리에 큰 도움이 되었다.


필자는 고객의 거래 데이터를 다루고 있었는데, 구체적으로 도움이 되었던 것 부분은 3장과 4장이다.

3장 시계열 분석 파트는 계절성과 같은 노이즈를 제거한 트렌드 파악과 같이 전체적인 데이터의 경향을 파악함에 있어 책의 분석 흐름이 보고서 작성에 큰 도움이 되었다. 

4장 코호트 분석 파트는 코호트별 차이(리텐션, 특정이벤트발생 등)를 파악하는 분석 관점을 참고해 여러가지 관점에서 그룹간 유의미한 차이를 도출해볼 수 있었다.

 

sql 문법은 아는데, 유저 데이터, 고객 거래 데이터를 어떻게 분석해야할 지 막막하다면 추천하고 싶은 책이다. 

SQL로 시작하는 데이터 분석 (SQL for Data Analysis)

 

SQL 및 데이터베이스 공부를 해야겠다고 처음으로 생각한 것이 약 3년 전이다. 3년 전에 처음으로 SQL을 공부하려고 알아봤을 때 가장 어려웠던 점은 바로 SQL 종류가 많아도 너무 많다는 것이다. MySQL, NoSQL, PostgresSQL, Oracle 등등 그 종류가 정말 많기 때문에 공부를 시작하고자 하는 사람에게는 무엇으로 시작해야하는지부터 큰 어려움이다. 나의 경우에도 3년 전에 처음으로 SQL에 관심을 가진 이후로 몇 번 정도 공부하고자 마음을 먹었으나, 매번 SQL을 고르는 문턱을 넘지 못했다. 그러다가 이번에 “SQL로 시작하는 데이터분석 (SQL for Data Analysis)”를 통해 드디어 SQL에 입문하게 되었다. 하지만 결론부터 이야기하자면, 이 책은 나처럼 SQL에 관한 경험이 한 번도 없는 사람에게는 적절하지 않으며, 기존에 SQL 지식과 경험이 있는 사람이 SQL을 활용하여 데이터 분석을 공부하고자 할 때 적합한 책이라고 생각한다. 이에 대해서는 마지막 부분에 다시 정리하며, 책에 대한 소개를 먼저 하겠다.

 

이 책의 구성은 다음과 같다.

1. SQL을 활용한 분석

2. 데이터 준비

3. 시계열 분석

4. 코호트 분석

5. 텍스트 분석

6. 이상 탐지

7. 실험 분석

8. 복잡한 데이터셋 생성

9. 결론

 

처음 1-2장은 간단히 SQL에 대한 설명과 data type 및 기본적인 함수를 소개한다. 3장부터 7장까지는 각 자료 타입에 대한 데이터 분석을 다루었으며, SQL의 특징을 강조하여 타 문법 (Python, R 등)과 비교했을 때의 장단점 또한 소개한다. 8장에서는 보안 및 확장 등을 고려하여 복잡한 데이터셋 생성에 대해 간단히 소개하며, 9장에서는 퍼널 분석, 이탈 분석, 장바구니 분석을 간단한 예시와 함께 소개하며 책을 마무리한다. 개인적으로 재밌게 읽었던 부분은 4장 코호트 분석 및 6장 이상 탐지였다. 사실 3-7장에서 소개한 데이터 분석은 SQL뿐만 아니라 일반적인 데이터 분석에도 모두 적용되는 이야기라, SQL을 잘 모르는 사람도 분석하는 생각 및 주의점을 익히기 좋다고 생각한다. 코호트 분석은 내가 지금까지 상세하게 접하지 못한 분야라서 흥미로웠으며, 이상 탐지도 사례별로 자세한 설명이 도움이 되었다.

 

개인적으로 아쉬웠던 점은 다음과 같다. 먼저 본격적으로 SQL을 활용하여 데이터 분석을 해보지 않은 입장에서는, 굳이 SQL을 사용하지 않고 Python을 사용하면 될텐데 왜 SQL을 사용해야 하는지에 대한 이유가 잘 드러나지 않았다. 사실 이는 내가 SQL 경험이 없는 초보자이기 때문이라 생각하며, SQL을 이미 잘 사용하는 사람들은 SQL을 사용하는 충분한 이유를 가지고 있을 것이라 생각한다. SQL 자체에서는 그림도 그릴 수 없으며, 책에서 제공하는 그래프는 모두 별도로 그린 것이다. 또한 고급 통계 및 머신러닝을 사용하려면 결국 외부 언어와의 연계가 필수적으로 보이는데, 그럼으도 불구하고 왜 SQL을 사용해야 하는지 책을 읽는 내내 궁금했다. 이를 위해서 SQL을 활용한 데이터베이스 관리에 대한 효율성과 이를 통한 데이터 분석의 시너지를 조금 더 부각시켰다면 SQL을 처음으로 접하는 독자에게도 더 큰 흥미를 제공했을 것이라 생각한다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

◎ 추천 포인트

  1. 흔치않은 SQL 데이터 분석 책
  2. 예제에 대한 다른 DBMS 문법 비교 설명
  3. 실습을 위한 데이터셋 제공

 

제목그대로 SQL를 사용하여 데이터 분석을 하고자 하는 사람을 위한 책이다.
책에서 사용하는 SQL 문법/기법 자체는 그렇게 어려운 수준은 아니다.
윈도우함수를 쓸수 있는 수준이라면 무리없이 소화할수 있으리라 생각한다.
2장에서 간단하게 책에서 사용할 SQL 문법 및 기초적인 기법을 소개해 주지만, SQL을 사용해 보지 않은 사람이라면 다소 어려울수도 있다.
어느정도 경험이 있는 데이터 분석가나 SQL에 익숙한 사람이 데이터 분석을 해보고자 할때 유용한 책이다.

업무적을 익히 많이 접해온 SQL이다보니 기술적인 어려움은 거의 없었다.
하지만 이 책은 데이터 분석을 배우기 위한 책이지, SQL을 공부하기 위한 책은 아니다.
3장까진 쉽게 읽을수 있었지만 4장부터는 통계에 기반한 본격적인 데이터 분석을 배우게 된다.

사실 데이터 분석에서 SQL의 대접이 좋지는 않다고 생각한다.
탐색적 데이터 분석을 많이 하게되는데 SQL만으로는 어렵기 때문이다. 이 책에서도 쿼리를 실행한 후 결과를 시각적으로 보여주기위한 차트를 같이 보여준다.
하지만 SQL만으로 차트를 그릴수 없기 때문에 다른 프로그램의 도움을 받아야 한다.
그렇기 때문에 Jupyter Notebook를 활용한 작업이 가능한 파이썬이나 R이 더 좋은 선택이라고 생각한다.
하지만 아직까지 많은 데이터들이 DB에 쌓여 있고, 이를 직접 활용할 수 있는 SQL의 강점은 아직 유효하다.
또한 대량의 데이터에서 원하는 부분을 추출하고, 전처리를 하는 작업 역시 SQL로 처리하는 것이 효과적 일것이다.
그런 면에서 SQL에 익숙하지 않은 데이터 분석가라면 한번 읽어보시길 권한다.

그리고 개인적으로 선호하는 개행한 뒤 콤마(,)를 찍는 포멧이라는 점이라 좋았다… 대부분 자신이 선호하는 SQL 스타일이나 회사의 코딩컨벤션이 있겠지만, 이 책에서 사용하는 SQL 스타일도 참고할만 하다.

 

데이터 분석은 기업을 비롯한 여러 조직에 다양하게 활용하고 있을 정도로 관심이 많은 분야인데요. 데이터베이스는 전보다 빠르고 데이터의 의미를 표현하기 위한 분석 도구와 시각화 도구는 이전보다 강력해집니다. 

 

데이터 분석을 시작하면 데이터를 수집하고 행동 패턴을 파악하기 위한 분석을 합니다. 하지만 제대로 된 경험이 없이 분석을 시작하다 보면 수많은 시행착오를 경험하게 됩니다.

 

분석한 내용이 틀린 경우도 있고 아무런 인사이트를 도출할 수 없는 결과를 만날 수도 있습니다. 데이터 분석 기법과 관련된 자료는 쉽게 찾을 수도, 정부에서 공개한 공공 데이터나 캐글에서 공개된 데이턴 분석 자료도 볼 수 있습니다. 이러한 자료 같은 경우 자료에 데이터 마이닝 알고리즘, 머신러닝, 수학, 통계 등 내용이 뒤섞여 데이터 분석을 시작한 분들에겐 어려울 수 있는데요.

 

이번에 소개할 SQL로 시작하는 데이터 분석은 SQL 문법을 공한 사람이 데이터 분석을 실습하기에 좋은 기본 데이터 분석 기법에 대해 상세하게 알려줍니다. 데이터 삽입, 수정, 삭제보다 SELECT문을 활용해 데이터를 원하는 대로 분석합니다. 시계열 분석, 코호트 분석, 텍스트 분석 이상 탐지를 비롯해 간단한 통계를 활용한 실험 분석 및 새로운 데이터 생성 방법까지 실무에 꼭 필요한 분석 기법에 대해 총정리한 저서입니다. 

 

SQL로 시작하는 데이터 분석 책에 관심 있는 분들이라면 

데이터 분석에 관심을 두고 SQL을 어느 정도 사용할 수 있으신 분, 데이터 분석 경험은 있지만 SQL은 잘 모르신 분, SQL로 사용해봤지만 데이터 분석에 관해서는 잘 모르신 분, 데이터 분석, SQL 둘 다 모르신 분 등 각자의 입장이 다를 거로 생각하는데요.

 

1장에서는 이러한 경우들을 생각해 기초를 가지고 앞으로 사용할 용어에 대해 정리하는 시간을 가집니다. 우선 데이터 분석이란 무엇인지? SQL이 무엇이며 왜 쓰이는지 다른 분석 도구들과 어떤 차이가 있는지 왜 데이터 분석에 활용하기 좋은지 등에 관해서 이야기합니다.

 

또한, 필자는 분석을 통해 현재 데이터를 이해하는 일도 중요하지만, 분석을 끌어낸 결과를 잘 활용하는 일까지 매우 중요하고 합니다. 또한 다양한 분석 기법을 설명하는 데 있어서 왜 이런 분석이 필요한지 분석 결과가 무엇을 의미하는지 결과를 새로운 전략에 어떻게 활용하는 방법까지 설명합니다.

 

2장에서는 데이터 타입 소개부터 데이터 프로파일링, 정제, 셰이핑 등 데이터 준비 과정을 알아볼 수 있습니다.

3장부터 7장까지는 시계열 분석 코호트 분석, 텍스트 분석, 이상 탐지, 실험 분석 등 데이터 분석 활용에 관해 알아봅니다.

8장에서는 다른 도구로 추가 분석을 수행하기 위해 복잡한 데이터셋을 생성하는 방법을 다룹니다.

마지막인 9장에서는 새로운 인사이트를 끌어내기 위해 이 책에서 배운 분석 방법들을 어떻게 활용할지 생각해보고 여러분의 데이터 분석 여정에 도움이 될 만한 참고 자료를 소개합니다.

 

SQL은 데이터베이스와 대화하기 위한 언어인데요. 그리고 데이터베이스에 저장된 데이터를 다루는 데 많은 강점이 있습니다. 뛰어난 연산 처리 능력을 갖춘 널리 사용되고 필요에 따라 유연하게 사용할 수 있는 데이터 분석 도구입니다. 이처럼 데이터 분석에 SQL을 사용하는 이유는 다양한데요. 이뿐만 아니라 SQL을 사용하는 가장 큰 이유는 전 세계의 수많은 데이터가 이미 데이터베이스에 저장돼 있습니다. 여러분이 속한 조직에서도 최소 하나의 데이터베이스를 사용하고 있을 건데요. 

 

SQL로 시작하는 데이터 분석 책을 통해 분석한 내용을 기획자나 디자이너와 공유하고 이를 통해 도출한 인사이트가 사용자 경험 향상할 기회가 될 것입니다. 수많은 경험이 필요할 수 있지만 그 전에 데이터 분석에 첫걸음 되길 SQL로 시작하는 데이터 분석 책을 추천합니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 지금은 예전에 비해 데이터 분석이 매우 대중화됐다. 데이터 분석 기법과 관련된 자료를 찾기도 쉽고, 정부에서 공개한 공공 데이터나 캐글에 공개된 데이터를 분석한 자료도 많다. 하지만 자료에 데이터 마이닝 알고리즘, 머신러닝, 수학, 통계와 관련된 자료도 뒤섞여 있어 데이터 분석에 첫걸음 내딛는 사람이 참고하기에는 너무 어려운 경우가 많다. 

 

 이 책은 이제 막 SQL 문법을 공부한 사람이 데이터 분석을 실습하기에 적당한 기본 데이터 분석 기법을 다룬다. 데이터 삽입, 수정, 삭제보다는 SELECT 문을 활용해 데이터를 원하는 대로 분석하는 데 집중한다. 시계열 분석, 코호트 분석, 이상 탐지, 실험 분석 및 새로운 데이터 생성 방법까지, 실제 데이터 분석에 널리 쓰이는 기법을 입문자 눈높이에서 설명한다. 

 

 이 책의 1장에서는 데이터 분석이란 무엇인지, SQL과 다른 분석 도구들은 어떤 차이가 있는지, 왜 데이터 분석에 활용하기 좋은지에 대해 얘기한다. 

 

 2장에서는  데이터 타입의 소개부터 데이터 프로파일링, 정제, 셰이핑 등 데이터 준비 과정을 살펴본다. 

 

 2014년 뉴욕 타임스의 보고에 따르면 데이터 과학자는 전체 시간의 50~80%를 데이터를 정제하거나 랭글링하는데 사용한다고 한다. 데이터 준비가 단순히 '분석 전에 수행하는 과정'이라고 가볍게 생각할 수 있지만, 사실은 데이터를 이해하는 데 필수이면서도 시간이 많이 소요되는 작업이다. 데이터의 내용과 품질을 확인하는 데이터 프로파일링, 데이터를 행과 열의 형태로 반환하기 위한 데이터 셰이핑을 살펴본다. 

 

 3장에서는 SQL로 수행 가능한 다양한 분석 중 하나인 시계열 분석에 대해 알아본다. 시계열 분석은 통계, 공학뿐 아니라 일기 예보, 업무 기획 등 다양한 학계 및 산업계에서 쓰인다. 시계열 분석을 위해 날짜 및 시간 데이터를 처리하는 방법, 날짜 차원 테이블을 활용한 시간 윈도우 롤링 계산 방법, 구간 비교 계산과 이를 통해 계절성 패턴을 알아내는 방법을 알아본다. 

 

 4장에서는 시계열 분석과 관련해, 비즈니스를 비롯한 여러 분야에서 활용되는 코호트(집단) 분석을 알아본다. 고객을 여러 집단으로 나누고 집단별 행동 변화를 추적하는 일은 다양한 편향을 제거하고 데이터를 분석하는 데 강력한 방법이다. 코호트 분석은 각 그룹의 리텐션, 반복 행동, 누적 값 등이 시간에 따라 어떻게 변화하는지 비교하는 데 유용하다. 

 

 

 5장과 6장에서는 SQL을 이용한 텍스트 분석과 이상 탐지 기법에 대해 알아본다. 

 

 7장에서는 이상 탐지, 코호트 분석 등 다양한 유형의 분석을 아우르는 포괄적인 분석인 실험 분석에 대해 알아본다. SQL을 활용해 대조군과 실험군을 선별하고 분석을 수행한다. 

 

 

8장과 9장에서는 다른 도구로 추가 분석을 수행하기 위해 복잡한 데이터셋을 생성하고 새로운 인사이트를 이끌어내기 위한 분석 방법의 활용법에 대해 얘기한다. 

 


 

 데이터 분석은 개발자뿐만 아니라 PM, 기획자, 마케터 등 분야를 막론하고 다양한 직군에서 아우를 수 있는 영역이라고 생각한다. 이 책은 그런 사람들을 위해실무에서 가장 활용도가 높은 다양한 분석 기법들을 소개하고 있다.

 

 실습은 PostgreSQL을 사용하지만 어떤 데이터베이스를 사용하든 내용을 이해하고 실습하는 데 무리가 없이 설명이 되어있다. 데이터셋 또한 대부분 미국의 공식 웹사이트에서 공개한 실제 데이터이므로, 이를 활용해 실전 데이터 분석을 경험할 수 있다는 점도 이 책의 큰 장점이다. 

 

 하지만 이 책의 제목은 SQL로 시작하는 데이터 분석이지만 SQL에 대해서는 깊게 다룬다는 느낌은 받지 못했다. 효율적인 SELECT문 작성법에 대해서도 소개하면 어땠을까 싶다. 

 

 

 

"한빛미디어 < 나는 리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."

사회적으로 데이터에 대한 관심이 높습니다.
파이썬, R과 같은 데이터를 다루는 언어나 프로그램에 대한 개발자들의 관심 또한 높습니다.

 

sql.jpg

 

이 책 또한 데이터 분석을 말하고 있습니다.
하지만 파이썬이나 R이 아닌 ‘SQL’을 사용하고 있습니다.
아직까지 대부분의 데이터 조회는 SQL로 처리하는 곳이 많습니다.
그렇기에 데이터 분석 또한 SQL로 하면 좋습니다.
SQL로 간단한 데이터 조회뿐만 아니라 분석도 가능합니다.
다만, 방법을 몰랐을 뿐....

이 책의 장점은 SQL의 사용법만을 알려주는 것이 아닙니다.
‘데이터 분석'에 필요한 방법, 프로세스를 상세히 설명해 주고 있습니다.
 

process.jpg

 

profiling.jpg

 

개인적으로 데이터 분석에서 가장 중요한 것이 데이터 품질이라 생각합니다.
본문에도 나와 있지만 아무리 좋은 방법과 기술을 사용하더라도 ‘쓰레기가 들어가면 쓰레기가 나온다'라고 믿습니다.

책은 데이터 분석을 위한 쿼리에 그에 따른 해석을 설명하고 있습니다.
시계열 분석은 물론이고, 코호트 분석, 텍스트 분석, 이상 탐지까지 보여주고 있습니다.
SQL로 실험 분석까지 가능할 것이라 생각도 하지 못했는데 가능하네요.
SQL의 새로운 모습을 보는 것 같아 책을 보는 내내 흥미로웠습니다.

공개된 실데이터를 기반으로 쿼리를 직접 실행하여 결과를 확인할 수 있습니다.
사실 데이터 분석에서 중요한 것은 방법이 아니라 결과에 대한 해석이라 생각합니다.
믿고 싶은 결과를 도출하는 것이 아니라 데이터가 말하는 진실을 보여줄 수 있어야 합니다.
이 책은 그 진실을 어떻게 보여줘야 하는지를 잘 설명하고 있습니다.

SQL을 다루고 있었지만, 이 책을 보면서 몰랐던 것들을 많이 배울 수 있었습니다.
꼭 데이터 분석이 필요하지 않더라도 다양한 SQL의 사용법을 배울실 수 있습니다.
무엇보다 어려운 데이터 분석을 익숙한(?) SQL로 할 수 있다는 것이 가장 큰 매력인 것 같습니다.

[한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.]
 

SQL 책을 보면 대부분 기능적인 설명위주로 되어 있는데 이 책은 실제와 가까운 비즈니스 데이터 분석예제로 구성되어 있다. 최근 본 SQL 책 중에 가장 실무와 가깝고 재미있는 주제로 쓰여진 책이다.

다른 SQL책은 SQL문법 위주로 되어 있기 때문에 실무에 적용하거나 통계적인 연산을 고려해서 보려면 SQL과 통계에 대한 책을 따로 보고 또 그렇게 봤다 하더라도 맞게 적용한건지 의문이 들게 마련인데 이 책은 이런 어려움을 해결해 주는 책이다. 실무에서 사용되는 다양한 데이터 분석기법과 SQL 문법을 엮어서 설명한 점이 가장 좋다.

시계열 분석

날짜 및 시간 데이터를 처리하는 방법, 날짜 차원 테이블을 활용한 시간 윈도우 롤링 계산방법, 구간 비교계산과 계절성 패턴을 알아내는 방법을 다루고 있다. 실무에 필요한 비즈니스 예제로 구성되어 DAU, WAU, MAU 에 대한 이론적인 내용을 함께 설명하고 있다.

코호트 분석

각 그룹의 리텐션, 반복 행동, 누적값 등이 시간에 따라 어떻게 변화하는지 이해할 수 있도록 인구통계학적 분석 뿐만 아니라 통계적인 이론도 실무 예제와 함께 설명하는 점이 좋다. 예를 들면 상관 관계와 인과 관계의 다름을 설명하는 것도 좋다.

데이터 분석을 주로 다루기 때문에 SELECT 구문을 주로 다루며 다양한 함수와 서브쿼리 작성법을 다루고 있다.

텍스트 분석

like 구문 정규표현식 사용 등을 통해 텍스트 데이터 분석에 대해서도 다룬다. 텍스트에 포함된 내용을 SQL로 분석하는 다양한 예제를 제공하고 있다.

이상탐지

이상탐지에서도 SQL문법만을 다루는것이 아니라 이상탐지가 필요한 상황과 박스플롯, 스케일 변환 등의 통계적인 기법까지 다루고 있다.

실험분석

이상탐지, 코호트분석 등 다양한 유형의 분석을 아우르며 모바일게임 사용자 예제를 통해 카이제곱 검정, t-검정 등의 검정 방법을 다룬다. SQL 문법 뿐만아니라 실무에서 데이터분석을 위한 실험설계 방법까지 엮어 다룬다는 점이 이 책의 최고 강점이다.

복잡한 데이터셋 생성

분석 뿐만 아니라 좀 더 정교한 분석을 위해 뷰를 생성하는 방법, 복잡도 관리, 쿼리 성능 최적화, 결과 데이터셋에서의 프라이버시 보호 등 여러 SQL 문법을 다룬다.

기존까지 봤던 데이터 분석 책에 비교해봤을 때 다양한 도메인 데이터와 스토리텔링, 통계적인 내용을 쉽게 풀어 비즈니스 예제에 적용해준 점이 정말 인상적이다. SQL을 처음 다루는 사람에게도 도움이 되겠지만 SQL을 통해 분석을 해온 사람에게도 다양한 방법론과 통계적인 지식을 모두 쌓을 수 있는 책이다.

이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.

안녕하세요 마개입니다.

 

이번에 소개해 드릴 책은 "SQL로 시작하는 데이터 분석"입니다. 해당 책에 대해 알아보도록 하겠습니다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

도서 소개

 

 

도서명 : SQL로 시작하는 데이터 분석

지은이 : 캐시 타니무라

옮긴이 : 박상근

출판사 : 한빛미디어

출간 일자 : 2022-08-10

페이지 : 436쪽

가격 : 정가 30,000원

 

​많은 기업들이 데이터 분석을 통해 인사이트를 도출하고 이를 서비스에 적용하여 매출을 증대시키고 있습니다. 많은 데이터 분석가들이 데이터 분석을 하기 위해 R, 파이썬 등의 프로그래밍 언어를 이용하고 있습니다. 데이터 분석가들도 마찬가지이지만 많은 현업분들은 SQL을 이용하여 데이터 분석을 진행합니다. 이 책은 그렇게 SQL을 이용하여 데이터를 분석하시는 분들에게 추천하는 책입니다.

 

이 책은 5가지 주제도 데이터 분석을 다룹니다.

* 시계열 분석

* 코호트 분석

* 텍스트 분석

* 이상 탐지

* 실험 분석

 

책에서는 각 분석마다 준비된 데이터 셋을 이용하고 분석 주제를 가지고 SQL로 풀어나가는 방식으로 진행합니다. 결과는 그래프로 보여줘서 보기 쉽게 제공하고 있습니다. 참고로 파이썬을 이용해서 데이터 분석을 할 때에도 그래프를 많이 이용합니다.

 

이 책에서는 데이터 분석을 다루는데 끝나는 것이 아니라 SQL 문법이나 포매팅 요령, 쿼리 실행 순서 등 SQL에 대한 정보들도 제공하여 더욱 효과적으로 SQL을 사용할 수 있도록 가이드하고 있습니다. 많은 데이터를 다뤄야 하는 데이터 분석에서는 이러한 부분도 매우 중요하게 생각합니다.

 

총평

 

평소에 데이터를 다룰 때 SQL은 데이터 추출용으로 이용하고 파이썬을 이용해서 데이터를 가공하고 분석하는 방식으로 하고 있습니다. 이 책을 보면서 SQL로도 이렇게까지 할 수 있구나라는 새로운 사실들이 많았고 실제로 분석할 때 이용해 보고자 합니다.

 

이 책에서 나오는 SQL들은 모든 관계형 데이터베이스의 SQL을 다루는 것이 아니기 때문에 본인이 사용하고 있는 데이터베이스에서는 되지 않을 수도 있습니다. 그렇기 때문에 사용 중인 데이터베이스에 맞는 함수를 찾는 과정이 필요합니다.

전산 개발 및 운영 분야에서 일하는 분들은 SQL을 모르는 분은 없을 것입니다.

 

데이터베이스에 모든 자료가 저장되는데, 방대한 자료에서 원하는 결과를 찾기 위해서는 내부적으로 SQL 명령이 처리 됩니다.

 

쇼핑몰 상품 조회, 구매 등 우리는 쉽게 인터넷사이트를 이용하지만 전산 관리 측면에서는 모두 SQL이 동작하여 내부 데이터를 처리하고 있기 때문에 SQL은 아무리 강조해도 지나치지 않는 분야 입니다.

 

SQL로 시작하는 데이터 분석 도서에서는 실무에서 필요로 하는 분석 기법을 잘 정리하여 설명하고 있습니다.

 

기초적인 SQL 내용은 초반에 조금 나오기 때문에 전산 분야에서 일하는 분들과 SQL에 대하여 조금이라도 아는 분들에겐 고급 기법을 알 수 있는 기회 입니다.

 

SQL을 좀 안다는 분들에게 더 도움되는 책이라고 할 수 있네요.

 

SQL 기초, 시계열 분석, 코호트 분석, 이상 탐지, 실험 분석과 관련해 SQL 쿼리를 어떻게 작성하는지 잘 설명하고 있습니다.

 

SQL이 얼마나 유용하기 사용되고 있는지 알 수 있는 도서입니다.

 

분석 기술을 향상한다는 것은 단순히 최신 기법이나 언어를 배운다는 의미가 아니라, 좋은 질문을 던지고, 시간을 들여 데이터와 도메인을 이해하고, 적절한 분석 기법을 활용해 유용하고 신뢰할 만한 결과를 이끌어내는 것이라고 합니다.

 

SQL을 얼마나 깊이 있게 사용할 수 있는데 데이터 전문가라면 한번은 읽어 보는게 좋을거 같습니다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

KakaoTalk_20220828_100629590.jpg

 

SQL로 시작하는 데이터 분석

  • 실무에 꼭 필요한 분석 기법에 대한 총정리가 되어 있는 책

  • 실제 데이터셋으로 배우는 책

  • 시계열, 코호트, 텍스트 분석을 배울 수 있는 책

이 책은 데이터 분석과 인공지능에 관심이 있는 사람을 대상으로 하고 있다.

물론 SQL을 자세하게 가르쳐 주고 있기에 SQL 문법에 관심이 있다면 봐도 좋을 책이다.

데이터 분석이란 무엇인지 부터 시작한다. 데이터 분석이란 데이터를 수집하고 저장하는 일인데 인간의 기본적인 행동이라는 것입니다.

이러한 데이터 분석은 활용되지 않는 산업이 없을 것입니다.

제조, 소매, 금융, 헬스케어, 교육, 정부 기관까지 말이죠

1장은 SQL을 어떻게 활용하여 사용할 수 있을지에 대해 설명하고 있습니다.

기본적인 내용부터 파이썬 R 등과 다른 SQL 만의 장점에 대해 구체적으로 이해하기 쉽게 설명해주고 있습니다.

2장에서는 데이터 분석에 필요한 데이터 준비를 하고 어떻게 사용하는지에 대해 이야기 하고 있습니다. 기본적인 데이터 타입부터 SQL 구조, 데이터 분포에 대한 챠트로 좀더 구체적으로 이해하기 쉽게 설명합니다. 다양한 쿼리를 가지고 이야기하고 있기에 아주 많은 도움이 됩니다.

3장, 4장, 5장, 6장에서는 시계열 분석, 코호트 분석, 이상 탐지에 대해서 이야기합니다. 각 분석 방법이 무엇인지 조작하는 방법은 어떻게 하는지 그리고 실 데이터를 활용하여 트렌드 분석을 합니다. 그리고 분석된 데이터를 활용한 챠트도 보여주고 있어 세세함을 느낄 수 있습니다. 실무에서 바로 사용할 정도의 다양한 쿼리와 챠트를 함께 사용하여 보여주고 있어 아주 많은 도움이 될 듯합니다.

7장에서는 실험 분석에 대한 설명인데 A/B 테스트는 활용한 인과 관계를 밝히는 방법과 어떻게 SQL을 활용하여 실험하고 분석하는지에 대하여 이야기합니다. 그리고 왜 실험이 어려운지 문제 해결 방법은 무엇인지 분석 방법에 대해서는 어떻게 활용하여야 하는지 이야기합니다.

8장에서는 SQL로 복잡하게 생성된 데이터셋을 어떻게 활용할지 장점은 무엇인지 이야기합니다.

이 책은 정말 다양한 SQL 쿼리를 가지고 학습하도록 유도합니다. 하나 하나 실습을 진행하다 보면 실무에서 활용 가능한 가치를 가지는 SQL 문법을 습득할 수 있을 것입니다. 다소 어려울 수도 있지만 이 책은 그만한 가치를 가지는 것 같습니다.

데이터 분석을 위한 다른 대안으로서 SQL로 시작하는 데이터 분석 이책 은 아주 훌륭하다고 이야기 할 수 있습니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

SQL를 단순히 학습하는 것을 넘어서 어떻게 사용되고, 분석에 활용될 수 있는지를 알려주는 깊이 있는 책이라고 생각합니다.
SQL을 업무에 사용하는 데이터 분석가나 데이터 사이언티스트들은 탄탄한 기본기를 갖출 수 있고,
다양한 분석방법을 알아나갈 수 있는 좋은 책이기에 읽어보시기를 추천합니다.

 

KakaoTalk_Photo_2022-08-28-17-18-45.jpeg

 

 

 

이 리뷰는 한빛미디어 나는 리뷰어다 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

요즘엔 많은 회사들에서 데이터 분석을 진행하는데 기초적으로 알아야 할 프로그래밍 언어가 python 이라면 데이터베이스 언어중에 가장 기초적으로 알아야 할 언어는 SQL 이다. 또한 분석가가 아니라더라도 작성자처럼 백앤드 위주로 개발하는 사람이라면 매일처럼 사용하는 것이 아마도 SQL 일 것이다. 이 책은 SQL 을 활용해서 데이터 분석하는 방법에 대해서 알려주는 기본서이다.

 

SQL 도 정말 어려운 분야중 하나기 때문에 이를 공부하기 위해서는 많은 서적을 보아야 한다. 특히나 개발자들이나 DBA 들에게는 DBMS 자체를 공부해야 하기도 하는데 분석가에게는 필요할지는 아직 모르겠다. 그런 의미에서 보면 이 책은 분석가를 위해서 깔끔하게 필요한 것들 위주로 쓰여져 있는 책이 아닌가 싶다.

 

책에서는 처음에는 SQL 문법에 대해서 알려주면서 기존의 데이터를 가지고 분석을 위한 데이터로 어떻게 변형해야 할지 간단한 기법들을 설명해준다. 프로파일링을 통해 어떤 데이터를 가져와야 하는지 알아보고 이러한 데이터를 가지고 정제 및 체계화 하는 방법에 대해서 알려준다.

 

그리고 그 다음장인 3장 부터는 실제 정제되어 있는 데이터를 이용해서 여러 분석 방법론들을 설명한다. 사실 분석 방법 자체는 많이 들어봤던 방법이겠지만 데이터들을 sql 을 이용해서 분석을 한다는 점이 특별하다면 특별하다고 할 수 있을 것 같다. 시계열분석, 코호트 분석, 텍스트 분석 등 일반 개발자도 들어봤을 법한 분석 방법론인데 이를 sql 로 가져오고 보여주는 것이 신기했다. 8장에서는 여러 다른 DB 책에서도 자주 볼 수 있는 SQL 실행순서, 서브쿼리, DB 프라이버시 등에 대해서 간략하게 이야기하고 끝을 낸다.

 

개인적으로는 pandas 나 tensorflow 등 여러 프레임워크를 실무에서 써본적이 없어서 오히려 sql 만으로 분석을 하고 실습을 할 수 있어서 재미있게 느껴졌다. 또한 지금 현재 다니고 있는 스타트업처럼 작은 기업에서는 굳이 여러 다른 프레임워크를 쓸 필요 없이 sql 만으로도 간단한 분석을 할 수 있지 않을까 싶었다. 다만 완전히 DB 를 처음 접하는 사람들에게는 문법 자체가 생소할 수도 있지 않을까 싶어 기초는 한번 보고 이 책을 보는게 어떨까 싶다. 그래서 작은 스타트업 개발자인데 분석을 해보고 싶은 요구사항이 있다면 이 책을 참고해보면 좋을 것 같다.

이 책의 대상 독자는 다음과 같다고 한다.

  • SQL 문법 공부를 마치고 데이터 분석에 입문하려는 사람

  • 비즈니스 데이터를 분석해 업무 관련 인사이트를 도출하려는 사람

실제로 주변에 데이터를 다루고 이는 후배도 있고, 기회가 된다면 이 책을 추천해줘보고 싶다. 데이터 분석가로 방향을 잡는 사람들에게는 정말로 도움이 될 수도 있을 것 같은 책의 구성과 모든 예제를 SQL로 풀어나가는 내용들에서 데이터 분석쪽으로는 관심이 없더라도 SQL을 이용하는 사람들이라면 가볍게 보면서 잠깐 잃어버렸던 SQL들을 끄집어 내기에도 좋을 것 같다.

자세한 리뷰는 블로그를 참고해주세요

https://blog.naver.com/ab415/222860335479

한빛미디어 “나는 리뷰어다” 활동을 위해서 책을 제공받아 작성된 서평입니다.

TL;DR

  • 다양한 데이터 분석 기법을 SQL을 활용해서 학습 가능
    • 초급 개발자/데이터 분석가의 경우 SQL을 사용해서 다양한 분석 방법을 활용하는 방법을 학습할 수 있음
    • SQL 실습 분량이 많기 때문에 SQL 연습이 필요하다면 이 책을 추천함
  • 과정과 결과를 확인할 수 있음
    • 데이터 분석에 활용되는 SQL 기법을 작성하는 과정을 배울 수 있음
    • 최종 결과를 시각화로 제시하기 때문에 SQL에 익숙하지 않은 분들에게 추천
    • Pandas를 사용해서 교재와 같은 구성으로 학습을 같이 진행하고 싶으시면 저의 저장소를 참고하셔서 나름의 개발 환경을 구성해보세요!
  • 초급자에게 난이도가 있음
    • 기본적인 SQL에 대한 설명이나 RDBMS를 설치하는 방법등을 모른다면 책의 난이도가 생각보다 높을 수 있음

책표지

실습이 많음

책 제목에 걸맞게 실습 분량이 상당하다. SQL을 다양한 형태로 활용할 수 있도록 각 챕터마다 데이터를 다양하게 사용하고 있기 때문에 실습할 때 지루하진 않다. 단순한 SQL 구문을 시작해서 복잡한 SQL 문장을 작성하는 형태로 진행한다. SQL에 익숙하지 않다고 하더라도 이 책을 활용해서 공부한다 고급 SQL 구문을 작성해 볼 수 있다.

SQL

단순한 SQL을 연습하는 과정도 필요하지만, 다양한 구조나 방법을 연습하는 방법이 필요하다. 이 책은 다양한 SQL을 연습할 수 있기 때문에 ORM을 주로 활용하는 현업 개발자나 SQL/엑셀을 기반으로 데이터를 분석하는 분들에겐 추천할 수 있는 책이다.

과정과 시각적 결과

이 책은 프로파일링/피벗 등을 사용해서 데이터를 분석하는 방법을 설명하고 있다. ‘쿼리문을 작성하는 순서’, ‘쿼리를 어떻게 구성해야 하는 방법’ 등 SQL을 활용해서 데이터를 다루는 방법과 과정을 설명하고 있다. 문제 해결을 위한 다채로운 기법을 연습할 수 있다.

시각적 표현

SQL 구문의 결과물을 시각화(그래프)로 표현해서 SQL 구문의 결과와 상호 비교해서 알려준다. 단순히 행과 열로 나타내는 데이터를 교재에서 시각적으로 제시하고 있기 때문에 SQL의 표현에 익숙하지 않은 분들에게 좋은 참고가 될 것이다.

파이썬을 활용하고 계시다면 Pandas와 Seaborn을 활용하실 수 있으시면, Jupyterlab을 활용하실 수 있습니다. 관련 자료는 제 저장소를 참고하세요!

Pandas 활용

초급자가 보기엔 쉽지 않음

이 책을 통해서 학습을 진행하다 보니, 데이터 분석을 처음 배우는 학습자 보다는 초급 개발자/현업 분석가에게 적합한 교재다. 기본적인 SQL이나 RDBMS 사용법이 익숙하지 않다면, 이 모든 과정이 쉽지 않을 것으로 예상된다.

데이터베이스 설치 등과 같은 것도 초급자에게 쉽지 않을 듯 하니, 이 책으로 SQL을 학습하고자 한다면 PostgreSQL이나 pgAdmin 사용법을 충분히 학습할 것을 권한다.

[나는 리뷰어다] SQL 데이터분석에 있어서 가장 유용한 책, SQL로 시작하는 데이터분석


 

 


글, 사진 : 서원준(news@toktoknews.com


* 이 포스팅은 한빛미디어 “나는 리뷰어다” 이벤트를 통해서 한빛미디어에서 도서를 제공받아 작성되었으나 글 내용은 도서 소개 및 구매가이드가 대부분입니다. 


무덥고 비가 많이 왔던 8월도 어느새 끝자락으로 가고 있다. 절기상으로는 입추, 말복, 처서가 모두 지나갔고, 본격적인 추석준비를 해야 할 시점이다. 또한 계절이 바뀌면서 생기는 환절기 시즌이자 감기, 코로나 걸리기 딱 맞는 시점이다. 올해는 추석 연휴가 빨리 찾아와서 코로나19가 다시 한번 심하게 올 수 있다. 개인방역수칙의 생활화가 무엇보다 중요해진 시점이다. 


필자로서는 8월 한 달 많고 많은 도서들을 다 읽고 싶었다. 그런데 어느 날 길을 가다가 주의를 기울이지 않은 탓에 오른쪽 복숭아뼈를 보도블럭 모서리에 그대로 들이받게 되어 몇 주째 반 깁스 상태이다. 그 건강을 돌보다가 독서 시간을 놓치게 되었다. 너무나 아쉽다. 이번 8월 서평도 도서 소개로 대체하게 됐다. 


 

 

 

 

 

 

 

 

 

 

 

 

 

 


이번에 소개할 도서는 “SQL로 시작하는 데이터분석”이다. 우리는 데이터를 많이 접한다. 옛날에만 해도 데이터가 부족하여 손으로 기록해야 했다. 그런데 타자기, 컴퓨터가 생기고 성능이 점점 고급화, 고성능화 되면서 데이터가 쌓여가기 시작했다. 그리고 지금 시점에서 데이터는 크게 늘어나 데이터센터를 따로 만들어야 하기에 이르렀다. 


이 책은 데이터에 대한 준비부터 분석을 통한 인사이트 도출까지, 데이터분석에 대한 모든 것을 다루는 도서로서 데이터를 인사이트로 바꾸는 SQL 활용법에 대해서 자세하게 설명하고 있다. 


데이터 분석 역량은 분야를 막론하고 경쟁력을 갖추는 데 필수가 되어가고 있다. 이 책에서는 SQL 데이터 분석이 익숙하지 않은 초급자와 더 나은 쿼리 및 분석 방법을 찾는 SQL 숙련자 모두를 위한 가이드성 책이 되겠다. 분석에 앞서 데이터를 준비하는 과정부터 실무에서 가장 활용도 높은 시계열, 코호트, 리텐션 분석 등 다양한 분석법을 알려준다. 실제 데이터셋을 사용해 흥미로운 예제를 실습해보며 실전에 가까운 분석 경험을 쌓을 수 있도록 만들어진 책으로 SQL언어를 조금이라도 안다면 꼭 봐야하는 필독서이다. 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


도서 소개를 마치면서


이번에 “나는 리뷰어다”를 통해서 소개한 “SQL로 시작하는 데이터분석” 은 데이터로 소통하는 시대에 필살기가 되어줄 SQL 활용법으로서 데이터로 말하고 데이터로 소통하는 현재 시대에, 데이터를 다루는 사람이라면 기본으로 알아야 할 SQL의 특징을 그대로 살릴 수 있도록 하는 책이라는 점에서 필자로서 반드시 보고 싶은 책이다. 필자가 현재 복숭아뼈 아픈 것만 해결되면, 아픈 손가락 중 하나인 SQL을 이 책을 통해서 반드시 정복하고 싶을 정도이다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다
 
빅데이타, 머신러닝등이 이미 익숙해진 시대에 이를 다루는 파이썬이라던지 R, 그리고 시각화를 위한 태블로 같은 BI도구들에 대한 수많은 책들이 나오고 있습니다. 그런데 이런 도구들을 새롭게 배우지 않고도 데이타를 분석할 수 있습니다. 우리가 기존부터 써왔던 SQL을 통해서 말입니다.

이 책은 SQL을 통해 시계열 데이타, 코호트, 텍스트 분석등을 다룹니다. 웹개발을 할 때  게시판같은 형태의 SQL로 CRUD는 많이 다루어 보았지만 통계나 분석등까지는 별로 해보지 못했었습니다. 통계나 분석을 위해 어떤 단계들을 거쳐 유용한 정보를 추출해낼 수 있는지 등을 배울 수 있습니다.

데이터분석은 사용하는 툴만 다를 뿐이지 과정은 비슷하다고 생각합니다.
케글등으로 파이썬 (팬더스)등을 이용해서 데이터분석을 해봤던 사람들은 데이터 분포를 확인하고 , 이상치를 확인하고 데이타를 전처리하고, 무언가를 실행시킨 후 분석을 하고 다시 개선을 하고 
이런 과정들을 각각 SQL 구문으로 수행합니다.

물론 SQL은 절차형 프로그래밍언어가 아니기에 SQL로 데이터 분석이 가능한 부분과 가능하지 않은 부분에 대해서도 언급해줍니다.
예제들마다 직접 만들자면 인터넷에서 찾고 배워서 시행착오를 거쳐 적용해야할 함수나 기법들을 한권의 책에서 잔뜩 모아놔서 나중에 관련 작업을 하게된다면 큰 도움이 될 거 같습니다.
SQL은 최대한 간결하게 작성되어 있으며 수행결과 뿐 아니라 그래프나 차트등으로도 표시해주어 이해를 돕고 있습니다. (물론 SQL로는 가능하지 않고 별도엑셀이나 태블로같은 BI툴을 사용해야 하지만)

데이타 분석을 하는 방법은 여러가지가 있을 수 있기 떄문에 SQL을 통한 분석방법도 배워두면 언젠가 필요한 경우가 생길 거 같습니다.



[도서 소개]


데이터 준비부터 분석을 통한 인사이트 도출까지

데이터를 인사이트로 바꾸는 SQL 활용법

데이터 분석 역량은 분야를 막론하고 경쟁력을 갖추는 데 필수가 되어가고 있다. 이 책은 SQL 데이터 분석이 익숙하지 않은 초급자와 더 나은 쿼리 및 분석 방법을 찾는 SQL 숙련자 모두를 위한 가이드다. 분석에 앞서 데이터를 준비하는 과정부터 실무에서 가장 활용도 높은 시계열, 코호트, 리텐션 분석 등 다양한 분석법을 알려준다. 실제 데이터셋을 사용해 흥미로운 예제를 실습해보며 실전에 가까운 분석 경험을 쌓아보자.


[대상 독자]

- SQL 문법을 학습했지만 어떻게 데이터 분석에 적용할지 막막한 사람

- 비즈니스 데이터를 분석해 업무 관련 인사이트를 도출하려는 사람


[주요내용]

- 트렌드 분석

- 코호트 리텐션 분석

- 텍스트 분석

- 이상 탐지

- 실험 분석

- 퍼널 분석


[서평]

데이터 분석에서 가장 쉽게 접근할 수 있는 방법이 바로 SQL 입니다. SQL은 DBA, 개발자가 아니라도 누구나 쉽게 배울수 있는 언어 입니다. 그래서 데이터 분석가, 전략기획담당자, 마케터등, ㅓ데이터 분석 업무를 하는 사람이라면 반드시 배워야 하는 언어라 생각합니다. SQL은 데이터베이스에 인터랙션하고 데이터를 불러오는 작업 표준입니다. 기본 문법만 알아도 다양한 쿼리를 조합해 수많은 종류의 분석을 할수 있습니다. 데이터베이스 서버에서 실행되므로 새로운 데이터를 받아와 보고서나 대시보드를 정기적으로 업데이트하는 데 적합한 언어입니다.


SQL로 데이터 분석을 어떻게 하는게 좋은지 이책에서는 다양한 실제 데이터셋을 활용해서 실무에서 사용하는 여러 분석 기법을 배울수 있고 다양한 예제로 실무 감각을 익힐수 있습니다.


이책의 구성은 각장에서 사용할 데이터셋과 분석 기법을 먼저 학습합니다. 그리고 데이터 분석에 필요한 쿼리문을 배웁니다. 그리고 쿼리의 결과를 그래프 차트로 시각화로 확인 하는 구조로 진행이 됩니다.


의미 있는 분석을 위해서는 데이터준비 과정이 중요합니다. 이책에서 탐색, 프로파일링, 정제, 쉐이핑, 분석에 대한 과정을 상세히 배울수 있습니다. 데이터 분석에대한 감각을 익히기 좋은거 같습니다.



 "한빛미디어 리뷰어 활동을 위해서 책을 제공받아 작성된 서평입니다."

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

SQL로 시작하는 데이터 분석

이번에 한빛미디어에서 진행하는 <나는 리뷰어다> 이벤트에서 제공받은 책은 <SQL로 시작하는 데이터 분석>입니다. 어떤 분야이더라도 소프트웨어 엔지니어로 일 한다는 것은 보통 데이터로 시작해서 데이터로 끝나게 되는 경우가 많습니다. 시스템이 점차 복잡해짐에 따라 단순 디버깅만으로 시스템의 문제없음이나 개선 사항이 제대로 적용되었는지 확인하기 어렵습니다. 버그가 발생하지는 않는지, 의도한 개선 사항들이 잘 작동하는지 확인하기 위해서는 필수적으로 테스트 데이터를 활용하게 됩니다. 따라서 <SQL로 시작하는 데이터 분석>을 제공받고자 하는 도서로 이 책을 선정하게 되었습니다.

책의 구성은 데이터 분석가로서 SQL을 활용하기 위한 전반적인 방법들을 담았습니다. 사소하게 여겨질 수 있는 데이터를 분비하는 과정부터 시작해 다양한 도메인에서 활용하는 분석 방법들 직접 데이터셋을 생성하는 방법까지 포함되어 있어, 데이터 분석을 처음 접하시는 분들이나 배워가는 분들이라면 충분히 도움이 될 만한 내용들로 차있습니다. 이 책에서 소개하는 데이터 분석 방법들은 아래와 같습니다.

  • 시계열 분석
  • 코호트 분석
  • 텍스트 분석
  • 이상 탐지
  • 실험 분석

각각의 분석 방법들은 적절한 프로파일링을 통한 결과를 확인 할 수 있도록 SQL 쿼리에 대한 설명과 결과 그래프를 포함하고 있어 따라가기 적절한 수준입니다.

다만 아쉬운 부분으로는 SQL 자체를 처음 접해보는 입장에서 환경 세팅부터, 작성된 SQL 쿼리를 어떻게 사용해야 하는지에 대한 설명이 부족하다고 느꼈습니다. SQL 자체를 처음 접하게 되는 상황에서 환경 자체를 꾸미는 과정을 생략하고 본격적인 쿼리들에 대한 설명이 쏟아지니 완전 초심자의 입장에선 첫 번째보다는 두 번째 입문서로 적절하다는 생각을 많이 하였습니다.

따라서 이 책은 SQL자체를 처음 접하게 되는 상황에서는 입문서로서 활용하기 보단 기본적인 튜토리얼을 다른 책이나 블로그, 웹페이지를 참고한 다음 실제로 사용할 때 필요한 방법론을 찾아 사용하는 것이 더 효율적이라 생각합니다. 물론 이미 SQL을 몇 번 다뤄본 적 있고, 데이터 분석 흐름을 잘 이해한 경우라면 이 책을 통해 기본기를 탄탄히 갖추고 다양한 분석 방법을 배워 나간다면 효율적인 공부가 될 것 같습니다.

흥미롭고 다양한 데이터셋과 실무 분석 기법을 활용하는 데이터분석 입문서입니다.

SQL 책이 아니라, SQL을 활용하는 것이기 때문에, SQL의 모르던 활용법들을 알 수 있는 계기가 될 수 있습니다 :)

웹사이트를 만들려면 단순 소개사이트가아니라면 거의 대부분의 사이트가 DB를 연결하여 사이트를 운영하게 된다

물론 웹사이트가 아닌 AI, S/W 프로그램 등 여러 프로그램에서도 DB를 사용한다.

DB를 사용하는 이유는  단순 데이터를 저장하는 이유가 컸지만

근 수년사이에는 단순히 데이터를 저장하는데에만 국한되어있지 않고 이 저장된 데이터를 분석하기 시작했다.

이렇게 분석을 하다보면 더 많은정보를 쌓게되는데 그러다보면 데이터양이 많이져 빅데이터가 될 수 있다.

이렇게 많은 데이터를 쌓게되면 올바른방향으로 분석을 해야하는데

이 책에서는 SQL을 이용하여 데이터를 분석하는 기법을 안내해주고 있다.

*대상독자

SQL 문법을 학습했지만 어떻게 데이터 분석에 적용할지 막막한 사람

비즈니스 데이터를 분석해 업무 관련 인사이트를 도출하려는 사람

추가적으로 SQL 문법을 공부해볼려는 초급자가 읽어도 좋을 듯 하다.

*주요내용

이 책은 틍정 DBMS에대한 설명이 아닌 일반적인 SQL문을 기준으로 설명하고 있다.

상황별 분석법이 설명되어있으며 적절한 예시와 그에따른 분석스킬을 안내하고있어 

천천히 읽다보면 자연스레 이해가될 듯 하다.

postgres, mysql, sql server , redshift 인 RDBMS에 대한 예제설명이 간간히 포함되어있지만 설정과같은 

특정부분에대해서만 설명이 되어있고, RDBMS상 지원하지않는 내장함수가 있어 자신이 사용하는 DBMS에서

직접 테스트해보면서 익히는걸 추천한다.

이 책에서 주로 설명하는 방식은  

먼저 실제 데이터셋 기반으로 맞춤 분석기법에대해 설명하여 이에 해당하는 데이터 분석을 위한 쿼리문이 예제를통해 설명하고 있다.

그리고 튜닝 및 조회하는 SQL문을 이용한 결과값을 그래프로 보여주고 있어 결과값을 한층 더 쉽게 이해할 수 있었다.

* 다루는 내용

이 책에서 다루는 내용은 아래와 같다.

트렌드 분석 - 소매업 및 외식업 매출 데이터셋 사용

2. 코호트 리텍션 분석 - 미국 의회의 과거와 현재 데이터셋 사용

3. 텍스트 분석 - UFO 목격 보고서 데이터셋 사용

4. 이상 탐지 - 미국 지질조사국 지진 발생 기록

5. 실험 분석 - 모바일 게임 사용자 데이터셋 사용

6. 퍼널 분석 - 미국 의회의 과거와 현재

 

옮깅니의 말을 보면 알수있겠지만 이 책은 단순 sql문을 익히는것 보단 

sql문을 통해 데이터를 분석하는 방법을 소개하고 있다.

물론 sql뿐만아니라 다양한 툴과 언어를 이용하여 데이터를 분석할 수 있지만,

개발자 혹은 분석자가 처음 데이터를 접하기 쉬운것은 DB형태의 데이터이므로

이책에서 안내하는 방식은 어느 데이터분석에서든 기본으로 알아두면 좋은 분석법이므로

만약 기본적인 SQL에대한 지식을 알고있다면 꼭 SQL을 이용하여 분석하는 방법을 익히는것에 초점을 잡지않더라도 

데이터 분석기법을 학습하는데 읽어보는것도 괜찮을 듯 하다.

예제소스는 아래 링크에서 받을 수 있다.

https://github.com/sql-for-data-analysis-kr/book

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

XL.jpeg

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

최근 '데이터 분석'이라는 키워드를 달고 등장하는 강의나 책에서 채택하는 언어는 대부분 Python, R을 기반으로 하고 있습니다. 인공지능, 머신러닝 기술의 부상에 힘입어 이를 함께 할 수 있는 다재다능한 두 언어가 주목받고 있지만, 실제로 데이터 분석가 공고를 살펴보면 필수 자격으로 더 많이 올라와 있는 것은 SQL입니다.


실제 현업에서는 DB에 있는 데이터를 추출하는 단계부터 쓰다보니 필수적으로 SQL을 사용하게 되는데요. 여러 SQL 강의 실습에서는 단지 SQL을 추출 용도로만 사용하기에 데이터 분석에 입문하는 분은 "SQL로 그런 것(=분석)도 할 수 있어요?"라고 되묻는 경우도 있습니다.


위 책은 이런 질문에 대한 답이 될 수 있다고 생각합니다. 사실 출간 전부터 해당 책에 대한 기대가 높았는데요. 그 기대에 맞게 좋은 책이었습니다. 굉장히 기본에 충실하면서도 다양한 데이터 분석에 도전해 볼 수 있도록 구성되어 있는데요. SQL을 활용하여 데이터 프로파일링 하는 과정에서부터 실제로 많이 활용해 볼 수 있는 코호트 분석, 실험에 대한 다양한 검정 방법등도 실려있어 책을 따라가며 시도해 볼 수 있었습니다.

 

책에 나와 있는 SQL 코드 역시 깔끔하게 작성되어 있어서 따라하기 어렵지 않았습니다. 물론 컬러였다면 조금 더 보기 편했을 것 같으나 코드 자체가 길지 않아서 보기에 불편하지는 않았습니다. (컬러로 했다면 가격이 비싸지기 때문에 좋은 선택이라고 생각됩니다.) 다만, SQL 기초 문법에 대해 세세하게 다루고 있지는 않으니 SQL을 처음 접하시는 학습자께서는 기초 문법을 다룬 다른 책을 먼저 보시고, 해당 책을 접하신다면 SQL을 사용한 데이터 분석의 길로 가는 데 문제가 없을 것으로 생각됩니다.


"한빛미디어 <나는 리뷰어다>" 활동을 위해서 책을 제공받아 작성된 서평입니다.

제목 : SQL로 시작하는 데이터 분석


리뷰 요약

데이터 분석을 처음 접하는 독자들에게 배려가 아쉽지만,

어떻게 데이터를 활용해야 하는지 길을 제시하는 서적.

어느정도 데이터 분석을 알고 있는 경우 읽는것을 추천.

 

이 서적의 핵심

 

1. 데이터 분석에 사용되는 언어들과의 차이점 제시

- 대표적으로 데이터 분석에서 사용되는 이책의 주인공인 SQL과

데이터 분석에 강점이 있는 언어들인 R과 파이썬을 비교하면서

어떤 차이점이 있는지, SQL은 어떤 것인지 등에 대해 자세하게 풀어쓰면서

독자에게 어째서 데이터 분석에 SQL을 사용해야 하는지를 설명한다.

(R이나 파이썬이 나쁘다는게 아니라 왜 데이터 분석에서 많이 쓰이는지를 설명)

 

 

2. SQL을 사용하기 위해 데이터 분석에서 사용되는

데이터 타입, 데이터 종류, SQL의 문법 등을 설명하지만

'이미 어느정도 SQL을 알고있는'

개발자정도 되는 수준에서 부터 설명

- 기초 문법부터 설명하는 여타 SQL 서적과는 다르게

이미 어느정도 SQL을 할 줄 아는 개발자를 타깃으로 한 것 같다.


DB를 좀 만져봤지만 처음 듣는 프로파일링, 히스토그램, 구간화...

'SELECT문은 어떤식으로 작성해야 하는지' 등의

내용은 들어가 있지 않으며,

프로파일링, 구간화, 피벗 등

'어떤 방법으로 쿼리문을 만들지' 부터

'어떻게 쿼리문을 만들지' 등

글쓴이는 데이터를 어떻게 요리해야 하는지,

어떻게 요리하기 전 준비를 하면서 좋은 결과를 뽑아냈는지 등을

설명한다.

 

 

3. 분석하려는 데이터셋을 어떻게 활용하고

결과물을 어떻게 비교하는지를 보여줌

쿼리와 결과, 그래프로 표현

- 데이터베이스, SQL의 쿼리문으로 출력된 결과는 오와 열로 구성된 '표' 로써 나타난다.

어떤 데이터셋을 어떻게 활용해서 어떤 결과가 나왔는지,

시계열 그래프로 표현했을 때 어떤 결과가 출력되는지 등을 보여줌으로써

독자들이 '표'를 분석하는 시간을 낭비하지 않고 '그래프'로 쉽고 간편하게 알아볼 수 있게 한다.

 

하지만 쿼리 출력결과를 시계열 그래프로 표현하는 방법이나

그런 사이트를 알려줬으면 더욱 베스트가 아니었을까 싶다.

막상 쿼리문을 짜서 데이터를 출력했지만

'이걸 어떻게 저런 그래프로 표현하지?' 라는 의문을 가질 수 있을 것 같다.

 

 

 

4. 어떤 특정 상황에서 어떤 방법을 활용해야 하는지 설명

- 6장 '이상 탐지'에서는 데이터셋에도 오류가 있을 수 있으므로 어떻게

이상한 데이터를 구별해 낼 수 있는지를 설명하고,

9장 '결론'에서는 '장바구니 분석'과 같이 특정 상황에서 어떤식으로

분석하는것이 좋을지 설명한다.

모든 상황에 대한 대처법이 있는건 아니지만

데이터 분석 시 딱 떠올릴만한, 가장 많이 사용되는

사례들로 구성되어 있어 데이터 분석이 아니더라도

개발자가 해당 기능을 만들 때

데이터를 어떻게 활용하면 좋을지 참고해도 좋을 것 같다.

 


마무리

 

다양한 분석 방법과 문제에 대한 해결책을 알려주지만 2% 부족한 느낌의 아쉬움

1장에 쓰여있는 글을 보고 조금 의아했다.

"데이터 분석 프로젝트에 참여할 때마다 담당자에게

'데이터 분석은 정해진 날에 딱 맞춰 마무리할 수 있는 일이 아니다'라고 미리 말하곤 합니다."

 

...?

이게 '전문가'가 할 말인가...?

사실 기한을 정하는건 어렵다는걸 누구든 잘 안다.

언제 끝날지, 어떻게 시작해야할지 감도 안잡히는 상황일 수도 있고,

예상치 못한 돌발변수가 발생하는 상황이 있을수도 있다.

 

하지만 대부분의 프로젝트는 '기한'이 정해서 런칭을 하기 마련인데,

전문가가 '어느 기간까지의 데이터를 분석하겠습니다.' 도 아니고

'언제 끝날지 모르니까 알아두세요.' 라고 말한다니 조금 신뢰도가 떨어졌다.

 

초보자를 위한 책이 아니기 때문에

데이터셋의 활용 방법과 데이터 분석 시 해야할 것들에 대한 내용들은 좋았다.

하지만 앞 장에서 R과 파이썬을 이야기 했기 때문에 쿼리 결과를 그래프로 그릴 땐

간단하게 두 언어를 연계해서 보여주는 방법등을 활용했으면 더 좋지 않았을까 싶다.


제목이 'SQL로 시작하는' 이었기 때문에

DB에 관련된 또는 쿼리에 관련된 고급 스킬들에 대해 이야기 하지 않을까 하는 기대가 있었지만

기술의 스킬 보다는 분석 방법과 해석(?) 방법에 조금 더 초점이 맞춰져 있는 느낌이다.


DB를 어느정도 만져 본 개발자라면 예제는 그리 어렵지 않을 것이다.

개인적으론 SQL 스킬을 배우고 싶어하는 개발자보단

통계나 분석에 관심이 있는 마케터 또는

통계나 분석을 해야 하는 개발자에게 어울리는 서적이 아닐까 싶다.


 

이번에 리뷰하게 된 책은 'SQL로 시작하는 데이터 분석'이라는 책입니다.

 

책을 처음 봤을 때에는 그래프가 있길래 그래프를 그리는 툴에 대해서도 배울 수 있는건가 라고 생각했는데 그건 아니었고 SQL을 통해서 데이터를 뽑아내는 방법에 대해서 설명하고 있는 책이었습니다. 다른 분들도 참고하셨으면 좋겠습니다.

 

데이터 시각화에 대한건 '핸즈온 데이터 시각화' (https://www.hanbit.co.kr/store/books/look.php?p_code=B1996635146) 라는 책을 통해서 더 자세하게 설명하고 있는듯하니 이 책을 읽어보는 것도 같이 추천드립니다.

 

책을 읽다보니 느낀건 이 책은 DB를 잘 다루는 개발자를 위해 만들어진 책이라기 보다는 데이터에서 인사이트를 찾아야하는 기획, 마케팅, 데이터 분석가에게 더욱 잘 어울리는 책이라는 생각이 들었다. DB를 워낙 자주 다루는 나의 경우에는 책에 있는 예제를 보고도 그다지 어려움을 느끼지 못했고, 데이터를 보고도 SQL을 짤 수 있다는 생각이 들었기 때문이다.

 

반대로 DB와 친근하지 않은 기획, 마케팅, 데이터 분석 업무를 하고 있다면 SQL에 대한 설명이 굉장히 친절한 책으로 느낄 수 있다. 데이터를 시각화 하는 부분까지 나오지 않는 것은 아쉽지만 개발자의 도움없이 SQL을 직접 작성해보고 데이터를 뽑을 수 있는 점과 해당 데이터를 시각화 해서 보여주는 것을 통해 어떤 분석이 가능한지에 대해서 설명해주고 있기 때문이다.

 

공개되어 있는 데이터를 통해 실제로 SQL을 날려 볼 수 있겠지만 데이터를 import 하는 부분에 대한 기술과 DB를 설치하는 부분은 존재하지 않기 때문에 그 부분은 조금 아쉬운 책이 아닐까 싶다.

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 


데이터 분석을 진행하면서 생각보다 중요하다고 느끼는 게 SQL이었다.

 

신입으로 데이터 분석 업무를 진행하게 된다면 가장 먼저 하게 되는 것이 무엇일까? 바로 데이터 추출 및 파악이다.

 

우리 회사의 데이터는 어떻게 적재되고 있으며, 어떤 성질과 특성이 있는지 파악을 하는 것이 가장 선행으로 이루어져야 한다. 그래야 이후 분석에도 명확한 인사이트를 도출할 수 있다.

 

데이터를 1차적으로 파악하지 못 하고 분석을 진행한다면, 해당 분석 상대적으로 효과적이지 않을 수 있다.

 

이러한 이유로 데이터 분석에서 DB 및 SQL은 굉장히 중요하다고 생각하는 포인트 중 하나이고 이러한 분야를 좀 더 기본을 다지며 새로 리마인드 한다는 생각으로 해당 책을 선정하게 되었다.

 

목차는 크게 9가지로 구성 되어 있다.

 

CHAPTER1. SQL을 활용한분석

CHAPTER2. 데이터 준비

CHAPTER3. 시계열 분석

CHAPTER4. 코호트 분석

CHAPTER5. 텍스트 분석

CHAPTER6. 이상 탐지

CHAPTER7. 실험 분석

CHAPTER8. 복잡한 데이터 셋 생성

CHAPTER9. 결론

 

본인이 중점적으로 본 챕터는 3~5, 7~9 이다. 물론 다른 챕터들도 중요하지만, 해당 챕터가 필자에게 현재 가장 필요한 부분이라 생각되어 더 꼼꼼하게 확인했다.

 

간단하게 위 언급한 챕터들을 중점적으로 후기를 작성하겠다.

 

CHAPTER3. 시계열 분석

시계열 분석 챕터에서는 데이터 타입이 DATETIME or TIMESTAMP 인 것들을 위주로 핸들링하는 방식에 대한 설명이 주를 이루었다. 실무에서도 굉장히 많이 쓰이는 함수들도 존재하며, 피해갈 수 없는 시계열 분석의 초석을 다지기 위한 안내들이 많은 챕터였다.

 

CHAPTER4. 코호트 분석

코호트 분석 챕터에서는 코호트 분석이 무엇인지 개념부터 설명을 해주었다. 필자는 코호트 분석이라는 타이틀을 달고 분석을 직접적으로 진행해본 적은 없었으나, 책을 읽으며 여태까지 내가 했던 업무들 중 많은 부분은 코호트 분석이었구나...라고 깨닫게 해주는 부분도 많았다. 코호트 분석에서는 리텐션을 중점적으로 데이터를 관찰하고 분석하는 부분들이 많았다.

 

CHAPTER5. 텍스트 분석

텍스트 분석 챕터를 들어서면서 필자는 조금 의심스러웠다. 어떻게 SQL로 텍스트 분석이 가능하지? 라는 의심을 가지며 책을 읽어나갔다. 물론, NLP의 다양한 기법들이 소개되는 부분은 아니었지만 생각보다 꼭 필요한 부분들의 소개가 많았다. 다들 아시겠지만, SQL 은 데이터 추출 과정에서 굉장히 많이 쓰이는 부분이다. 그렇다 보니 텍스트 분석에서의 전처리 과정은 거의 대부분 SQL로 가능하지만, 대부분의 신입(?)분들은 Python이나 R 코드 상에서 처리하고자 한다.  SQL을 잘하는 것의 가장 큰 장점은 데이터 추출 및 전처리 과정이 굉장히 빠르게 진행할 수 있다는 점이다. 이러한 장점을 명확히 보여주는 챕터였다고 생각된다.

 

CHAPTER6. 이상 탐지

이상 탐지 챕터에서는 주로 아웃라이어나 데이터의 이상치들을 위주로 설명해주었다. 아예 특정 범위를 벗어나는 값과 데이터 타입에 맞지 않는 데이터가 존재하거나, null 등 다양한 케이스의 이상치를 설명해주었다. 추가로 루트, 제곱 등 리스케일링을 하는 방식에 대한 설명도 존재했다.

 

CHAPTER7. 실험 분석

실험 분석의 카이제곱 및 t 검정이 있길래 설마 SQL에도 해당 검정들을 진행하는 함수가 있을까? 라는 마음에 설레는 마음으로 챕터를 읽기 시작했다. 당연히 본인이 Function을 따로 설정하면 가능하지만 기본적으로 제공하는 함수가 존재하지는 않아 조금은 실망하긴 했다. 하지만, 당연히 이러한 기능들이 대부분 존재한다면 왜 파이썬과 다른 분석 언어 및 툴 들이 존재하겠는가..라는 생각이 들며 수긍하였다. 그렇게 기본적인 이론을 알고 있다면 두 집단의 평균과 분산 등을 구하며 직접 검증을 진행할 수 있고 이러한 일련의 과정을 설명해주는 챕터였다.

 

현재 이직한 회사에서는 POSTGRESQL을 사용하며 해당 책 또한 동일한 DB로 예제가 구성되어 있어 굉장히 이해가 빠르게 되었다.

 

모든 데이터 분석을 준비하는 취준생 또는 신입 분들에게 꼭 전하고 싶은 말이 있다.

 

'SQL을 등한시 하지 말아라.'

 

이런 말을 전하고 싶다. SQL은 데이터 분석가에게 있어서 기초이자 꼭 필요한 언어이며 SQL을 잘한다면 그 이상의 가치를 가질 수 있다고 말하고 싶다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
SQL로 시작하는 데이터 분석
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
SQL로 시작하는 데이터 분석
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
SQL로 시작하는 데이터 분석
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실