Home [Data] 블로그 데이터 파이프라인 만들기 - 02. BigQuery
Post
Cancel

[Data] 블로그 데이터 파이프라인 만들기 - 02. BigQuery

개요

안녕하세요.

이번 글에서는 2023년 계획 중 하나인 “블로그 데이터 파이프라인 만들기” 두번째 시간으로 BigQuery에 대해 알아보겠습니다.


BigQuery 개요

BigQuery는 Google에서 제공하는 서버리스 데이터 웨어하우스입니다.

서버리스?

BigQuery는 서버리스 서비스입니다.

서버리스란 “클라우드 컴퓨팅 실행 모델”의 하나로 동적으로 머신 자원의 할당을 관리합니다.

서버리스 컴퓨팅에도 여전히 서버가 존재하지만 서버 관련 내용을 서비스화하여 해당 내용을 숨길 수 있습니다.

운영 비용의 절감, 유연한 확장성, 함수 단위 기능 개발을 통한 빠른 서비스 출시 등이 장점입니다.

하지만 빠른 응답이 필요한 제품은 함수 호출을 위해 컨테이너를 기다리는 콜드 스타트 문제로 적합하지 않을 수 있습니다.

또한 특정 CSP(Cloud Supply Provider)에서 모든 서비스를 제공받으면 해당 CSP에 종속되는 문제가 발생합니다.


특징

열 기반 스토리지

분석용 쿼리에 최적화된 열 기반 스토리지를 사용합니다.

열 기반 스토리지는 데이터를 열 기반으로 저장합니다.

따라서 다음과 같은 이점을 얻을 수 있습니다.

  • 쿼리에서 해당하는 열만 빠른 속도로 접근
  • 같은 형식의 데이터를 저장하므로 저장 효율 증가
  • 해당하는 열만 접근하므로 대용량 데이터에서 효율적

더 자세한 내용은 차후 새로운 게시글에서 다뤄보도록 하겠습니다 😀

대용량 데이터 처리

BigQuery는 terabyte ~ petabyte의 대용량 데이터를 처리하는데 적합합니다.

또한 대용량 데이터를 처리하는 과정에서 필요한 자원이 자동으로 확장됩니다.

고가용성

BigQuery의 스토리지는 고가용성 확보를 위해 여러 지역에 걸쳐 자동으로 복제됩니다.

클라우드 기반 서비스

클라우드 기반의 서비스로 추가로 필요한 기술이 존재하지 않습니다.

또한 웹을 통한 UI나 CLI 툴, 클라이언트 라이브러리 등 다양한 인터페이스를 제공합니다.

SQL과 유사한 언어

표준 SQL을 기반으로 동작합니다.

따라서 기존의 데이터베이스의 쿼리를 재사용할 수 있습니다.


활용 예시

여기서는 멜버른의 주택 가격 데이터(https://www.kaggle.com/datasets/dansbecker/melbourne-housing-snapshot)를 활용해보겠습니다.

데이터세트 만들기

데이터세트 만들기 [그림1] 데이터세트 만들기

우선 테스트용 데이터세트를 만들겠습니다.

데이터세트 ID는 temporary_test라고 설정했습니다.

데이터 삽입하기

멜버른의 주택 가격 데이터를 삽입합니다.

데이터세트 만들기 [그림2] 데이터세트 만들기

CSV 데이터를 업로드해 소스데이터를 설정했습니다.

테이블 명은 melb_data으로 설정했습니다.

스키마 역시 직접 입력하는 대신, 자동 감지를 통해 설정했습니다.

SQL 쿼리 실행해보기

마지막으로 실제 쿼리를 실행해보겠습니다.

다음 쿼리는 멜버른 Reservoir 지역의 일자별 주택의 수와 평균 가격을 날짜 내림차순으로 보여줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
    Suburb,
    `Date`,
    COUNT(Address) AS CountData,
    ROUND(AVG(Price), 3) AS AveragePrice
FROM
    temporary_test.melb_data
WHERE
    Suburb in ("Reservoir")
GROUP BY
    1, 2
ORDER BY
    2 DESC
;

SQL 쿼리 실행해보기 [그림3] SQL 쿼리 실행해보기


마무리하며

이번 글에서는 BigQuery에 대해 간단히 살펴보았습니다.

BigQuery는 구글에서 제공하는 서버리스 데이터 웨어하우스입니다.

열 기반 스토리지 기반으로 분석용 쿼리를 통한 대용량 데이터 처리에 적합합니다.

다음 글에서는 BigQuery와 GA4를 연동해보겠습니다!

이 글이 조금이나마 도움이 되셨으면 합니다.

감사합니다. 😀


참고 문헌

This post is licensed under CC BY 4.0 by the author.

[Data] 블로그 데이터 파이프라인 만들기 - 01. Google Analytics4

[Data] 블로그 데이터 파이프라인 만들기 - 03. GA4와 BigQuery 연결

Comments powered by Disqus.