Data/독서

[리뷰] SQL로 시작하는 데이터 분석 (+실습 후기)

뚱요 2022. 9. 13. 16:00
반응형

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

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

한빛미디어 O'Reilly 미디어 시리즈의 SQL로 시작하는 데이터 분석(SQL for Data Analysis)실제로 읽고 실습까지 하고 서평 작성했습니다.

개인적으로 오라일리 시리즈를 좋아합니다.

 

SQL로 시작하는 데이터 분석 표지의 녹색까치

출판사: 한빛미디어
저자: 캐시 타니무라
분량: 436페이지
발행일 2022년 8월 10일
정가 30,000원

🦜난이도

서점에 가면 많은 SQL 문법에 대한 책으로 완전 기초이거나 고급 책이 많습니다. 하지만 이 책은 SQL에 중점을 두기보다는 SQL을 활용한 데이터 분석에 대해서 다루고 있습니다. SQL과 데이터 분석을 동시에 어느 정도 깊이 있게 다루는 책을 많이 보지 못해서 읽어보고 싶었습니다. 책 표지의 "실무에서 필요한 분석 기법 총 정리! 실제 데이터셋으로 배우는 시계열, 코호트, 텍스트 분석"이라는 문구가 이 책을 가장 잘 요약했다고 느꼈습니다.
그래서 SQL을 어느 정도 사용하는 독자분석 경험은 있지만 SQL로 한 경험이 없거나 둘 다 없는 경우 참고하기 좋은 도서입니다. SQL을 활용해서 데이터 기반으로 인사이트를 도출하도록 SQL을 활용해야 하는 전략 기획자, 마켓터부터 데이터 분석 취업/이직 희망자들에게 특히 유용할 거라고 생각합니다.
제 경우에는 위에 다루는 분석들을 Python으로 해보았지만 SQL로는 해본 적이 없고 필요성을 느껴서 읽은 케이스입니다. 또, 실무에서 복잡한 쿼리를 작성해야 할 상황이 생겨서 추후에 이 책을 기반으로 연습할 예정입니다.

🦜구성

분석 챕터에서는 분석에 대해서 학습하고 주어진 데이터 셋에서 쿼리를 통해 도출된 결과를 보여주며 진행됩니다.

챕터 1 왜 SQL을 활용한 분석을 해야 하는지와 데이터 베이스 관해서
챕터 2 데이터 타입, 데이터 분석 과정, 전처리
챕터 3 ~ 7 시계열 분석, 코호트 분석, 텍스트 분석, 이상 탐지, 실험 분석 등의 실무적인 분석
챕터 8 분석 외에도 복잡한 데이터셋 생성, 코드 구성, 실행 순서, 데이터 분석가가 알아야 할 윤리와 프라이버시 문제를 다루는데 데이터 관련 업종에 일 하신다면 이 부분이 매우 중요함을 알 수 있습니다.
챕터 9 퍼널 분석, 이탈 휴면 정의, 장바구니 분석 소개와 쿼리, 참고자료로 마무리

다른 분들이 왜 시각화 한 쿼리 안 보여주냐고 하셨는데 시각화는 BI 툴, 스프레드 시트, 프로그래밍 언어로 한 것이기 때문에 해당 책 주제에 벗어나서 다루지 않는다고 보입니다.

시각화에 관심 있다면 핸즈온 데이터 시각화, 데이터로 전문가처럼 말하기 추천드립니다.

🦜 Why SQL(Structured Query Language)?

그렇다면 요즘 많이 사용하는 범용적인 Python이나 분석가들이 많이 사용하는 통계 언어인 R, SAS 가 아니라 왜 SQL일까요?
먼저 , SQL은 개발은 할 수 없지만 데이터베이스를 다루기 위해 필요한 언어입니다. 어떠한 조직이든 데이터를 데이터베이스에 저장하게 되며 이 데이터를 불러와서 인터렉션 하기 위해서 SQL이 표준입니다. 저자의 말에 추가를 하자면 데이터는 기본적으로 SQL형태 인터페이스 기반의 데이터 베이스에 저장되어 왔습니다. 오랜 시간 많은 사람들이 사용해 온 데에 이유가 있습니다. 그래서 어느 회사 든 데이터 베이스가 있기에 다른 프로그래밍 언어는 몰라도 SQL 은 직접 필요한 데이터를 추출하고 변형해야 하기 때문에 필수적입니다.
그럼에도 복잡한 고급 기법이나 시각화를 하려면 프로그래밍 언어가 적합하지만 직접 필요한 데이터를 추출하기 위해서는 SQL이 필요합니다.
그리고 다른 프로그래밍 언어로 DB 연동해서 데이터 추출하더라도 SQL 쿼리와 비슷한 문법으로 작성되어 있는 경우가 많습니다.

[서평] SQL로 시작하는 데이터 분석 실습 후기

pgadmin에서는 정말 간단한 시각화만 가능(그래프 타입, x, y축만 가능)해서 오른쪽과 같이 디비에 연동해서 파이썬으로 책의 예시처럼 그려보았습니다.

SQL로 시작하는 데이터 분석

저자는 그렇다고 SQL이 만병통치약이 아니라고 초반과 6장에 언급합니다. 이 부분에 동의하며 각 비즈니스나 서비스 특성에 맞춰 선택해야 합니다.(예. ElasticSearch, Python.. etc)

🦜 특징

그렇다면 이 책이 특별한 이유는 무엇일까요?

1. 다양한 분석 훑기

이 방법론들은 실무에서 많이 사용하는 활용도가 높은 다양한 분석으로 쿼리와 분석한 결과를 해석하는 법도 담고 있습니다. 다양한 독자들을 고려하고 작성하기 때문에 각 분석을 이해하기 쉽게 접해보는 데에 초점이 맞춰져 있다고 느꼈습니다.
, 이전 장에 나온 분석들이 이후에 유기적으로 연결되어 나와서 좋았습니다. 예로 6장 이상 탐지는 2장 데이터 준비, 3장 시계열 분석, 5장 텍스트 분석에서 다룬 것을 활용해서 더 재미있었습니다.
그리고 책에서 소개한 다양한 분석은 SQL 뿐 만 아니라 다른 프로그래밍 언어로도 가능합니다. 개인적으로 SQL에서도 실험 분석이 가능하다는 사실에 놀라웠습니다.

 

2. 실제 데이터를 기반으로 쿼리를 돌려보기

하나 데이터 빼고는 모두 실제 데이터로 깃허브로 제공하고 있습니다. 이 데이터를 다운로드하여서 디비에 넣어서 실제로 쿼리를 돌려 볼 수 있습니다. 특히 데이터들이 다양한 형태로 되어있어 각각 어떻게 처리해야 하는지에 대해서 다루어서 좋습니다.
하지만 이 책은 설치, 데이터 임포트, 기본적인 쿼리에 대해서 다루지 않고 바로 쿼리 실습으로 넘어가기 때문에 완전 입문자는 설치, 설정부터 데이터를 넣는 데까지가 큰 고비일 거라고 생각되었습니다. 책 제목에서도 SQL을 활용해서 데이터 분석하는 것이기 때문에 먼저 공부하고 참고해보셔야 할 거 같습니다. SQLD 취득하신 정도라면 문제없을 정도입니다.

3. 엄청난 양의 실습

데이터 분석에서 원하는 형태로 데이터 조회와 가공을 위한 쿼리가 중요한데 여기에서 엄청난 양의 실습을 하면서 익힐 수 있습니다. 또한 한 가지를 다양한 방식으로 비교해서 보여주기도 합니다 (예. 문자열로 작성하거나 지원하는 함수로 작성하거나)
해당 도서는 PostgreSQL를 기준으로 작성되었지만 쿼리가 크게 차이 나지 않기 때문에 따라 해 보기도 좋습니다. 초반에는 각 분석 별로 중점적으로 다루는 부분에 대해서 워밍업 하고 나서 본격적으로 분석으로 들어가서 여러 가지 보면서 결과를 해석합니다.
데이터 분석에서 사전과제나 코딩 테스트에서 SQL을 하는 경우가 있으며 실제 현업에서 사용하는 쿼리와 유사하게 구현해 보라고 하는 경우가 있습니다. 책으로 분석 로직, 쿼리도 이해하면서 다양한 쿼리의 사용법을 익히는 게 큰 도움이 될 것입니다.

SQL로 시작하는 데이터 분석 실습

점점 쿼리가 길어집니다..ㅎㅎ

코드 양이 많기 때문에 한빛 미디어에서 실습 예제 소스와 데이터를 같이 깃허브에서 제공하고 있어 빠르게 돌려 볼 수도 있습니다. 이 점은 너무 감사드립니다. :)

한빛미디어 SQL로 시작하는 위한 데이터 분석 깃허브

 

GitHub - sql-for-data-analysis-kr/book

Contribute to sql-for-data-analysis-kr/book development by creating an account on GitHub.

github.com

 

4. 가장 중요한 데이터 분석에서의 인사이트

저자는 20년간 금융분야부터 B2B 소프트웨어, 소비자 서비스에 이르는 다양한 산업 분야에서 데이터를 분석을 한 경험이 있고 SQL을 적용하며 겪은 시행착오를 이 책으로 녹여냈습니다.
저자는 분석으로 데이터를 이해하는 것도 프로그래밍 역량도 중요하지만 분석으로 이끌어낸 결과를 잘 활용하는 일도 매우 중요하다고 합니다. 분석을 잘 이끌어 활용하려면 도메인 지식과 분석가의 역량, 경험이 중요합니다. 이 책을 통해서 거인의 어깨에서 조금이나 마나 더 멀리 내다볼 수 있게 됩니다.
그리고 데이터 분석에서 나온 인사이트와 함께 중간중간에 일화와 sql 팁도 제공하고 있습니다.

SQL로 시작하는 데이터 분석

5. 저자의 현장 경험에서의 인사이트

가장 흥미 있던 부분이기도 한데 데이터 분석하면서 개인적 경험을 얘기하면서 짚어주며 교훈을 줍니다.
한 일화로 프로덕트 매니저가 한 주말에 판매량이 현저히 떨어졌으니 이유를 찾아달라고 요청해서 수시간 본 결과 표준시간대가 태평양 시간으로 저장되어 일광 정약 시간제가 적용되어 1시간 앞당겨져 23시간만 집계되었다는 것입니다. 이 일화를 통해서 표준 시간대에 대한 이해를 강조했습니다.

SQL로 시작하는 데이터 분석

🦜 느낀 점

1. 실용적인 쿼리를 다뤄보아서 좋았고 이론 적용하여 실습을 하니 소화하는 데에 꽤 오랜 시간이 걸립니다. 단순히 쿼리로 원하는 형태로 만들어 보라면 빠르겠지만 분석이기 때문에 도메인 지식에서 나오는 인사이트를 내어야 하기 때문에 시간이 필요합니다.
2. 특히 SQL은 알지만 데이터 분석을 시작하고 싶은 사람들이나 데이터 분석을 했지만 SQL로 한 경험이 없는 사람에게 적합하다고 생각합니다. 완전 SQL이 처음이라면 먼저 SQL과 관계형 데이터 베이스에 대해서 공부하고 입문해 보는 것을 추천합니다. 왜냐하면 여기에서는 설치와 같은 사항을 다루지 않고 넘어갑니다.
3. SQLD에서 공부했던 것을 실제 데이터로 활용해 볼 수 있어서 좋았습니다.
4. 이 책에 흥미가 생기고 SQL로 하는 분석을 좀 더하고 싶다면 한빛 미디어 "데이터 분석을 위한 SQL 레시피:데이터 처리부터 매출/유저 파악 리포팅 등 각종 데이터 분석과 활용까지" 도 같이 보는 것을 추천드립니다.

tl;dr(too long don’t read 혹은 too lazy don’t read) 지키려고 최대한 요약해보려 했는데 힘들네요 ㅎㅎ

이 글은 한빛미디어에서 도서를 제공받아 작성한 서평입니다
반응형