BigQuery의 실시간 데이터에 대한 AlloyDB 액세스 개요

복잡한 파이프라인을 빌드하지 않고 운영 데이터와 함께 분석 데이터의 실시간 쿼리를 실행하려면 PostgreSQL용 AlloyDB에서 레이크하우스 제휴를 사용하면 됩니다. bigquery_fdw 확장 프로그램으로 구동되는 AlloyDB는 BigQuery로 쿼리를 라우팅하여 BigLake 외부 테이블을 통해 실시간 데이터와 Apache Iceberg와 같은 개방형 형식에 액세스하므로 복잡한 ETL (추출, 변환, 로드) 마이그레이션이 필요하지 않습니다.

레이크하우스 제휴의 이점

레이크하우스 제휴 접근 방식은 다음과 같은 이점을 제공합니다.

  • Zero ETL: 복잡한 파이프라인을 빌드하거나 유지보수하지 않고 분석 데이터를 직접 쿼리합니다.
  • 익숙한 문법: 표준 PostgreSQL 문법을 사용하여 BigQuery 데이터를 쿼리합니다.
  • 실시간 통계: 운영 테이블과 함께 최신 데이터에 액세스합니다.
  • 컴퓨팅 오프로드: 푸시다운 최적화를 통해 BigQuery 분산 엔진을 사용하여 대규모 작업을 수행합니다.
  • 승인된 액세스: 승인된 서비스 계정만 외부 데이터를 쿼리할 수 있도록 Identity and Access Management (IAM)를 사용하여 중앙 집중식 액세스 제어를 수행합니다.

사용 사례

레이크하우스 제휴는 다음과 같은 비즈니스 및 기술 사용 사례를 지원합니다.

  • 하이브리드 트랜잭션 및 분석 처리 (HTAP) 워크로드: 트랜잭션 성능에 영향을 주지 않고 AlloyDB의 실시간 운영 데이터와 BigQuery 또는 Cloud Storage의 이전 데이터 또는 분석 데이터를 동시에 쿼리할 수 있습니다.
  • 취약한 파이프라인 없는 실시간 통계: 기존 ETL 프로세스의 지연 시간과 오류 모드를 방지할 수 있습니다. 최신 정보를 기반으로 비즈니스 결정을 내릴 수 있도록 최신 분석 데이터에 즉시 액세스합니다.
  • 에이전트 워크플로를 위한 데이터 구체화: AlloyDB 열 기반 엔진과 AlloyDB AI 기능을 사용하기 위해 외부 분석 데이터를 AlloyDB로 구체화할 수 있습니다. 이를 통해 제휴 데이터에서 고성능 벡터 검색, 머신러닝 임베딩, 고급 AI 기반 에이전트 워크플로를 사용할 수 있습니다.

아키텍처 및 데이터 흐름

다음 다이어그램은 레이크하우스 제휴를 사용할 때 데이터 흐름과 구성요소 상호작용을 보여줍니다.

레이크하우스 제휴의 아키텍처를 보여주는 다이어그램으로, 푸시다운 최적화를 통해 AlloyDB와 BigQuery 간의 흐름을 보여줍니다.
그림 1. 레이크하우스 제휴의 아키텍처 및 데이터 흐름

다음은 AlloyDB의 레이크하우스 제휴를 위한 데이터 흐름 프로세스를 설명합니다.

  1. 쿼리 제출: AlloyDB 인스턴스에 표준 PostgreSQL 쿼리를 제출합니다.
  2. 쿼리 계획 및 최적화: AlloyDB 쿼리 플래너는 BigQuery 외부 데이터 래퍼 (FDW)를 사용하여 외부 BigQuery 데이터 세트에 매핑된 테이블을 식별합니다.
  3. 푸시다운 최적화: AlloyDB는 특정 필터와 집계를 BigQuery로 직접 푸시다운하여 쿼리를 최적화합니다. 이렇게 하면 네트워크에서 관련 필터링된 행 또는 사전 집계된 요약만 전송됩니다.
  4. 실행 및 검색: BigQuery는 쿼리의 일부를 실행합니다. 즉, BigQuery 기본 제공 스토리지를 직접 스캔하거나 Cloud Storage에 저장된 Apache Iceberg 테이블을 읽고 결과 데이터 세트를 AlloyDB로 다시 스트리밍합니다.
  5. 최종 처리 및 응답: AlloyDB는 외부 데이터를 로컬 운영 테이블과 결합하고 나머지 쿼리 처리를 완료한 후 최종 결과를 애플리케이션에 반환합니다.

통합 쿼리의 데이터 유형 고려사항

레이크하우스 제휴를 사용하여 AlloyDB에서 외부 BigQuery 테이블을 쿼리하면 AlloyDB 쿼리 플래너는 BigQuery 데이터 유형을 상응하는 PostgreSQL 데이터 유형으로 해석합니다. 이러한 매핑을 이해하는 것은 올바른 쿼리를 작성하고 bigquery_fdw 확장 프로그램에서 사용하는 외부 테이블 정의를 작성하는 데 매우 중요합니다.

BigQuery 데이터 유형에 직접 매핑이 없거나 특별한 처리가 필요한 경우 쿼리 내에서 명시적 CAST 함수를 사용하거나 호환되는 유형으로 데이터를 표시하는 BigQuery에서 뷰를 만들어야 할 수 있습니다.

지원되는 데이터 유형과 상응하는 PostgreSQL 유형의 목록은 데이터 유형 매핑을 참조하세요.

보안 및 액세스 제어

AlloyDB에서 BigQuery 데이터에 대한 액세스는 IAM을 통해 관리됩니다. 쿼리할 수 있는 데이터 세트와 테이블을 정의하려면 AlloyDB 클러스터 서비스 계정에 특정 IAM 역할을 부여해야 합니다. 이렇게 하면 보안을 손상시키지 않고 통합 쿼리가 조직의 중앙 집중식 데이터 거버넌스 정책을 준수할 수 있습니다. 자세한 내용은 필수 역할을 참조하세요.

푸시다운

AlloyDB에서 데이터를 이동하거나 처리하기 전에 BigQuery에서 데이터를 필터링하거나 요약하여 쿼리 속도를 높이고 비용을 절감하는 필터 및 집계 푸시다운 기법을 사용할 수 있습니다. 이 접근 방식은 네트워크 트래픽과 메모리 사용량을 최소화하여 리소스 한도를 초과하지 않고도 대규모 데이터 세트를 빠르고 효율적으로 분석할 수 있도록 합니다.

필터 푸시다운

필터 푸시다운은 술어 푸시다운이라고도 하며, AlloyDB에서 BigQuery로 쿼리 필터 (WHERE 절 사용)를 이동하여 데이터 필터링을 스토리지 레이어에 최대한 가깝게 이동하는 최적화 기법입니다.

필터 푸시다운을 사용하면 WHERE 절이 있는 SQL 쿼리를 사용하여 원격 테이블의 데이터 하위 집합에 액세스할 수 있습니다. 이 데이터는 로컬 테이블에서 구체화하거나 PostgreSQL 테이블에 로컬 파티션으로 연결할 수도 있습니다.

필터 푸시다운에 지원되는 작업은 다음과 같습니다.

  • 표준 비교 연산자: =, <, >, <=, >=, <>
  • 논리 연산자: AND, OR, NOT
  • 패턴 일치: LIKENOT LIKE
  • null 검사: IS NULL, IS NOT NULL
  • 목록 내 평가: IN, NOT IN

집계 푸시다운

집계 푸시다운SUM, COUNT, AVG 또는 GROUP BY와 같은 계산을 스토리지 레이어에 최대한 가깝게 수행하는 고급 데이터베이스 최적화입니다. 이 푸시다운은 BigQuery에서 요약 함수를 직접 평가하므로 AlloyDB로 반환되는 행 수를 크게 줄일 수 있습니다.

집계 푸시다운에 지원되는 작업은 다음과 같습니다.

  • SUM
  • COUNT
  • AVG
  • MIN
  • MAX

BigQuery 비용 및 청구

BigQuery 외부 데이터 래퍼는 다음을 기반으로 합니다.

  • BigQuery 컴퓨팅 가격 책정
  • BigQuery Storage API 가격 책정

자세한 내용은 BigQuery 가격 책정을 참조하세요.

제한사항

다음 단계