안녕하세요.
글을 오랜만에 작성하는 것같습니다. 작년 한 스타트업 데이터 엔지니어팀에 입사하여 바쁘게 지내다 보니 정신없이 지냈습니다.
현재 회사에서는 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는 트리의 층이 내려갈 수록 작은 단위로 처리 됩니다.
'빅쿼리(Bigquery)' 카테고리의 다른 글
Biguqery - Array, Struct, Unnest 사용방법 - 1 (2) | 2024.04.06 |
---|---|
Window 함수 정리(UNBOUNDED PRECEDING?) 누적합 (0) | 2024.04.02 |
Bigquery 테이블 내 컬럼명 변경 방법 (How to change bigquery column name) (0) | 2023.01.11 |
Bigquery - Flashback 편(DB 복구) (0) | 2022.11.28 |