Spanner Graph 算法概览

图算法概览

Spanner Graph 与 Google 研究 Graph Mining 协作,提供了一套高性能图算法,涵盖了欺诈检测、实体解析和推荐等主要应用场景。这些算法可扩展到数百亿条边,运行时间从几分钟到十几分钟不等。您可以在 Spanner Graph 查询中调用算法函数,以在 Spanner Graph 上运行算法。

全托管式

Spanner Graph 算法是一项全代管式服务,它使用 Spanner Data Boost 和独立的按需计算资源,非常适合大规模图分析工作负载。借助此架构,您可以运行计算密集型图算法,同时对预配的 Spanner 实例上的现有工作负载几乎不造成影响。

无缝 GQL 集成

图表算法在 Spanner Graph 查询中以内置函数调用的形式调用。您可以将算法输出导出到 Cloud Storage,也可以将其写回 Spanner 以扩充图。您可以使用 Google Cloud 控制台、Google Cloud CLI、客户端库、REST API 或 RPC API 来运行包含算法调用的 Spanner Graph 查询,就像运行任何其他 Spanner Graph 查询一样。

以下示例展示了如何在名为 FinGraph 的图中运行连通分量分析,以识别由 Transfers 连接的 Accounts 集群,并将输出持久保存到 Cloud Storage 中,保存为 my-bucket-name/my-output.csv。如需了解详情,请参阅运行算法

EXPORT DATA OPTIONS (
  uri = "gs://my-bucket-name/my-output.csv",
  format = "csv"
) AS
GRAPH FinGraph
CALL WeaklyConnectedComponents(node_labels => ['Account'], edge_labels => ['Transfers']) YIELD node, cluster
RETURN node.id, cluster;

结算

Spanner Graph 算法使用 Spanner Data Boost 和独立的计算资源来执行算法。您只需为算法计算处于活跃状态时实际消耗的无服务器处理单元 (SPU) 付费。您可以在 Google Cloud 控制台中查看图算法结算信息

  1. 前往“结算报告”页面
  2. 过滤条件面板中,将 SKU 过滤为使用图算法的每个区域的 Spanner Data Boost SKU。

如需详细了解 Spanner 价格,请参阅 Spanner 价格

权限

如需调用图算法,主账号必须具有 spanner.databases.runGraphAlgorithms Identity and Access Management (IAM) 权限。您可以通过授予 roles/spanner.graphIntelligenceUser IAM 来管理此权限,也可以创建具有 spanner.databases.runGraphAlgorithms 权限的自定义角色。请注意,roles/spanner.graphIntelligenceUser 包含 roles/spanner.databaseReaderWithDataBoost

后续步骤