GCP

GCP BigQuery란? & Data Warehouse

Somaz 2023. 5. 21. 20:43
728x90
반응형

 

Overview

오늘은 Google Cloud의 강력한 데이터 웨어하우스 서비스인 BigQuery에 대해 학습해보겠다.

 

BigQuery는 완전 관리형 서버리스 엔터프라이즈 데이터 웨어하우스로, 대량의 데이터를 빠르고 효율적으로 분석하는 데 도움을 준다.

 

 

이 글에서는 BigQuery의 주요 개념과 특징, 그리고 데이터 웨어하우스(Data Warehouse)의 필요성에 대해 알아보겠다.

출처 : https://cloud.google.com/blog/topics/developers-practitioners/bigquery-explained-data-ingestion?hl=en

 

 

 

 

📅 관련 글

2023.04.06 - [GCP] - GCP란? - 서비스 계정 & Project 생성 / SDK(gcloud) 설치

2023.04.06 - [GCP] - GCP IAM이란?

2023.04.12 - [GCP] - GCP - SDK(gcloud) 계정 2개 등록하기

2023.05.05 - [GCP] - GCP vs AWS 리소스 비교

2023.05.19 - [GCP] - GCP BigQuery란? & Data Warehouse

2023.09.23 - [GCP] - BigQuery와 DataFlow를 활용한 Data ETL(GCP)

2023.10.03 - [GCP] - Shared VPC를 사용하여 GKE 클러스터 생성시 IAM 설정

2023.12.18 - [GCP] - GCP를 활용한 데이터 자동화(MongoDB, CloudSQL, GA, Dune)

2024.01.20 - [GCP] - Terraform 으로 GCS 생성후 Cloud CDN 생성(GCP)

2024.03.04 - [GCP] - GCP에서 딥러닝을 위한 GPU VM 서버 만들기(GCP)

2024.04.24 - [Migration] - AWS에서 GCP로 마이그레이션하는 방법 및 고려사항

 

 

 

 

 


 

 

BigQuery란?

Big Query는 Google에서 완전히 관리하는 서버리스 엔터프라이즈 데이터 웨어하우스 서비스이다. 

 

✔️ 즉, 사용자는 서버를 직접 운영하지 않고도 SQL 기반의 분석 쿼리를 실행하여 대규모 데이터를 쉽게 분석할 수 있다.

 

그렇다면 왜  BigQuery를 사용해야 할까?

Big Query에는 SQL 쿼리를 쉽게 실행할 수 있는 쿼리 엔진이 내장되어 있다. 

Big Query는 조직이 대량의 데이터를 분석하여 의미 있는 인사이트를 찾는 데 도움이 된다.

 

  • 고성능 SQL 엔진 제공: 표준 SQL을 사용하여 복잡한 데이터 분석이 가능
  • 대규모 데이터 분석 최적화: 수십억 개의 행을 빠르게 처리 가능
  • 비용 효율적인 모델: 사용한 리소스만큼 요금 부과

 

BigQuery는 단순한 데이터베이스가 아니라, 데이터 웨어하우스(Data Warehouse) 솔루션이다. 이를 더 깊이 이해하기 위해 데이터 웨어하우스의 개념부터 살펴보겠다.

 

 

 


 

 

 

 

Data Warehouse는 무엇일까?

Data Warehouse란 Data(정보) + Warehouse(창고)가 결한한 의미로 줄여서 DW로도 불린다.

데이터 분석, 보고 및 의사 결정을 포함하여 비즈니스 인텔리전스(BI) 활동을 지원하는 대규모 중앙 집중식 데이터 리포지토리이다.

데이터는 데이터 마이닝, 분석 및 보고와 같은 비즈니스 인텔리전스(BI) 활동을 지원하도록 구성되고 구조화된다.

출처 : https://www.astera.com/knowledge-center/what-is-data-warehouse/

 

 

 

Data Warehouse 의 장점

  • 데이터 통합: 다양한 소스에서 데이터를 수집하여 저장 가능
  • 빠른 분석: 최적화된 구조로 쿼리 성능 향상
  • 안정성: 운영 데이터베이스(DB)에 부하를 주지 않고 분석 수행 가능

 

BigQuery는 이러한 데이터 웨어하우스의 모든 장점을 제공하면서도, 서버리스 환경에서 운영된다는 차별점을 갖는다.

 

 

 

 


 

 

 

 

 

Data Warehouse 는 왜 필요한 것일까?

DB 접속 후 쿼리를 날려 데이터를 가져오고 분석하면 되지 않을까라는 생각이 들었다.

그러나 그렇게 되면, 해당 DB에 부하가 걸리게 된다. 물론 덤프를 떠서 분석용 DB에 넣어서 분석을 할수도 있지만, 상당히 번거롭고 귀찮은 일이다.

 

따라서 오늘날 기업은 전사적 데이터의 통합을 통한 정보의 효율적인 분석이 필요하게 되었고, 또한 신속 정확한 의사 결정으로 경쟁력을 확보하기 위하여 의사 결정용 데이터베이스가 필요하게 되었다.

 

또한 급증하는 다량의 데이터를 효과적으로 분석해 정보화하고, 이를 여러 계층의 사용자들이 효율적으로 사용할 수 있도록 한 데이터 웨어하우스(DW)가 필요하다.

출처 : http://www.ucld.co.kr/php/services/dw.php

 

 

 

 

 

 


 

 

BigQuery 주요 기능 및 이점

 

 

 

 


 

 

 

 

1. 완전 관리형 서버리스(Full Managed Serverless)

완전 관리형(Full Managed) + 서버리스(Serverless)이다.

즉, Google이 기본 인프라를 관리하므로 사용자는 시스템 관리가 아닌 데이터 분석에 집중할 수 있다.

그리고 서버 설정, 구성 또는 관리에 대해 걱정할 필요가 없다. 이를 통해 원활한 확장성과 간소화된 운영이 가능하다.

 

 

 

2. 빠른 실시간 분석(High-Speed Real-Time Analysis)

BigQuery는 몇 초 만에 수십억 개의 행을 스캔할 수 있다. SQL 쿼리를 빠르고 비용 효율적으로 만들도록 설계되었다.

BigQuery는 실시간 데이터 스트리밍 기능 덕분에 실시간 분석 및 인사이트를 제공한다.

즉, 지체 없이 최신 비즈니스 데이터를 분석할 수 있다.

 

 

 

3. 비용 효율성(Cost-Effective)

Google에서도 강조하듯이 저장 비용이 매우 저렴하다. 

데이터 저장은 매월 10GB까지 무료이며, 이후 데이터는 1GB당 $0.02 과금, 쿼리 사용에는 1달에 1TB까지 무료이며 이후 1TB당 $5의 요금이 부과된다.

스토리지 및 각 쿼리에서 처리한 데이터 양에 대해 요금을 부과한다. 쿼리를 실행하는 데 걸리는 시간이나 쿼리가 사용하는 컴퓨팅 리소스에 대해서는 요금이 부과되지 않는다. 또한 데이터를 파티셔닝하고 클러스터링하여 비용을 최적화할 수 있다.

 

그러나 단점도 있다. BigQuery는 주로 쿼리를 실행하는 데 걸리는 시간이 아니라 쿼리에서 처리하는 데이터 양을 기반으로 하는 가격 책정 모델을 사용한다. 따라서 비용은 실행하는 각 쿼리에서 읽은 데이터 양을 기준으로 계산한다.

 

따라서 SELECT의 경우 빈번하게 일어나기 때문에 이를 무분별하게 사용하면 자칫 많은 비용이 발생할 수 있다.

 

⚠️ 주의할 점: BigQuery는 쿼리가 실행하는 데이터 크기에 따라 요금이 부과되므로 무분별한 SELECT 사용을 지양해야 한다.

 

 

 

4. 보안 & 통합(Security & Integration)

강력한 보안, 개인정보 보호, 규정 준수 조치를 제공한다. 데이터는 암호화되며 액세스할 수 있는 사람을 제어한다.

기존 ETL 도구 및 데이터 시각화 도구는 물론 Dataflow 및 Pub/Sub와 같은 다른 Google Cloud 서비스와도 잘 통합된다.

이를 통해 보다 강력한 데이터 처리 및 분석 워크플로가 가능하다.

 

 

 

 

5. 머신러닝 & 데이터 공유 및 통합

BigQuery ML을 사용하면 SQL로 머신 러닝 모델을 구축하고 사용할 수 있다. SQL 사용자가 기존 도구와 기술을 사용하여 모델을 구축할 수 있도록 하여 머신 러닝을 Democratize하는 고유한 기능이다.

팀원과 인사이트를 쉽게 공유할 수 있다. 데이터 세트, 쿼리 및 보기를 공유하여 팀 간의 협업을 향상 시킨다.

 

 

 

 

 


 

 

 

마무리

 

BigQuery는 대량의 데이터를 빠르고 효율적으로 분석할 수 있는 강력한 솔루션이다.

  • 완전 관리형 서버리스로 운영 비용을 절감할 수 있고,
  • 고성능 SQL 엔진을 활용하여 수십억 개의 행을 빠르게 분석할 수 있으며,
  • 비용 효율적인 구조로 사용한 만큼만 요금이 부과된다.

 

 

이러한 장점 덕분에 BigQuery는 데이터 분석, 머신러닝, BI 시스템, 실시간 스트리밍 분석 등 다양한 활용 사례에서 필수적인 도구로 자리 잡고 있다.

 

 

앞으로 BigQuery를 활용하여 데이터 분석을 더욱 효율적으로 수행하는 방법에 대해 더 깊이 있게 다뤄보겠다

 

 

 

 


Reference

https://cloud.google.com/blog/topics/developers-practitioners/bigquery-explained-data-ingestion?hl=en 

 

https://www.analyticsvidhya.com/blog/2022/06/most-frequently-asked-google-big-query-interview-questions/

 

데이터 웨어하우스 위키백과

 

https://burning-dba.tistory.com/150

 

 

 

728x90
반응형