BigQuery Graph 및 Spanner Graph 사용

이 문서는 BigQuery GraphSpanner Graph를 비교하여 사용할 그래프 솔루션을 결정하는 데 도움이 됩니다.

이 비교는 권장사항이며 절대적인 것은 아닙니다. BigQuery Graph와 Spanner Graph 간에는 상당한 기능이 겹치므로 사용자는 자체 워크로드 요구사항을 파악하여 사용할 기능을 결정해야 합니다.

BigQuery Graph 및 Spanner Graph를 사용하는 경우

BigQuery Graph와 Spanner Graph는 서로 다른 유형의 그래프 워크로드를 처리합니다. BigQuery Graph는 대규모 심층 분석을 위한 것이고 Spanner Graph는 실시간 작업을 위한 것입니다.

BigQuery Graph

BigQuery Graph는 대규모 그래프에서 복잡한 쿼리를 실행하는 데 최적화되어 있습니다. 전역 패턴을 분석하고, 과거 트렌드를 파악하고, 대규모 데이터 세트에서 숨겨진 관계를 발견할 수 있습니다.

기술적 특성으로는 대규모 최적화된 성능, 병렬 처리, 그래프의 상당 부분에 대한 복잡한 쿼리, 집약적 컴퓨팅, 복잡한 집계가 있습니다.

일반적인 사용 사례는 다음과 같습니다.

  • 오프라인 사기 감지: 고객 그래프에서 동일한 이메일, 전화번호 또는 주소를 공유하는 연결의 몇 도 내에서 전체 네트워크에서 알려진 사기꾼과 연결된 다른 의심스러운 사용자를 찾습니다. 사기 감지에 관한 튜토리얼은 Spanner & BigQuery: 실시간 사기 방어 실드를 참고하세요.
  • 공급망 최적화: 재고 계획을 위해 최종 제품과 구성요소 간의 관계를 나타내는 자재 명세서 그래프를 빌드합니다. 모든 제품 라인에서 최상위 제품부터 기본 구성요소까지 분석하여 제품 배송일을 계산하고 자재 가용성을 파악합니다.
  • 고객 360 세분화: 고객 360 그래프를 빌드하여 제품 구독, 전환, 이탈에 대한 고객 여정을 파악합니다. 이를 사용하여 고객 이탈 이유를 파악하고, 사용 패턴을 파악하고, 전체 잠재고객에서 고객 세분화 및 잠재고객 타겟팅을 위해 그래프를 사용합니다.

Spanner Graph

Spanner Graph는 실시간 작업을 위한 것입니다. 그래프 요소의 작은 집합을 즉시 터치하는 k-홉 쿼리를 실행하고, 밀리초 단위로 사기를 감지하고, ID 및 종속성 확인을 위해 계보 추적을 실행하고, 실시간 추천을 제공해야 하는 애플리케이션에 최적화되어 있습니다.

기술적 특성으로는 지터가 최소화된 예측 가능한 지연 시간, Spanner 노드 수에 따라 선형으로 확장되는 초당 쿼리 수 (QPS), 사실상 무제한 확장성이 있습니다. 또한 노드 및 에지 테이블 인터리빙, 상시 가용성, 전역 일관성, 단일 그래프 노드 또는 그래프 노드 집합에서 시작하는 포인트 조회 및 다중 홉 쿼리가 있는 기본 제공 그래프 스토리지를 제공합니다.

일반적인 사용 사례는 다음과 같습니다.

  • 실시간 사기 감지: 밀리초 내에 알려진 사기성 기기 및 계정의 그래프에 대해 신용카드 스와이프를 확인합니다.
  • 자율 네트워크 운영: 실시간 성능 모니터링 및 최적화를 위해 네트워크의 디지털 트윈을 빌드합니다.
  • 엔티티 확인: 다양한 PII (이메일, 전화번호, vemo ID)에서 진실의 소스로 연결된 ID 클러스터를 빌드합니다. 광고를 게재하기 전에 ID 조회를 위해 정식 프로필을 사용하고, 실시간 사기 감지를 실행하고, 기능 저장소를 학습시킵니다.

BigQuery Graph와 Spanner Graph의 상호작용 방식

BigQuery Graph와 Spanner Graph는 함께 작동하여 포괄적인 솔루션을 제공합니다. 예를 들어 고객 360 사용 사례에서 다음과 같이 작동합니다.

  1. 실시간 통계: 고객 서비스 상담사는 Spanner Graph를 사용하여 실시간 구매 및 배송 통계를 기반으로 잘못된 제품 배송에 관한 사용자 불만을 처리합니다.
  2. 복제 또는 쿼리: 복잡한 추출, 변환, 로드 (ETL) 없이 Spanner 변경 스트림을 사용하여 Spanner에서 BigQuery로 데이터를 복제하거나 BigQuery 제휴 쿼리를 사용하여 BigQuery에서 Spanner 데이터를 직접 쿼리할 수 있습니다.
  3. 패턴 분석: 데이터 과학자는 BigQuery Graph를 사용하여 동일한 데이터에서 '이탈 핫스팟'을 식별하여 고객을 '위험'으로 라벨링합니다.
  4. 피드백 루프: '위험' 라벨은 역방향 추출, 변환, 로드 (ETL) 지원을 통해 Spanner Graph로 푸시되어 이 고객의 이탈을 방지하기 위한 쿠폰 코드를 생성합니다.

BigQuery Graph와 Spanner Graph 간에 데이터 이동

워크로드 요구사항에 맞게 Spanner Graph와 BigQuery Graph 간에 데이터를 이동할 수 있습니다.

  • 정방향 ETL: 분석 쿼리를 위해 Spanner에서 BigQuery로 데이터를 이동하려면 Dataflow 템플릿을 사용합니다.

  • 역방향 ETL: BigQuery Graph에서 Spanner 데이터를 직접 쿼리할 수 있지만 BigQuery 데이터를 Spanner Graph로 가져와야 하는 시나리오가 있을 수 있습니다. EXPORT DATA SQL 문을 사용합니다. 자세한 내용은 역방향 ETL 파이프라인 이해를 참고하세요.

기능 비교

다음 표에서는 가장 최적화된 제품별로 기능을 자세히 분류하여 제공합니다.

기능 BigQuery Graph (오프라인/일괄 처리) Spanner Graph (온라인/실시간)
그래프 모델, 쿼리, 시각화 통합 그래프 모델링 및 그래프 쿼리 언어(모두 ISO SQL 표준의 일부인 GoogleSQL로 구동됨) 그래프 시각화를 위한 동일한 인터페이스 통합 그래프 모델링 및 그래프 쿼리 언어(모두 ISO SQL 표준의 일부인 GoogleSQL로 구동됨) 그래프 시각화를 위한 동일한 인터페이스
기본 워크로드 오프라인 (일괄 처리): 대규모 데이터 세트에 대한 집계 온라인 (실시간): 지연 시간이 짧은 읽기/쓰기 볼륨이 높음
쿼리 지연 시간 초에서 시간 테라바이트/페타바이트 스캔에 최적화됨 밀리초에서 초 사용자 대상 앱에 중요
쿼리 패턴 전역 또는 전체 그래프: "네트워크 도달범위가 5,000 명 이상인 사용자는 누구인가?" 로컬 또는 주변: '내 친구의 친구이지만 내 직접적인 서클에 없는 사람은 누구인가?'
확장 페타바이트 규모, 사실상 무제한, 대규모 과거 데이터에 최적화됨 수평 확장 가능, 사실상 무제한 확장, 핫 데이터에 최적화됨
데이터 최신 상태 거의 실시간 또는 일괄 처리 다양한 소스의 데이터에 액세스할 수 있음 (예: Spanner용 Data Boost, Bigtable, Cloud Storage 또는 Amazon S3을 사용하는 Spanner Graph 데이터). 실시간, 강력한 일관성
데이터 입력 데이터 레이크, 과거 로그, 보관된 거래 데이터 실시간 애플리케이션 스트림, 사용자 상호작용
데이터 이동 Spanner에서 BigQuery로 (정방향 추출, 변환, 로드 (ETL)) 기본 제공 템플릿 (일괄 처리, 스트리밍) 사용 BigQuery에서 Spanner로 (역방향 ETL) EXPORT_DATA 사용 쿼리 페더레이션 (제로 ETL) 외부 스키마 사용 Spanner에서 BigQuery로 (정방향 추출, 변환, 로드 (ETL)) 기본 제공 템플릿 (일괄 처리, 스트리밍) 사용 BigQuery에서 Spanner로 (역방향 ETL) EXPORT_DATA 사용 쿼리 페더레이션 (제로 ETL) 외부 스키마 사용

다음 단계