BigQuery — 서버리스로 페타바이트 데이터 분석하기

BigQuery — 서버리스로 페타바이트 데이터 분석하기

막대한 양의 데이터를 분석해야 하는데, 그걸 위한 데이터 웨어하우스 인프라까지 직접 구축하고 관리해야 한다면 부담이 크겠죠? BigQuery는 Google Cloud의 완전관리형 분석 데이터 웨어하우스예요. 페타바이트 규모까지 처리하면서도 비용 효율적이고, 설정하거나 관리할 인프라가 없어요. 그래서 데이터를 GoogleSQL로 분석하는 일에 집중할 수 있고, 온디맨드(on-demand)와 플랫레이트(flat-rate) 중 상황에 맞는 가격 모델을 고를 수 있어요.

출처: BigQuery 공식 문서

본문

BigQuery를 쓰면 무슨 스토리지를 몇 대 띄워야 하는지를 신경 쓸 필요가 없어요. 데이터를 로드해 두면 구글이 처리와 스토리지를 알아서 관리해요. 쿼리는 표준 SQL 계열인 GoogleSQL로 작성해요. 데이터 웨어하우스, 무슨 트래픽이 언제 오를지 몰라도 규모를 알아서 늘렸다 줄였다 하기 때문에 거의 실시간으로 대용량 데이터를 분석할 수 있죠.

쿼리를 실행하는 가장 빠른 방법은 bq 커맨드라인 도구예요. 쿼리 하나를 실행할 때는 query 명령으로 SQL을 바로 넘기면 돼요:

bq query --use_legacy_sql=false \
    'SELECT name, COUNT(*) AS cnt FROM `my-project.my_dataset.events` GROUP BY name'

--use_legacy_sql=false를 지정해서 표준 SQL(GoogleSQL)로 해석하도록 명시해요. 이렇게 만든 결과는 그대로 분석하고, 필요하면 시각화나 머신러닝까지 이어서 할 수 있어요.

가격 모델은 크게 두 가지예요. 온디맨드(on-demand) 는 실제로 스캔한 데이터량만큼 과금되고, 사용량이 꾸준히 많다면 플랫레이트(flat-rate) 로 고정 비용을 내는 편이 더 경제적일 수 있어요. 어느 쪽이 맞는지는 사용 패턴에 따라 달라지니, 문서의 도입부(introduction)와 가격 안내를 함께 보는 걸 권해요.

데이터를 넣고 쿼리하고 최적화하고 시각화하고 심지어 SQL 안에서 머신러닝 모델을 만드는 방법까지, BigQuery 문서는 '쿼리·수집·최적화·시각화' 전체 흐름을 다뤄요. 각 언어별 클라이언트 라이브러리와 REST API, 그리고 클라우드 콘솔에서 바로 써보는 퀵스타트 문서도 마련되어 있어요.

더 알아보기

  • BigQuery 시작하기: 소개(introduction)와 퀵스타트
  • GoogleSQL로 대용량 데이터 쿼리하기
  • 데이터 수집·로드와 최적화 방법
  • 온디맨드 vs 플랫레이트 가격 모델
  • 클라이언트 라이브러리와 REST API