Skip to main content

[Tech 009] GCP 빅쿼리(BigQuery)로 이전 없이 외부데이터 쿼리하기 – Cloud SQL 편

안녕하세요, 클루커스 구글 클라우드 컨설턴트 엄수민, 박보련, 오지수입니다.

Google Cloud에 BigQuery 기반 데이터 분석 환경을 구축했더라도, Google Cloud 데이터베이스 제품, Google Cloud Storage, 타 클라우드 등 BigQuery 외에 다양한 소스 데이터가 존재할 수 있습니다.
효과적인 데이터 분석을 위해선, BigQuery 내에 위치한 데이터와 BigQuery 외부에 위치한 데이터 모두 조회가 필요합니다. 이때 BigQuery 외부에 위치한 데이터를 BigQuery로 당장 마이그레이션 하는데에는 비용 및 환경적 제약이 따를 수 있습니다.
그러나 BigQuery는 외부 소스의 데이터를 BigQuery로의 데이터 복사나 이동 없이도 BigQuery에서 바로 쿼리할 수 있습니다.

BigQuery에서 외부 데이터를 쿼리하는 2가지 방식으로는 ‘외부 테이블(External Table)’과 ‘통합 쿼리(Federated Query)’가 있습니다.

본 데모에서는 Google Cloud의 관리형 데이터베이스 서비스인 Cloud SQL에 저장된 데이터를 BigQuery에서 조회하는 ‘통합 쿼리’ 방식을 알아봅니다. 통합 쿼리는 Cloud SQL에서 MySQL(2세대) 및 PostgreSQL 인스턴스를 모두 지원하며, 해당 영상에서는 MySQL로 진행되었습니다.

Demo에서 사전 준비된 사항

  • 외부 데이터 소스로 사용할 Cloud SQL 생성 및 데이터 Insert

🍯꼭 알아둬야 할 Cloud SQL 통합 쿼리 Tip!

  • Cloud SQL
    • 통합 쿼리에서는 Cloud SQL 멀티 리전을 사용할 수 없습니다.
    • 공개 IP가 있는 Cloud SQL V2 인스턴스에서만 지원됩니다
        →‘승인된 주소 없이 공개 IP 연결’ 방식을 사용하면 공개 인터넷에서의 인스턴스 액세스는 불가능하지만, BigQuery에서 쿼리는 가능하도록 설정할 수 있습니다.
  • 통합 쿼리
    • 쿼리는 읽기 전용이어야 합니다. 따라서 DML 또는 DDL문은 지원되지 않습니다.
    • 외부 쿼리에 BigQuery에서 지원되지 않는 데이터 유형이 포함되는 경우 쿼리는 즉시 실패합니다. (참고링크)
  • 연결 리소스는 Cloud SQL 인스턴스와 동일한 프로젝트에서 생성되어야 합니다.

Reference

Secured By miniOrange