본문 바로가기

카테고리 없음

[구글 빅쿼리 완벽 가이드] 1장. 구글 빅쿼리

새롭게 알게 된 개념

 

  • OLAP 데이터베이스
    - 구글 빅쿼리는 OLAP (Online Transaction Processing) 데이터 베이스에 속한다.
  • Ad-hoc 쿼리
    - 인덱스 같은 기능을 사용해 최상의 성능을 발휘하도록 미리 만들어 둔 데이터베이스에 쿼리하는 것이 아니라 필요에 따라 (성능이 조금 떨어져도) 즉석에서 작성해 실행하는 쿼리
    - OLAP 데이터베이스는 전체 데이터셋의 순회가 필요한 애드혹 쿼리에 적합하지 않다.

 

  • 맵리듀스(Map Reduce) 패러다임
    - 대용량의 원시 데이터를 처리하기 위해 특수 목적의 연산을 두 단계로 추상화하여 복잡도를 낮추었음,
    - 두 단계 : 1) 키/값 쌍을 처리해 중간 키/값 쌍을 생성하는 map 함수, 2) 동일한 중간 키와 연관된 모든 중간 값을 병합하는 reduce 함수.
    - 이 패러다임은 아파치 하둡의 발전을 이끌었음.

 

  • 빅쿼리는 서버리스, 분산 SQL 엔진 
    • 서버리스 서비스
      - 서버리스 서비스는 서버 관리 부담을 줄이고, 애플리케이션 개발에만 집중할 수 있도록 클라우드 제공자가 백엔드 인프라를 자동으로 관리해 주는 컴퓨팅 모델
      - 서버 관리 부담 없이 사용한 만큼만 비용을 지불하는 클라우드 컴퓨팅 모델

 

  • ETL, EL, ELT 프로세스
    - 가능하다면 EL 워크플로우를 설계하고, 변환이 필요한 경우에만 ETL 워크플로우로 넘어가는 것이 좋다.
    - ETL, EL 외에도 빅쿼리는 ELT 워크플로우를 구현할 수 있다.
    - ELT : 원시 데이터를 그대로 추출해 로드한 다음 빅쿼리 뷰(view)로 해당 데이터를 즉시 변환하는 방법, 원시 데이터의 스키마가 유동적일 때 특히 유용 

 

  • 컴퓨팅 및 스토리지 분리
    - 빅쿼리는 컴퓨팅과 스토리지를 분리하여 관리할 수 있다. 대부분의 데이터웨어하우스는 컴퓨팅과 스토리지가 물리적으로 동일한 하드웨어에 존재하여, 컴퓨팅을 늘리고 싶다면 스토리지까지 함께 늘려야 한다. 반대의 경우에도 마찬가지.  
    - 그러나 빅쿼리는 필요에 따라 컴퓨팅과 스토리지를 분리하여 확장/축소할 수 있다. 
    - 빅쿼리 리소스는 슬롯으로 표현하는데, 쿼리가 너무 느릴 때 슬롯을 추가하여 컴퓨팅 확장이 가능하다. 동일한 원리로 비용을 줄이고 싶다면 슬롯을 줄이면 된다. 
    - 빅쿼리는 사용자별 또는 쿼리별로 슬롯을 분리할 수도 있다. 

 

정리

빅쿼리 서비스에 대한 전반적인 이해