使用 BigQuery Graph 和 Spanner Graph

本文档通过比较 BigQuery GraphSpanner Graph,帮助您确定要使用哪种图解决方案。

此比较仅作为建议,并非绝对标准。 BigQuery Graph 和 Spanner Graph 在功能方面有很大程度的重叠,用户应根据自己的工作负载需求确定要使用哪个功能。

何时使用 BigQuery Graph 和 Spanner Graph

BigQuery Graph 和 Spanner Graph 适用于不同类型的图工作负载。BigQuery Graph 适用于大规模深度分析,而 Spanner Graph 适用于实时操作。

BigQuery 图

BigQuery Graph 经过优化,可对大型图运行复杂的查询。您可以分析全球模式、识别历史趋势,并揭示海量数据集中的隐藏关系。

其技术特点包括:大规模优化性能、并行处理、针对图的很大一部分进行复杂查询、密集计算和复杂聚合。

常见用例包括下列各项:

  • 离线欺诈检测:在客户图谱中,通过共享相同电子邮件地址、手机号码或地址的连接,在整个网络中查找与已知欺诈者关联的其他可疑用户。如需观看有关欺诈检测的教程,请参阅 Spanner 和 BigQuery:实时欺诈防御盾
  • 供应链优化:构建物料清单图,用于表示最终产品及其组件之间的关系,以便进行库存规划。通过分析所有产品线中从顶级产品到其根组件的物料,计算产品交付日期并了解物料可用性。
  • 客户 360 细分:构建客户 360 图,了解产品订阅、转化和客户流失的客户转化历程。您可以使用此图表来确定客户流失的原因、识别使用情况模式,并使用该图表在整个受众群体中进行客户细分和受众群体定位。

Spanner Graph

Spanner Graph 适用于实时操作。它针对以下应用进行了优化:需要立即执行涉及少量图元素的 k 跃点查询、在毫秒内检测欺诈行为、执行谱系跟踪记录以进行身份和依赖项验证,以及提供实时推荐。

其技术特点包括延迟时间可预测且抖动最小、每秒查询次数 (QPS) 可随 Spanner 节点数量线性扩缩,以及近乎无限的扩缩能力。它还具有内置的图存储功能,支持节点和边表交织、始终可用的特性、全局一致性,以及从单个图节点或一组图节点开始的点查找和多跳查询。

常见用例包括下列各项:

  • 实时欺诈检测:在几毫秒内,将信用卡刷卡操作与已知欺诈设备和账号的图表进行对比。
  • 自主网络运营:构建网络的数字孪生体,以实现实时性能监控和优化。
  • 实体解析:构建关联身份的集群,作为来自不同个人身份信息(电子邮件、手机、Vemo ID)的真实来源。在投放广告之前,使用规范个人资料进行身份查找、执行实时欺诈检测,以及训练特征存储区。

BigQuery Graph 和 Spanner Graph 如何协同工作

BigQuery Graph 和 Spanner Graph 协同工作,提供全面的解决方案。例如,在客户 360 度视图使用情形中:

  1. 实时数据分析:客户服务代理使用 Spanner Graph 根据实时购买和配送统计信息来处理用户关于配送错误产品的投诉。
  2. 复制或查询:您可以使用 Spanner 更改流将数据从 Spanner 复制到 BigQuery,而无需复杂的提取、转换和加载 (ETL) 流程;也可以使用 BigQuery 联合查询直接从 BigQuery 查询 Spanner 数据。
  3. 分析模式:数据科学家使用 BigQuery 图来识别同一数据中的“客户流失热点”,以便将客户标记为“有流失风险”。
  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 流水线

特性比较

下表详细列出了各项功能以及最适合使用这些功能的 Google 产品:

功能 BigQuery 图(离线/批处理) Spanner Graph(在线/实时)
图表模型、查询和可视化 统一的图建模和图查询语言,全部由 GoogleSQL(ISO SQL 标准的一部分)提供支持。用于图表可视化的相同界面。 统一的图建模和图查询语言,全部由 GoogleSQL(ISO SQL 标准的一部分)提供支持。用于图表可视化的相同界面。
主要工作负载 离线(批量):对海量数据集进行汇总。 在线(实时):大量低延迟读/写。
查询延迟时间 几秒到几小时。针对扫描 TB/PB 级数据进行了优化。 从毫秒到秒。对于面向用户的应用至关重要。
查询句式 全局或整个图表:“哪些人的‘人脉圈覆盖人数’超过 5,000 人?” 本地或社区:“谁是我的朋友的朋友,但不在我的直接圈子里?”
发展壮大 PB 级、近乎无限,针对大规模历史数据进行了优化。 可横向伸缩,规模近乎无限,针对热门数据进行了优化。
数据新鲜度 近乎实时或批量。可以访问来自不同来源的数据(例如,使用 Data Boost for SpannerBigtableCloud StorageAmazon S3 访问 Spanner Graph 数据)。 实时、强一致性。
数据输入 数据湖、历史日志、已归档的交易数据。 实时应用流、用户互动。
数据移动 使用预构建的模板(批量、流式)将 Spanner 数据提取、转换和加载 (ETL) 到 BigQuery 中(正向)。 使用 EXPORT_DATA 将 BigQuery 数据迁移到 Spanner(反向 ETL)。 使用外部架构进行查询联合(零 ETL)。 使用预构建的模板(批量、流式)将 Spanner 数据提取、转换和加载 (ETL) 到 BigQuery 中(正向)。 使用 EXPORT_DATA 将 BigQuery 数据迁移到 Spanner(反向 ETL)。 使用外部架构进行查询联合(零 ETL)。

后续步骤