BigQuery Graph 및 Spanner Graph 사용

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

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

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

BigQuery Graph와 Spanner Graph는 서로 다른 유형의 그래프 워크로드를 제공합니다. BigQuery Graph는 대규모 심층 분석에 적합하고 Spanner Graph는 실시간 작업에 적합합니다.

BigQuery 그래프

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

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

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

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

Spanner Graph

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

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

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

  • 실시간 사기 감지: 신용카드 스와이프를 알려진 허위 기기 및 계정의 그래프와 비교하여 밀리초 단위로 확인합니다.
  • 자율 네트워크 운영: 실시간 성능 모니터링 및 최적화를 위해 네트워크의 디지털 트윈을 빌드합니다.
  • 항목 확인: 다양한 PII (이메일, 전화, Venmo ID)에서 정보 소스로 연결된 ID 클러스터를 빌드합니다. 광고를 서빙하기 전에 ID 조회를 위해 표준 프로필을 사용하고, 실시간 사기 감지를 수행하고, Feature Store를 학습시킵니다.

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 데이터에 액세스) 실시간, strong consistency
데이터 입력 데이터 레이크, 과거 로그, 보관처리된 트랜잭션 데이터. 실시간 애플리케이션 스트림, 사용자 상호작용
데이터 이동 사전 빌드된 템플릿 (일괄 처리, 스트리밍)을 사용하여 Spanner에서 BigQuery로 이동 (정방향 추출, 변환, 로드 (ETL)). EXPORT_DATA를 사용하여 BigQuery에서 Spanner로 이동 (역방향 ETL). 외부 스키마를 사용한 쿼리 페더레이션 (제로 ETL). 사전 빌드된 템플릿 (일괄 처리, 스트리밍)을 사용하여 Spanner에서 BigQuery로 이동 (정방향 추출, 변환, 로드 (ETL)). EXPORT_DATA를 사용하여 BigQuery에서 Spanner로 이동 (역방향 ETL). 외부 스키마를 사용한 쿼리 페더레이션 (제로 ETL).

다음 단계