使用 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 Graph
BigQuery Graph 经过优化,可对大型图运行复杂查询。您可以分析全球模式、识别历史趋势,并发现海量数据集中的隐藏关系。
其技术特征包括大规模优化性能、并行处理、对图表的重要部分进行复杂查询、密集计算和复杂聚合。
常见用例包括下列各项:
- 离线欺诈检测:在客户图谱中,通过几度连接(共享相同的电子邮件、手机或地址)查找与整个网络中已知欺诈者相关联的其他可疑用户。如需查看有关欺诈检测的教程,请参阅 Spanner 和 BigQuery:实时 Fraud Defense 盾。
- 供应链优化:构建物料清单图,表示最终产品与其组件之间的关系,以便进行产品目录方案。通过分析所有产品线中的顶级产品及其根组件,计算产品交付日期并了解材料供应情况。
- 全面了解客户细分:构建全面了解客户的图表,以了解产品订阅、转化和流失的客户历程。您可以使用此图来确定客户流失的原因、确定使用模式,并使用该图在整个受众群体中进行客户细分和受众群体定位。
Spanner Graph
Spanner Graph 适用于实时操作。它针对需要执行以下操作的应用进行了优化:执行涉及少量图元素的即时 k 跳查询、在几毫秒内检测欺诈行为、执行沿袭跟踪以进行身份和依赖项验证,以及提供实时推荐。
其技术特性包括:延迟时间可预测且抖动极小、每秒查询次数 (QPS) 随 Spanner 节点数量线性扩缩,以及几乎无限的扩缩能力。它还具有内置图存储功能,支持节点和边缘表交错、常年运行的可用性、全球一致性,以及从单个图节点或一组图节点开始的点查找和多跃点查询。
常见用例包括下列各项:
- 实时欺诈检测:在几毫秒内,根据已知欺诈设备和账号的图表检查信用卡刷卡情况。
- 自主网络运维:构建网络的数字孪生体,以进行实时性能监控和优化。
- 实体解析:根据不同的 PII(电子邮件、手机、Venmo ID)构建关联身份集群,作为可信来源。在投放广告之前,使用规范配置文件进行身份查找,执行实时欺诈检测,并训练 Feature Store。
BigQuery Graph 和 Spanner Graph 如何协同工作
BigQuery Graph 和 Spanner Graph 协同工作,提供全面的解决方案。例如,在客户 360 用例中:
- 实时数据分析:客服人员使用 Spanner Graph,根据实时购买和配送统计信息,处理用户关于配送错误商品的投诉。
- 复制或查询:您可以使用 Spanner 变更数据流将数据从 Spanner 复制到 BigQuery,而无需复杂的提取、转换和加载 (ETL) 过程;也可以使用 BigQuery 联合查询直接从 BigQuery 查询 Spanner 数据。
- 分析模式:数据科学家使用 BigQuery Graph 识别同一数据中的“流失热点”,从而将客户标记为“有流失风险”。
- 反馈环:“有风险”标签会通过反向提取、转换和加载 (ETL) 支持推送到 Spanner Graph,以便为此客户生成优惠券代码,防止客户流失。
在 BigQuery Graph 和 Spanner Graph 之间移动数据
您可以在 Spanner Graph 和 BigQuery Graph 之间移动数据,以满足工作负载要求:
正向 ETL:如需将数据从 Spanner 移动到 BigQuery 以进行分析查询,请使用 Dataflow 模板。
反向 ETL:虽然您可以直接从 BigQuery Graph 查询 Spanner 数据,但在某些情况下,您可能需要将 BigQuery 数据导入 Spanner Graph。使用
EXPORT DATASQL 语句。如需了解详情,请参阅了解反向 ETL 流水线。
特性比较
下表按功能最适合的产品详细列出了各项功能:
| 功能 | BigQuery Graph(离线/批处理) | Spanner Graph(在线/实时) |
|---|---|---|
| 图模型、查询与可视化 | 采用统一的图建模与 Graph Query Language,均由符合 ISO SQL 标准的 GoogleSQL 提供强力支持。相同的图可视化界面。 | 采用统一的图建模与 Graph Query Language,均由符合 ISO SQL 标准的 GoogleSQL 提供强力支持。相同的图可视化界面。 |
| 主要工作负载 | 离线(批量):对海量数据集进行聚合分析。 | 在线(实时):执行大量低延迟的读写操作。 |
| 查询延迟时间 | 几秒到几小时。针对扫描 TB/PB 级数据进行了优化。 | 几毫秒到几秒。对面向用户的应用至关重要。 |
| 查询句式 | 全局或全图:“谁的‘网络覆盖面’超过 5,000 人?” | 本地或社区:“谁是我的二度人脉(朋友的朋友),但不在我的直接社交圈里?” |
| 发展壮大 | PB 级,几乎无限制,针对大规模历史数据进行了优化。 | 支持横向伸缩,规模近乎无限,针对热数据进行了优化。 |
| 数据新鲜度 | 近乎实时或批量。支持访问不同来源的数据(例如,通过 Data Boost for Spanner 访问 Spanner Graph 数据,或访问 Bigtable、Cloud Storage 或 Amazon S3 中的数据)。 | 实时、强一致性。 |
| 数据输入 | 数据湖、历史日志、归档的交易数据。 | 实时应用流、用户互动。 |
| 数据移动 |
使用预构建模板(批处理模板、流处理模板)将 Spanner 数据迁移至 BigQuery(正向提取、转换和加载 [ETL])。使用 EXPORT_DATA 将 BigQuery 数据迁移至 Spanner(反向 ETL)。
查询联合(零 ETL)配合外部架构。
|
使用预构建模板(批处理模板、流处理模板)将 Spanner 数据迁移至 BigQuery(正向提取、转换和加载 [ETL])。使用 EXPORT_DATA 将 BigQuery 数据迁移至 Spanner(反向 ETL)。
查询联合(零 ETL)配合外部架构。
|
后续步骤
- 详细了解 BigQuery Graph。
- 详细了解 Spanner Graph。