brunch

You can make anything
by writing

C.S.Lewis

마케터를 위한 빅쿼리 입문 제 1편

그로스마케팅 파트너, 허들러스

많은 마케터들을 위해서 구글 애널리틱스와 구글 빅쿼리의 연동 방법이 최근에 공개되었습니다. GA의 전체 이벤트 히트 단위 수준의 데이터들에 대한 직접 소유권을 제공하는 것 외에도, GA를 BQ(BigQuery)에 연결하면 분석, 모델링 및 우리 온라인 플랫폼의 데이터 분석을 위한 수많은 방법론을 제공합니다.


이번 글에서는 빅쿼리에서 데이터 분석을 시작하는 데 필요한 기본 개념을 자세히 다루어 보겠습니다. 기본적으로 이번 글은 GA4, GA360과 빅쿼리의 통합을 다룰 것이기 때문에, GA4와 GA360의 차이가 있을 때마다 그 차이점을 언급해드리겠습니다.



1. 빅쿼리 기본 상식


빅쿼리를 한 마디로 정의하자면, 구글 클라우드 플랫폼(GCP) 내에 있는 총체적인 데이터 웨어하우스입니다. 대량의 데이터를 저장하는 데 사용되는 것 외에도 빅쿼리는 데이터 웨어하우스와 데이터 레이크를 모두 지원하고 대규모로 뛰어난 성능을 제공하도록 설계되었습니다.


데이터 분석가의 입장에서, 이는 구조화된 데이터와 구조화되지 않은 데이터를 모두 쿼리(원하는 대로 불러올 수)할 수 있고 몇 초 안에 수십억 개의 행을 쿼리 할 수 있기 때문에 보다 효율적으로 작업할 수 있음을 의미합니다.



2. 빅쿼리의 구조


구조적으로 빅쿼리에는 프로젝트, 데이터 세트, 테이블, 뷰의 3단계의 수준으로 나뉩니다. GCP 전체에서 발생하는 모든 작업 사항들은 최상위 단계에 있는 단위로 생각할 수 있는 프로젝트에 속해야 합니다.


또, 최상위 수준인 프로젝트 내에서 데이터를 보관할 데이터 세트가 하나 이상 필요합니다. 가장 낮은 수준에 위치한 단계에는 테이블과 뷰가 있습니다. 테이블은 일련의 행과 열로 이루어진 데이터를 저장하는 것이고, 뷰는 SQL 쿼리문을 실행시켰을 때에 나타나는 가상의 테이블을 의미합니다. 여러분이 데이터를 분석하기 위해서는 테이블 또는 뷰(또는 같이)에 쿼리문을 넣어야 합니다. GA와 빅쿼리의 연동이 이루어지면, 새로운 데이터 세트와 두 개의 테이블이 여러분의 GCP 프로젝트에 생성됩니다.




빅쿼리에서 내리는 모든 명령을 ‘job’이라고 부르며 데이터 로드, 복사, 쿼리 및 추출의 네 가지 유형이 있습니다. 아래에서 각 작업 유형에 대해 알아보겠습니다.



3. 권한


빅쿼리에서 어떤 작업을 수행하기 위해서는 여러분의 계정은 적합한 권한을 가져야만 합니다. 권한은 프로젝트 또는 데이터세트, 데이터 세트 내에 있는 각 개별 리소스 수준에서 부여받을 수 있습니다. 구글은 수십 가지의 권한을 문서를 통해 제공하며, 이 문서로 각 권한별로 사전에 정의된 IAM의 역할들을 단순화시켜 정리해두었습니다.


이 글을 읽으시는 여러분이 데이터 분석가라면, 적어도 2가지 역할을 가질 것을 추천드립니다 :

bigquery.dataViewer, bigquery.jobuser.


해당 2가지 역할은 테이블과 메타 데이터들을 조회할 수 있는 권한을 계정에 부여하고, 쿼리를 직접 실행할 수 있는 권한을 의미합니다.


* IAM : 누구(ID)에게 무슨 리소스에 대한 어떤 액세스 권한(역할)이 있는지 정의하여 액세스 제어를 관리하는 방식



4. 데이터 접근


빅쿼리에 저장된 여러분의 데이터와 상호작용 할 수 있는 방식은 크게 4가지 방법으로 나뉩니다. 가장 쉽게 접근할 수 있는 방법은 console.cloud.google.com에 접속하는 것입니다. 개발자들은 빅쿼리 API나 빅쿼리 커맨드를 통해 접근할 수 있으며, 추가적으로, 데이터 스튜디오, R, 타블루와 같은 서드파티 툴을 통합할 수도 있습니다.



5. 지불 방식


여러분이 GCP에서 새로운 프로젝트를 만들 때, 클라우드 결제 계정을 세팅해야 합니다. 클라우드 결제 계정은 추후 프로젝트 내에서 사용되는 리소스나 서비스들에 대한 결제를 담당합니다. 하지만, 구글 클라우드는 현재 매월 10GB의 데이터 스토리지와 매월 1T의 쿼리 데이터 처리가 포함된 무료 서비스 등급을 지원하고 있습니다.


만약 여러분들이 무료 서비스 등급 이상으로 용량을 사용하게 된다면, 그 비용을 관리할 수 있는 옵션들이 있습니다. 스토리지는 데이터의 총량과 데이터가 얼마나 자주 수정되는지에 대한 빈도에 따라 그 가격이 정해집니다. 연속 90일 동안 수정이 하나도 되지 않았던 테이블의 경우, 스토리지 비용이 약 50% 감소합니다. 데이터를 분석할 때, 쿼리량에 따라 주문형으로 비용을 지불하거나 대량 고객인 경우 정액 요금을 선택할 수 있습니다. 빅쿼리 안팎으로 데이터를 스트리밍하는 경우 스트리밍 삽입 및 스트리밍 읽기와 관련된 비용도 있습니다.


GA360을 사용하여 ‘하루에 세 번 일괄 내보내기를 포함하는 빅쿼리’로 데이터의 기본 내보내기를 설정한 경우 저장 및 분석 비용이 발생합니다. GA4의 기본 내보내기는 하루에 한 번 발생하며 마찬가지로 저장 및 분석 비용에 영향을 미칩니다. GA360 및 GA4 모두 스트리밍 내보내기로 업그레이드할 수 있는 옵션이 있어 스트리밍 삽입 비용이 추가됩니다.



6. Job의 4가지 유형


로딩 & 복사


빅쿼리 안에 있는 데이터를 로드시키는 데는 여러 가지 방법이 있습니다. 여러분은 데이터를 일괄 불러오기(ex. CSV 파일 불러오기), 데이터 스트리밍, 서드파티툴의 새로운 데이터들을 쿼리문을 사용해서 불러올 수도 있습니다. 구글 애널리틱스와 빅쿼리를 연동하게 되면, 빅쿼리 안에 여러분의 GA 분석 데이터가 로딩되고, 매일마다 데이터가 자동으로 업데이트됩니다.


또 데이터 테이블을 빅쿼리 안에서 복사할 수도 있습니다.


추출


빅쿼리에서 데이터를 추출하는 방법 역시 여러 가지입니다. 여러분은 구글 클라우드 스토리지 또는 구글 데이터 스튜디오와 같은 곳으로 데이터를 추출할 수 있습니다. 만약 테이블의 크기가 1GB 아래라면, 단일 파일로 내보낼 수 있습니다. 1GB 이상의 큰 데이터 테이블이라면, 여러 개의 파일로 쪼개서 내보내기가 가능합니다. 빅쿼리는 csv, JSON, Avro, Parquet 파일 형식을 모두 지원합니다.


커맨드 명령어, 빅쿼리 API, Data Flow와 같은 다른 툴을 가지고 빅쿼리에서 데이터를 추출할 수 있습니다. 추가로, EXPORT DATA 문을 포함하거나, UI에서 직접 데이터를 저장하여, 전체 테이블 대신 쿼리 결과를 내보낼 수 있습니다.


쿼리


쿼리문을 쓰고 결과를 분석하는데 마케터들은 아마도 가장 많은 시간을 쓸 것입니다. 모든 쿼리문들은 행과 열로 된 테이블 형태의 결과물을 생성합니다. 가장 쉬운 방법은 아까 말씀드린 웹 브라우저에서 쿼리문을 실행해보는 것이 간단하죠. 하지만 여러분들은 빅쿼리 커맨드 툴이나 빅쿼리 API, 서드 파티 툴을 가지고도 쿼리를 실행시킬 수 있습니다. 아래 이미지를 보시면 나중에 여러분들은 데이터를 저장하거나 공유하고, 쿼리 일정을 예약할 수도 있습니다.



7. SQL 복습하기


BQ는 표준 SQL이라는 자체 SQL 언어를 사용합니다. 여러분들이 이미 SQL에 익숙하다면 일반적으로 갑자기 새롭게 배우거나 하는 것들은 크게 없습니다. Standard SQL의 일부 새로운 기능들이 있지만 이전 SQL 기술이 빅쿼리에서도 대부분 작동합니다.


만약 SQL을 모르시는 분들이라면 간단한 강의나 영상, 책을 통해 쉽게 익히실 수 있을 것입니다 :) SQL에 대한 이야기는 나중 글에서 자세히 다뤄볼게요.



8. GA 스키마 공부하기


여러분들이 데이터를 분석하는 일을 한다면, 구글 애널리틱스와 빅쿼리의 결합으로 데이터를 추출하는데 필요한 각 테이블 필드에 익숙해질 필요가 있습니다. 우선 첫 번째 단계로, 어떻게 구글 애널리틱스가 데이터를 수집하는지, 데이터 모델에 관하여, 사용자 수, 세션, 기여와 같은 핵심 개념들을 공부하셨으면 좋겠습니다. GA4의 무료 강의를 한번 들어보시는 것도 추천드립니다.


그런 다음, 여러분만의 쿼리를 작성하기 위해, 구글 리소스 센터를 방문하여 직접 참고해서 쿼리문을 만들어보셔도 좋습니다.  


    GA 360

        빅쿼리 스키마

        빅쿼리 설명서





    GA4  

        빅쿼리 스키마

        빅쿼리 설명서




결국 스키마를 공부하는 가장 현실적인 방법은 그냥 그것들을 가지고 실행시켜보는 것 같습니다. GA에서 측정 항목이나 리포트를 선택하고, 쿼리를 작성하고, 구글 애널리틱스에 있는 리포트 UI랑 결과를 비교해보는 것들입니다. 우선은 빅쿼리를 통해 구글 애널리틱스의 리포트와 똑같이 만들어보는 실습을 해보세요. 가장 좋은 빅쿼리 공부가 되지 않을까 싶습니다.


긴 글 읽어주셔서 감사합니다.






블로그 구독자 문의 주소 : team@hurdlers.kr

그로스마케팅 파트너, 허들러스 바로가기
페이스북 광고 가이드 만나보기  

구글 애널리틱스 가이드 만나보기

        

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari