빅쿼리(Bigquery)

빅쿼리(Bigquery) 소개

ROSEV 2022. 8. 6. 18:15

안녕하세요.

글을 오랜만에 작성하는 것같습니다. 작년 한 스타트업 데이터 엔지니어팀에 입사하여 바쁘게 지내다 보니 정신없이 지냈습니다.

현재 회사에서는 Bigquery 및 Python을 하면서 지내고 있습니다. 특히 Bigquery를 통해 프로시져를 작성하는 업무를 주로 하고 있습니다. 그래서 입사 한 후 많이 다루고 있는 Bigquery에 대한 정리를 조금씩 하고자 합니다.

 

Bigquery 정의

빅쿼리(BigQuery)는 페타바이트급 이상의 데이터에 대해 스케일링 분석(필요시 실시간으로 컴퓨팅 자원을 동적으로 확장)을 가능케 하는 완전 관리형(fully-managed) 서버리스 컴퓨팅 데이터 웨어하우스이다. 빅쿼리는 2010년 5월 발표되었으며 2011년 11월 일반에 공개되었다. <출처 : 위키백과>

 

빅쿼리의 UI를 살펴보면 아래처럼 Query문을 작성하는부분이 있습니다.

또 실행 세부정보를 누르면 아래처럼 얼마나 경과가 되었는지, 그리고 어느 정도의 용량을 사용했는지 알 수 있습니다.

 

Bigquery의 특징

bigquery는 Dremel이라는 구글 내부의 프로젝트를 기반으로 구축 되었습니다. 그래서 이의 특징인 

1. columnar storage : 데이터를 레코드 단위가 아닌 컬럼단위로 저장

  • 필요한 컬럼만 선택해서 분석하는 경우 필요없는 레코드가 나오지 않으므로, 방식에 따라 효율적인 측면이 있습니다
  • 또한 컬럼 단위로 저장하므로 데이터의 성질이 같아 데이터 저장 압축 시 유리합니다.

왼쪽그림은 레코드방식, 오른쪽그림은 컬럼방식

 

2. Tree Architecture Distribution : 연산을 분산 하기 위해 트리 구조를 활용

  • 고객들의 수십 수억건의 Query를 처리하기 위해 이를 분석하여 분산하여 처리합니다.
  • 분석 되어진 Query는 트리의 층이 내려갈 수록 작은 단위로  처리 됩니다. 

Bq Query Process