Search
☁️

빅쿼리(BigQuery), 구글 클라우드(GCP)의 데이터 분석 플랫폼

Created at
2022/05/01
Updated at
2022/11/09
Tags
Keywords
BigQuery
3 more properties
최근 구글에서 제공하는 GCP 관련 교육 과정인 Google Cloud Skills Boost을 중심으로, 빅쿼리에 대해 학습을 진행 중이다.
수많은 과정 중 직무별로 선별된 Path를 구성해주기에 어떤 강의와 실습을 들을지 가이드가 되는데, Data Analyst Learning Path를 제공하고 있어 따라가 보려고 한다 (참고: 링크).
강의와 간단한 실습으로 이뤄진 Course나 실습 문제로 이뤄진 Quest를 마무리하면 뱃지가 주어지는데, 아래의 링크와 같이 나의 공개 프로필에 이 배지들을 모아가는 재미가 동기부여를 쏠쏠하게 해준다! (링크드인 프로필에도 바로 쉽게 공유가 가능해 유용하게 쓰일 수 있다.)
위 과정과 책 등을 보며 공부한 내용을 앞으로 내용을 쭉 정리해나가려고 하는데,
우선은 빅쿼리(BigQuery)란 제품이 무엇인지, 아주 기초적인 부분부터 시작하자.
다음 포스팅에서는 빅쿼리에서 SQL 쿼리를 작성하는 법, 빅쿼리ML 등에 대한 내용을 이어갈 예정이다.
목차

1. Google Cloud란?

Google Cloud is a suite of cloud services hosted on Google's infrastructure. From computing and storage, to data analytics, machine learning, and networking, Google Cloud offers a wide variety of services and APIs that can be integrated with any cloud-computing application or project, from personal to enterprise-grade.
구글의 클라우드 컴퓨팅 서비스로, 구글 제품에 사용되는 동일한 인프라 상에서 호스팅이 제공됨
컴퓨팅, 스토리지, 데이터 분석, 머신러닝, 네트워킹에 이르기까지 다양한 종류의 서비스와 API 제공
이러한 서비스와 API는 개인에서부터 엔터프라이즈 수준에 이르는 클라우드 컴퓨팅 애플리케이션과 프로젝트에 통합 가능

2. Google Cloud의 빅데이터 서비스

데이터 분석에서 당면하는 과제들
느린 쿼리
데이터를 통합(combine)하고 쿼리하기 어려움
인프라 유지
스케일링(scaling) 이슈
비용 문제로 비즈니스에서 발생되는 일부의 데이터만 저장할 수 있음
중앙 데이터 분석 웨어하우스, 툴들의 부재
왜 Data Analytics에 클라우드를 사용하면 좋을까? (on-premises 대비)
저렴한 저장 비용
인프라에 신경쓰지 않고 쿼리에만 집중할 수 있음 (구글의 인프라를 레버리지하기!)
뛰어난 확장성(scaliability)
출처: Big Data Tools Overview, Course: Exploring and Preparing your Data with BigQuery, Google Cloud Skills Boost
구글 클라우드의 데이터 서비스
구글은 데이터 프로세스에서 마주하는 과제를 해결할 수 있는 다양한 서비스를 제공함
Ingest
Transform
Store
Analyze
Visualize
업무
데이터 가져오기
데이터 준비, 정리, 변형(transform)
데이터셋 생성 및 저장
데이터로부터 인사이트 토출
데이터를 시각적으로 탐색 & 인사이트 전달
문제점
데이터의 - 볼륨(volume) - 다양성(variety) - 속도(velocity)
- 느림 탐색 - 느린 프로세싱 - 불분명한 로직
- 저장비용 - 스케일업 어려움 - latency 문제
- 느린 쿼리 - 데이터 볼륨 - 격리된(siloed) 데이터
- 데이터셋 크기 - 툴 레이턴시
GCP 데이터 툴
- BigQuery Storage (import)
- BigQuery Analysis(SQL) - Dataprep (prep)
- Cloud Storage (buckets) - BigQuery Storage(tables)
- BigQuery Analysis(SQL)
- Looker Studio - Looker Studio Pro - 3rd-party tools (Tableau, Qlik)
효과
페타바이트 단위의 데이터를 다양한 포맷에서 가져옴
데이터 준비, 정리, 변형 과정을 쉽고 빠르게 처리 가능
데이터셋 생성 및 저장 비용 절감
서버 관리 없이도 충분한 규모로(at scale) 데이터 분석
인터랙티브하고 임팩트 있는 시각화
데이터 직무별 역할과 활용 가능한 GCP 데이터 툴들
Data Analyst
Data Scientist
Data Engineer
What they do
쿼리와 시각화를 통해 데이터에서 인사이트 도출
통계와 머신러닝을 활용한 데이터분석 및 모델링
데이터 처리 시스템 디자인, 구축,유지
Background
SQL을 활용한 데이터 분석
SQL, R, Pyhon을 활용하는 통계적 분석
컴퓨터 엔지니어링
활용 GCP 툴
- Cloud Storage - Cloud SQL - BigQuery - Dataprep - Looker Studio - Looker Studio Pro
- BigQuery - Vertex AI - Translation AI - Deep Learning Containers 등
- Compute Engine - Cloud Storage - CloudSQL - Cloud Bigtable - Cloud Spanner - Pub/Sub - Dataflow - Dataproc - Dataprep - Firestore

3. 빅쿼리(BigQuery) 개요

빅쿼리란?

빅쿼리란?
구글 클라우드(Google Cloud, GCP)에서 제공하는 완전 관리형 데이터 분석 플랫폼
페타바이트급의 데이터를 저렴하고 빠르게 처리할 수 있는 데이터웨어하우스
빅쿼리의 두 가지 서비스: 스토리지와 분석
BigQuery Manage Storage
Fully-managed and scalable data storage
BigQuery Analysis
Fast massively parallel SQL Engine
구글의 Dremel 엔진을 기반으로 함
빅쿼리의 구조
출처: Big Data Tools Overview, Course: Exploring and Preparing your Data with BigQuery, Google Cloud Skills Boost
빅쿼리의 9가지 대표적인 특징
1.
Fully-managed data warehouse: no-ops, petabyte-scale
사용자는 인프라에 신경쓰지 않고 데이터를 추출하는 업무에 집중할 수 있음
2.
Reliable: 구글 데이터 센터의 지원을 받음
3.
Economical: 프로세싱과 스토리지를 사용한 만큼만 지불함
4.
Secure: 엑세스 관리 및 데이터 암호화 (role ACLs, data encrypted in transport and at rest)
5.
Auditable: 모든 쿼리는 별도의 트랜잭션으로 로깅됨
6.
Scalable: 병렬 프로세싱으로 빠른 쿼리, 다중 쿼리 실행
7.
Flexible: 다른 데이터셋에서도 데이터를 매시업 가능(join, union)
8.
Easy-to-use: 익숙한 SQL 사용, index 개념 없음, open standards
9.
Public datasets: 공개된 현실의 데이터셋으로 데이터 분석을 연습 가능
데이터 종류: NOAA, IRS, GitHub, NYC Taxi, etc.
빅쿼리를 이용하는 3가지 방법
Web UI, CLI, API를 이용해 빅쿼리를 이용할 수 있는데, 웹에서 콘솔을 이용하는 Web UI 방식이 가장 접근하기 쉽다.
출처: Big Data Tools Overview, Course: Exploring and Preparing your Data with BigQuery, Google Cloud Skills Boost

빅쿼리 가격정책(pricing)

BigQuery jobs
Job: 빅쿼리에서 일의 단위
Job의 특징
given a unique ID by the web UI
can run concurrently
perform tasks
history store for 6 months
Job 타입에 따른 가격 정책
Query → charged by bytes processed
Load data into a table → free
Extract to Cloud Storage → free
Copy existing table → free
[note] storing data in BigQuery is a separate cost
Sizing and cost management
Storage pricing
Active storage pricing: prorated per MB, per second
Long-term storage pricing
partition or non-partitioned table not edited 90+ days
price drops 50%
Analytics engine cost: On-demand pricing vs. Flat-rate pricing
Optimize queries for cost
쿼리를 쓸 때 유의할 비용 최적화 원칙(cost-optimization principles)
필요한 columns과 row만 포함시킬 것 (filter early)
가능하다면 캐시된 결과를 사용할 것
User-Defined Function 사용은 제한할 것

4. 요약

빅쿼리는 GCP에서 제공되는 빅데이터 분석 플랫폼이며,
구글의 인프라를 레버리지할 수 있는 완전 관리형(fully-managed) 서비스로,
사용자는 수고스러운 인프라 운영은 신경 쓰지 않고(no-ops),
페타바이트 급의 데이터를 저렴하고 빠르게 분석하는 업무에만 집중할 수 있게 된다.
이러한 장점으로 인해 전세계적으로 많은 기업에서 빅쿼리를 데이터웨어하우스로 채택하고 있다.
참고자료