본문 바로가기

bigquery

(4)
갈아먹는 BigQuery[4] 빅쿼리 아키텍쳐 지난 글 갈아먹는 BigQuery [1] 빅쿼리 소개 갈아먹는 BigQuery [2] 빅쿼리 스키마 및 데이터 모델 갈아먹는 BigQuery [3] 빅쿼리 SQL 분산 실행 갈아먹는 BigData [1] MapReduce 이해하기 들어가며 지난 포스팅들에서 빅 쿼리가 무엇이고 어떠한 특징이 있는지 살펴보았습니다. 그리고 로우 레벨의 관점에서 어떻게 데이터를 저장하고 SQL 쿼리를 분산처리 하는지 살펴보았습니다. 이번에는 빅 쿼리의 아키텍쳐에 대해서 좀 더 자세히 알아보겠습니다. BigQuery Architecture 빅 쿼리는 크게 네 가지 구성 요소로 이루어져 있습니다.[1] Dremel(Compute): 방대한 분산 노드들에서 SQL 쿼리를 실행 Colossus(Storage): 데이터를 저장하고 실..
갈아먹는 BigQuery[3] 빅쿼리 SQL 분산 실행 지난 글 갈아먹는 BigQuery [1] 빅쿼리 소개 갈아먹는 BigQuery [2] 빅쿼리 스키마 및 데이터 모델 갈아먹는 BigData [1] MapReduce 이해하기 들어가며 지난 시간에 BigQuery의 큰 특징 중 하나인 Columnar Storage에 대해서 알아보았습니다. 이번에는 또 다른 특징인 트리 기반의 쿼리 분산 실행에 대해서 알아보겠습니다. 컬럼 기반으로 저장된 데이터에 대해서 어떻게 SQL문을 적용하는 지에 대한 세부적인 내용 보다는 어떻게 방대한 양의 서버들에 SQL 쿼리를 분산시키고 이를 수합하는 지에 초점을 맞추어 진행하겠습니다. (지난 포스팅과 마찬가지로 빅 쿼리의 전신인 Dremel의 논문에 기반합니다.) Tree Architecture Dremel은 입력 쿼리가 들어오..
갈아먹는 BigQuery [2] 빅쿼리 스키마 및 데이터 모델 지난 글 갈아먹는 BigQuery [1] 빅쿼리 소개 들어가며 지난 시간에 빅 쿼리에 대한 간략한 소개와 빅 쿼리의 전신인 Dremel에 대해서 알아보았습니다. 그리고 Dremel의 가장 큰 특징은 Columnar Storage와 Tree Architecture를 살펴봤습니다. 이번에는 빅 쿼리의 재미있는 특징 중에 하나인 Array와 Struct를 소개하면서 빅 쿼리가 지향하는 스키마 설계 방식을 다뤄보겠습니다. 또한 이를 Columnar Storage 상에서 구현하기 위한 Dremel의 데이터 모델을 자세히 알아보겠습니다. Big Query 스키마 BigQuery는 RDBMS 처럼 일정한 스키마를 가진 테이블을 생성하고, 정형화 된 데이터(structured data)를 저장합니다. 그렇기 때문에 r..
갈아먹는 BigQuery [1] 빅쿼리 소개 들어가며 구글 BigQuery는 이름에서 알 수 있듯이 엄청나게 큰 데이터에 대한 SQL 쿼리를 빠르게 수행해주는 google cloud platform의 서비스 중 하나입니다. 무려 페타바이트에 달하는 데이터도 빠르게 분석할 수 있다고 합니다. 자체 클러스터를 구성하고 운영하는 수고로움은 덜고, 데이터 분석에만 집중할 수 있는 툴로 많은 기업들에서 데이터 웨어하우스로 도입하고 있습니다. 그러면 빅 쿼리가 어떻게 생겼는지 살펴볼까요? 빅 쿼리는 다들 한번씩 사용해보셨을 MySQL과 같은 RDBMS의 웹 어드민처럼 생겼습니다. 여기서 데이터 셋을 불러오고, 쿼리를 입력할 수 있습니다. 위의 예시는 100억개의 위키피디아 문서에서 각 언어 별로 Google이라는 단어가 제목에 등장한 문서의 수를 세어주는 쿼..