Google BigQuery
Google BigQuery는 대량의 데이터를 SQL로 분석하는 서버리스 데이터 웨어하우스입니다. 운영 데이터베이스로는 감당하기 어려운 집계와 리포트, 로그 분석을 별도 클러스터 관리 없이 처리하게 해 줍니다.
▶아키텍처 다이어그램
📊 데이터 흐름 다이어그램점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
데이터가 커지면 운영 DB에서 집계 쿼리를 돌리는 순간 응답이 느려지고, 분석용 별도 클러스터를 꾸미면 이번에는 관리가 무거워집니다. 조회가 많고 범위가 넓을수록 일반 OLTP DB는 분석에 맞지 않습니다.
과거의 대규모 분석은 별도 하둡 클러스터를 붙이고 배치 작업을 돌리는 식이었습니다. 데이터가 늘수록 클러스터 관리가 데이터 분석보다 더 큰 일이 되었고, 그 부담을 줄이기 위해 서버리스 분석 엔진이 나왔습니다.
데이터를 컬럼 단위로 저장하고, 쿼리가 들어오면 내부적으로 분산 실행합니다. 사용자는 SQL만 쓰고, BigQuery가 워커를 배정해 필요한 컬럼만 읽어 결과를 만듭니다. 저장과 실행이 분리되어 클러스터 운영을 직접 만질 일이 적습니다.
BigQuery와 Cloud SQL은 둘 다 SQL을 쓰지만, Cloud SQL은 운영 데이터의 트랜잭션 처리에 맞고 BigQuery는 대량 집계와 분석에 맞습니다. 행 단위 쓰기와 수정이 빈번하면 Cloud SQL, 수억 행을 집계하고 리포트를 만들면 BigQuery가 맞습니다.
Cloud SQL
관리형 관계형 DB
둘 다 SQL을 쓰지만, Cloud SQL은 트랜잭션 처리에 맞고 BigQuery는 대규모 집계와 분석에 맞습니다.
Vertex AI
모델 학습과 서빙 플랫폼
둘 다 예측 모델을 다룰 수 있지만, BigQuery ML은 SQL 안에서 간단한 ML을 돌리고 Vertex AI는 전체 ML 라이프사이클을 관리합니다.
Dataflow
스트림과 배치를 잇는 변환 파이프라인
둘 다 데이터를 다루지만, BigQuery는 이미 적재된 데이터를 SQL로 분석하고 Dataflow는 흐르는 동안 데이터를 바꾸고 옮깁니다.
대시보드, 로그 분석, 제품 사용 패턴, 실험 결과 집계처럼 넓은 범위의 데이터를 자주 다시 묶어 봐야 할 때 적합합니다. 초당 쓰기와 행 단위 수정이 중심인 저장소로는 맞지 않습니다.