구글 빅쿼리 완벽 가이드 (빅데이터, AI, 머신러닝 엔지니어를 위한 대용량 데이터 분석 도구)

구글 빅쿼리 완벽 가이드 (빅데이터, AI, 머신러닝 엔지니어를 위한 대용량 데이터 분석 도구)

$36.58
Description
빅데이터, 데이터 엔지니어링, 머신러닝을 위한 대용량 데이터 분석과 처리의 모든 것
협업과 신속함을 갖춘 작업 공간을 구축하는 동시에 페타바이트 규모의 데이터셋을 처리해보자. 이 책은 기업 전체에서 추출한 데이터를 통합하고 대화형 데이터 분석과 대규모 데이터셋 기반의 머신러닝을 가능케 하는 쿼리 엔진을 제공하는 구글 빅쿼리에 대한 완벽 가이드다. 기업은 빅쿼리를 사용해 하나의 편리한 프레임워크로 데이터를 효율적으로 저장, 쿼리, 수집, 학습할 수 있다.

이 책의 저자 발리아파 락쉬마난과 조던 티가니는 공개 클라우드 상에서 자동으로 확장되는 서버리스 아키텍처에 기반한 최신 데이터 웨어하우징을 위한 모범 사례를 제시하고 있다. 이제 막 빅쿼리를 시작하면서 전반적인 기능을 훑어보고자 하는 독자는 물론 빅쿼리를 이용해 특정 업무를 해결하고자 하는 독자에게도 완벽한 가이드가 되어 줄 것이다.
선정 및 수상내역
2021년 세종도서 학술부문
저자

발리아파락쉬마난.조던티가니지음,변성윤외

Valliappa(Lak)Lakshmanan
구글클라우드의데이터분석및AI솔루션부문의글로벌책임자다.빅쿼리를비롯한구글클라우드데이터분석및머신러닝제품을사용한비즈니스문제에대한소프트웨어솔루션을구축하는팀을이끌고있다.『구글클라우드플랫폼상의데이터과학』(에이콘출판,2019)을집필했다.

목차

[1장]구글빅쿼리
데이터처리아키텍처
__관계형데이터베이스관리시스템
__맵리듀스프레임워크
__빅쿼리:서버리스,분산SQL엔진
빅쿼리로작업하기
__여러데이터셋에서통찰력도출하기
__ETL,EL,ELT
__강력한분석
__관리의단순함
빅쿼리는어떻게만들어졌는가
빅쿼리는어떻게구현할수있었을까
__컴퓨팅및스토리지분리
__스토리지및네트워킹인프라
__관리형저장소
__구글클라우드플랫폼과통합
__보안및규정준수
정리

[2장]쿼리필수요소
간단한쿼리
__SELECT로행검색하기
__AS로컬럼이름에별칭지정하기
__WHERE로필터링하기
__SELECT*,EXCEPT,REPLACE
__WITH를사용한서브쿼리
__ORDERBY로정렬하기
집계
__GROUPBY로집계하기
__COUNT로레코드수세기
__HAVING으로그룹화된항목필터링하기
__DISTINCT로고윳값찾기
배열과구조체기초
__ARRAY_AGG로배열만들기
__구조체의배열
__튜플
__배열활용하기
__배열풀기
테이블조인
__조인의작동원리
__이너조인
__크로스조인
__아우터조인
저장및공유
__쿼리기록및캐싱
__저장된쿼리
__뷰와공유쿼리의비교
정리

[3장]데이터타입,함수,연산자
숫자형과함수
__수학함수
__표준규격부동소수점분할
__SAFE함수
__비교
__NUMERIC을사용한정밀소수계산
불(BOOL)다루기
__논리연산
__조건식
__COALESCE로NULL값을깨끗하게처리하기
__타입변환과타입강제
__불리언변환을피하기위해COUNTIF사용하기
문자열함수
__국제화
__출력및파싱
__문자열조작함수
__변환함수
__정규표현식
__문자열함수정리
타임스탬프다루기
__타임스탬프값의파싱과형식화
__달력정보추출하기
__타임스탬프연산하기
__Date,Time그리고DateTime
GIS함수사용하기
정리

[4장]빅쿼리로데이터로드하기
가장기본적인방법
__로컬에서데이터로드하기
__스키마지정하기
__새테이블에복사하기
__데이터관리(DDL과DML)
__데이터를효율적으로로드하기
통합쿼리와외부데이터원본
__통합쿼리사용하기
__통합쿼리와외부데이터원본의사용사례
__대화형탐색과구글시트데이터의쿼리
__클라우드빅테이블의데이터에대한SQL쿼리
전송과내보내기
__데이터전송서비스
__스택드라이버로그내보내기
__클라우드데이터플로우로빅쿼리데이터읽고쓰기
온프레미스데이터의이동
__데이터마이그레이션방법
정리

[5장]빅쿼리를활용한개발
프로그래밍방식을활용한개발
__RESTAPI활용하기
__구글클라우드클라이언트라이브러리
데이터과학도구에서빅쿼리사용하기
__구글클라우드플랫폼의노트북
__빅쿼리,판다스,그리고주피터의결합
__R에서빅쿼리다루기
__클라우드데이터플로우
__JDBC/ODBC드라이버
__빅쿼리데이터를G스위트의구글슬라이드에포함하기
빅쿼리와배시스크립팅
__데이터셋과테이블생성
__쿼리의실행
__빅쿼리객체
정리

[6장]빅쿼리아키텍처
아키텍처살펴보기
__쿼리요청의수명
__빅쿼리업그레이드
쿼리엔진(드레멜)
__드레멜아키텍처
__쿼리실행
스토리지
__스토리지데이터
__메타데이터
정리

[7장]성능및비용최적화
성능최적화의기본원칙
__성능의핵심요소
__비용통제하기
측정과문제해결
__RESTAPI로쿼리속도측정하기
__빅쿼리워크로드테스터로쿼리속도측정하기
__스택드라이버를사용해워크로드문제해결하기
__쿼리실행계획정보읽기
__작업세부정보에서쿼리계획정보가져오기
__쿼리계획정보시각화
쿼리속도높이기
__I/O최소화
__이전쿼리결과캐싱하기
__효율적으로조인하기
__워커의과도한작업피하기
__근사집계함수사용하기
데이터저장및접근방법최적화
__네트워크오버헤드최소화하기
__효율적인저장포맷선택하기
__스캔크기를줄이기위해테이블파티셔닝하기
__높은카디널리티키에기반한클러스터링테이블
__시간에구애받지않는사용사례
정리
__체크리스트

[8장]고급쿼리
재사용가능한쿼리
__파라미터화된쿼리
__SQL사용자정의함수
__쿼리일부재사용하기
고급SQL
__배열다루기
__윈도우함수
__테이블메타데이터
__데이터정의언어와데이터조작언어
SQL이상의기능
__자바스크립트사용자정의함수
__스크립팅
고급함수
__빅쿼리지리정보시스템
__유용한통계함수들
__해시알고리즘
정리

[9장]빅쿼리머신러닝
머신러닝이란
__머신러닝문제공식화하기
__머신러닝문제의유형
회귀모델생성하기
__레이블선택하기
__피처를찾기위한데이터셋탐색
__학습데이터셋생성하기
__모델학습및평가
__모델로예측하기
__모델가중치검사하기
__더복잡한회귀모델
분류모델생성하기
__학습
__평가
__예측
__임계값고르기
빅쿼리ML커스텀하기
__데이터분할제어하기
__클래스균형맞추기
__정규화
k평균클러스터링
__어떤것을클러스터링할까
__자전거대여소클러스터링하기
__클러스터링수행하기
__클러스터이해하기
__데이터기반의사결정
추천시스템
__무비렌즈데이터셋
__행렬분해
__추천만들기
__사용자와영화정보통합하기
GCP의커스텀머신러닝모델
__하이퍼파라미터튜닝
__AutoML
__텐서플로우지원
정리

[10장]빅쿼리관리및보안
인프라스트럭처보안
계정및접근관리
__계정
__역할
__리소스
빅쿼리관리
__작업관리
__사용자에게권한부여
__삭제된레코드와테이블의복구
__지속적통합/지속적배포
__대시보드와모니터링,그리고감사로깅
가용성과재해복구,암호화
__존과리전그리고멀티리전
__빅쿼리와장애처리
__내구성과백업그리고재해복구
__개인정보보호와암호화
규제의준수
__데이터지역성
__데이터의서비스에대한접근제한
__개인과관련된모든트랜잭션제거하기
__데이터유실방지
__CMEK
__데이터유출보호
정리

[한국어판특별부록]클라우드컴포저와빅쿼리로ELT파이프라인만들기
ELT파이프라인의큰그림
클라우드컴포저란
클라우드컴포저생성및환경설정
클라우드컴포저웹서버UI
DAG만들기
ELT파이프라인만들기

출판사 서평

|이책에서다루는내용|

■빅쿼리의고수준아키텍처는물론내부동작까지상세한가이드
■빅쿼리가지원하는데이터타입,함수,연산자에대한설명
■쿼리및스키마최적화를통해성능을향상시키거나비용을절감하는비법
■GIS,시간여행,DDL/DML,사용자정의함수,표준SQL내의스크립팅등고급기술학습
■빅쿼리ML로다양한머신러닝문제를해결하는방법
■데이터를보호하고작업을모니터링하며사용자를인증하는방법
■스크립팅,예약,구체화된뷰,컬럼수준보안,동적SQL,머신러닝,테이블수준접근제어,통합쿼리등최신기술업데이트

|예제코드다운로드|
https://github.com/onlybooks/bigquery

[이책의내용과독자대상]

기업은점점데이터기반으로움직이고,회사의모든데이터를통합한중앙저장소인데이터웨어하우스가데이터전략의핵심으로떠오른다.전통적으로데이터웨어하우스는데이터분석가가분석보고서를작성할때사용했다.그러나이제는실시간대시보드를생성하거나애드혹쿼리를작성할때,그리고예측분석을통해의사결정지침을제공할때많이사용하고있다.오늘날많은조직이구글빅쿼리같은클라우드기반데이터웨어하우스로이전하는주된이유는고급분석에대한비즈니스요구와더불어비용관리,민첩성,자체서비스의데이터접근등때문이다.
이책에서는서버리스(serverless)이자확장성이뛰어난저비용엔터프라이즈데이터웨어하우스인구글클라우드의빅쿼리에대해자세히다룬다.인프라스트럭처를관리할필요가없으므로,기업은익숙한SQL을사용해의미있는통찰력을찾는데이터분석에집중할수있다.

우리가빅쿼리를통해이루고자했던목적은최첨단기능을제공하고클라우드환경에서사용할수있는우수한기술을십분활용하며오늘날에도믿고활용할수있는검증된데이터기술을지원하는데이터플랫폼의구축이다.예컨대첨단기술의측면에서,구글빅쿼리는연산과스토리지를분리하는서버리스컴퓨팅아키텍처다.덕분에아키텍처의다양한계층을독립적으로실행하고확장할수있으며,디자인과배포면에서데이터과학자에게더욱높은유연성을제공할수있다.조금독특하지만빅쿼리는머신러닝과지리공간분석도네이티브로지원한다.또한빅쿼리는클라우드펍/섭,클라우드데이터플로우,클라우드빅테이블,클라우드AI플랫폼을비롯한다양한서드파티도구와통합할수있다.이를바탕으로광범위한수준의처리량과응답대기요구사항을충족하면서도오래된시스템과현대적시스템모두와상호운용이가능하다.검증된데이터기술측면에서빅쿼리는많은사용자가요구해온애드혹데이터탐색의핵심인ANSI표준SQL,컬럼기반최적화,통합쿼리등을지원한다.

대규모데이터셋에서인사이트를도출하기위해빅쿼리를사용하는데이터분석가,데이터엔지니어,데이터과학자를위한책이다.

◆데이터분석가
루커(Looker),데이터스튜디오(DataStudio),태블로(Tableau)같은대시보드도구나SQL를활용해빅쿼리를사용할수있다.

◆데이터엔지니어
아파치스파크(ApacheSpark)와아파치빔(ApacheBeam)등의프레임워크를이용해파이썬이나자바로작성한데이터파이프라인을빅쿼리와통합할수있다.

◆데이터과학자
데이터과학자는빅쿼리에서머신러닝모델을구축하고빅쿼리에저장된데이터를기반으로텐서플로(Tensorflow)모델을실행하며주피터노트북(JupyterNotebook)으로빅쿼리에서대용량분산작업을실행할수있다.

[옮긴이의글]
데이터사이언스,AI등데이터와관련된산업은빠르게성장하고있습니다.특히최근몇년간머신러닝/딥러닝분야는상상을초월하는크나큰발전이있었습니다.뿐만아니라데이터처리분야도빠르게발전하고있습니다.대표적으로아파치하둡,아파치스파크등이있고,많은양의데이터를빠르게처리하는방법에대해고민합니다.이런움직임가운데에서구글은2011년에드레멜(Dremel)엔진을사용한빅쿼리(BigQuery)를출시해데이터처리분야의혁신을이루고있습니다.

빅쿼리는다양한장점이있습니다.그중대표적인장점을꼽자면다음과같습니다.

■인프라를구글이관리하기때문에,사용자입장에서인프라를관리할필요가없습니다.
■내부적으로분산처리를사용해데이터를빠르게추출및가공할수있습니다.
■지리데이터분석을위한GIS함수,머신러닝을위한빅쿼리ML등을사용할수있습니다.
■파이어베이스(Firebase)를사용할경우,앱로그데이터를쉽게획득할수있습니다.

이책『구글빅쿼리완벽가이드』는구글클라우드플랫폼의데이터웨어하우스인빅쿼리에대한모든것을담은책입니다.빅쿼리는대용량데이터를빠르게처리할수있도록설계되었으며,SQL로데이터를추출할수있기때문에특정프로그래밍언어(예를들어스칼라,파이썬등)를사용하는아파치스파크등에비해배우기가수월합니다.또한데이터인프라를별도로관리할필요가없기때문에,사용자는인프라관리에신경쓰지않고빅쿼리에서데이터를추출하는업무에집중할수있습니다.이미많은데이터처리도구가나와있지만,이와같은이유로최근들어빅쿼리는가장큰각광을받고있습니다.
오늘날에는데이터분석가가아니어도기획자,마케터등다양한직군에서SQL을공부합니다.SQL은데이터를추출하기위해사용하는언어로,SQL에익숙하면회사에저장되어있는데이터를쉽고빠르게추출할수있습니다.직군을막론하고커리어에서SQL을다룰수있으면매우큰장점이될수있으므로,조금씩꾸준히공부하시면좋을것입니다.
저또한빅쿼리를4년넘게사용하고있습니다.빅쿼리를사용하는지난4년여간많은분이쉽게빅쿼리를사용할수있도록여러자료를만들어왔습니다.여러자료를만들던중,이책의원서인『GoogleBigQuery:TheDefinitiveGuide』를처음접했을때의기분을잊을수없습니다.이책은빅쿼리에관련한책중가장자세한내용을담고있으며,데이터분석가또는데이터엔지니어모두가읽으면좋은내용이설명되어있습니다.국내독자여러분을위해,원서에좀더내용을추가해서다음과같은내용을한국어판에서더보실수있습니다.

1.한국어판특별부록
책을모두번역하고나니실제로파이프라인을어떻게만드는지에대한내용이있으면좋을것같아,한국어판특별부록으로‘클라우드컴포저와빅쿼리를사용한ELT파이프라인만들기’라는글을기고했습니다.이부록에서는아파치에어플로우(ApacheAirflow)의매니지드서비스인클라우드컴포저CloudComposer사용방법을안내하며빅쿼리를사용한ELT파이프라인을만드는내용을배우실수있습니다.

2.이책의소스코드
원서의깃허브를확인해본결과,각장별로모든쿼리가각기하나의파일에저장되어있었습니다.이부분은책을공부하시는분들의편의성을낮출수있다고생각해,각예제별로모든쿼리를나눠정리하고저장했습니다.한국어판에담긴예제별소스코드는책만출판사의깃허브(https://github.com/onlybooks/bigquery)에서확인하고내려받으실수있습니다.혹시책을구입하고학습하시는중이해가잘안되는내용이있으시면이책의공식깃허브이슈트래커(https://github.com/onlybooks/bigquery/issues)에바로등록하시거나,제깃허브계정(zzsza)을태그하고질문해주시면최대한빠르게답변드리겠습니다.
-변성윤

구글빅쿼리는대용량데이터의저장및분석에뛰어난성능을발휘하는클라우드기반서비스입니다.
대용량데이터나빅데이터같은용어는이미오래전부터우리주변을맴돌았지만이를제대로저장하고활용할수있는인프라스트럭처나애플리케이션을구현하기란쉽지않은일이었죠.대용량데이터를자체적으로처리하기위해서는많은전문지식과비용그리고이를제대로구축할수있는경험있는개발자와지탱할수있는인프라스트럭처가필요했지만모든기업이이런조건을갖출수는없었기에더욱어려웠는지도모릅니다.
하지만클라우드기술과서비스가발전하면서이제는매우저렴한비용으로기반인프라스트럭처나확장성,성능에대한걱정없이누구나쉽고빠르게사용할수있는기술들이등장하기시작했고구글빅쿼리는바로이런가치를제공하는서비스중하나입니다.특히기존의ANSISQL과호환되는쿼리언어를지원한다는것도큰장점이라고할수있습니다.
타빅데이터플랫폼대비구글빅쿼리의장점은크게2가지로정리할수있습니다.

1.쉬운사용성
아파치스파크나하둡등기존의빅데이터플랫폼과달리빅쿼리는ANSISQL과호환되는쿼리언어를지원하므로대용량데이터처리를아직경험하지못한개발자라도RDBMS사용경험이있다면금세활용할수있을정도로쉽습니다.물론데이터가분산되어있다는점과이를효율적으로활용하기위한분산쿼리를작성하는경험을쌓아야하지만완전히생소한언어를배우거나로직을구현해야하는것에비하면장족의발전이아닐수없습니다.

2.클라우드인프라스트럭처
여타의클라우드서비스가그렇듯빅쿼리도클라우드기반서비스이므로사용자가직접인프라스트럭처를운영할필요가없습니다.따라서비싼운영비에대한부담도줄어들죠.빅쿼리의비용정책은상당히효율적이어서사용자가빅쿼리의특징을충분히이해하고주의를기울인다면훨씬저렴한비용으로훨씬빠른시간내에원하는결과를얻어낼수있습니다.

이책은이와같은빅쿼리의탄생부터아키텍처,그리고활용에이르기까지개발자가필요한지식을재미있으면서도실용적인예제와함께설명하고있습니다.구글에서클라우드데이터분석과머신러닝제품개발에오랜동안빅쿼리를활용해온저자진의경험과노하우는이책을읽는독자에게큰도움이될것입니다.서비스에새로운기능이빠르게추가되는클라우드서비스를다루는책이다보니,이책도출간후7개월만에업데이트가있었고,다행히도저자의협조를받아해당내용을모두반영해출간할수있었습니다.이번역서는최신업데이트를포함해공역자이신변성윤님이추가로저술한부록까지포함하고있으니가장최신버전의빅쿼리에대해즐겁게학습하실수있으리라믿습니다.

좋은책과더불어한국어판독자를위해특별히서문까지보내준저자발리아파락쉬마난과조던티가니에게고마운마음을전합니다.끝으로어려운시기에도개인의역량강화와대한민국소프트웨어산업의발전을위해늘노력하는독자여러분을응원합니다.고맙습니다.
-장현희