全部产品
Search
文档中心

云原生数据库 PolarDB:图应用

更新时间:Jan 16, 2026

当您需要处理如社交网络、欺诈检测或知识图谱等包含复杂关联关系的数据时,使用传统SQL进行建模和查询会变得非常繁琐且效率低下。PolarDB PostgreSQL版通过集成开源图引擎Apache AGE,让您可以在同一个集群中,可同时使用标准的SQL和业界主流的openCypher图查询语言。这使您能够高效地存储、查询和分析图数据,轻松应对复杂关系场景。

适用范围

支持的PolarDB PostgreSQL版的版本如下:

  • PostgreSQL 16(内核小版本2.0.16.8.3.0及以上)

  • PostgreSQL 15(内核小版本2.0.15.12.4.0及以上)

  • PostgreSQL 14(内核小版本2.0.14.12.24.0及以上)

说明

您可在控制台查看内核小版本号,也可以通过SHOW polardb_version;语句查看。如未满足内核小版本要求,请升级内核小版本

可视化工具

您可通过控制台创建一个可视化的图管理工具(基于Apache AGE Viewer),并通过Web界面与图数据进行交互。

步骤一:创建图应用

  1. 您可以通过以下两种方式进行创建:

    • 前往PolarDB控制台,单击左侧导航栏的PolarDB AI,并单击新建AI应用image

    • 前往PolarDB控制台,在左侧导航栏单击集群列表,找到符合适用范围的目标集群并进入集群详情页。单击左侧导航栏中的AI能力 > AI应用,并单击新建AI应用image

  2. 在应用购买页面中,请根据您的需求选择适合的配置:

    配置项

    说明

    付费类型

    • 包年包月:预付费模式。在创建应用时,您需选择固定规格的资源,并预先支付应用的费用。购买周期越长,所享受的折扣也越大。该模式一般适用于业务需求长期稳定的场景。

    • 按量付费:后付费模式。在创建应用时,您需选择固定规格的资源,但无需提前支付应用的费用。该模式根据您实际使用的时长进行计费,一般适用于业务需求灵活的场景。

    引擎

    固定为PolarDB

    地域

    选择应用所在的地理位置

    说明
    • 应用购买完成后,不支持更改地域。

    • 应用需与PolarDB PostgreSQL版集群位于同一地域。因此,请选择与PolarDB PostgreSQL版集群相同的地域。

    • 建议将应用与需要连接的ECS创建在同一地域,否则它们将无法通过内网(私网)实现互通,只能通过外网(公网)进行通信,这将无法充分发挥最佳性能。

    架构

    选择AI应用

    生态

    自动填写为源PolarDB集群数据库生态,无需手动填写。

    源 PolarDB 集群

    选择需要创建应用的PolarDB集群。

    版本

    自动填写为源PolarDB集群数据库版本,无需手动填写。

    AI应用

    选择为图管理

    组件集

    根据实际业务情况自定义后端组件的数量和规格。

    AI应用名

    您可以填写自定义的应用名称。

    说明

    不能以http://或者https://开头,且长度2~256个字符。

    网络类型

    固定为专有网络

    VPC网络

    自动填写为源PolarDB集群的专有网络,无需手动填写。

    可用区和交换机

    配置VPC网络的交换机,建议选择与PolarDB PostgreSQL版集群的主可用区相同的交换机,以发挥最佳网络性能。

    如果已有的交换机无法满足您的要求,您可以自行创建交换机

    安全组

    配置应用的安全组。

    购买数量

    选择需要购买的应用数量。

    说明
    • 每个PolarDB PostgreSQL版集群仅支持购买一个相同类型的AI应用。

    • 付费类型包年包月时,支持配置。

    购买时长

    选择应用的购买时长。

    说明

    付费类型包年包月时,支持配置。

    自动续费

    配置是否开启自动续费。为避免因忘记续费而导致业务中断,建议您开启自动续费。

    说明

    付费类型包年包月时,支持配置。

  3. 购买成功后,请返回集群的AI应用页面,即可查看新创建的应用。

    说明

    系统需要3~5分钟创建应用,请耐心等待。

步骤二:连接图应用

  • 配置应用白名单:在AI应用列表页面,单击您的应用ID进入应用详情页,并在白名单页签,新增IP白名单分组选择安全组配置已有白名单分组。

    说明
    • 应用白名单与集群白名单相互独立,需进行单独配置。

    • 如果您的ECS实例需要访问应用,可在ECS实例详情页面查看ECS实例的IP地址,并将其填写至IP白名单中。

      • 如果您的ECS实例与应用位于同一VPC内,您可以填写ECS的私网IP地址或其所在VPC网段。

      • 如果您的ECS实例与应用不在同一VPC内,您可填写ECS的公网IP地址,或添加ECS所在的安全组。

    • 如果您本地的服务器、电脑或其他云服务器需要访问应用,请将其公网IP地址添加到IP白名单中。

    image

  • 获取连接地址:在AI应用列表页面,单击您的应用ID进入应用详情页,并在基本信息页签的拓扑图区域中查看私网地址

    说明
    • 公网地址需单独申请,请单击申请按钮以进行申请。

    • 公网地址仅提供IP地址和端口,不提供域名。如您有相关需求,可自行绑定域名。

    image

步骤三:创建插件与设置数据库

  1. 创建插件:请使用高权限账号执行如下语句。

    说明

    age插件目前暂不支持您手动创建,如需使用该功能,请提交工单与我们联系,以便为您创建插件。

    CREATE EXTENSION age;
  2. 设置数据库:对于每次连接,都需要将ag_catalog添加到search_path以简化查询,并通过get_cypher_keywords函数实现插件的加载:

    说明

    使用数据管理 DMS(Data Management)客户端设置search_path时,可能会存在兼容性问题,您可使用PolarDB-Tools执行相关语句。

    SET search_path = ag_catalog, "$user", public;

    强烈建议使用高权限账号设置数据库参数,以永久加载插件,从而在每次连接时无需重复执行上述操作,以简化使用流程。

    ALTER DATABASE <dbname> SET search_path = "$user", public, ag_catalog;
    ALTER DATABASE <dbname> SET session_preload_libraries TO 'age';
  3. (可选)允许普通用户使用AGE:在ag_catalog模式下为普通用户授予USAGE权限。

    GRANT USAGE ON SCHEMA ag_catalog TO <username>;

    如果普通用户仅为读写权限用户,需要额外授予创建表的CREATE权限。

    GRANT CREATE ON DATABASE <dbname> TO <username>;

步骤四:创建图与插入数据

  1. 创建图:在使用图之前,首先需要进行图的创建。创建图使用位于ag_catalog命名空间中的create_graph函数。

    语法:

    SELECT create_graph('<graph_name>');

    示例:

    SELECT ag_catalog.create_graph('moviedb');
  2. 插入数据:使用以下SQL语句向moviedb图中插入示例数据:

    SELECT * FROM cypher('moviedb', $$
      CREATE (matrix:Movie {title: 'The Matrix', released: 1997})
      CREATE (cloudAtlas:Movie {title: 'Cloud Atlas', released: 2012})
      CREATE (forrestGump:Movie {title: 'Forrest Gump', released: 1994})
      CREATE (keanu:Person {name: 'Keanu Reeves', born: 1964})
      CREATE (robert:Person {name: 'Robert Zemeckis', born: 1951})
      CREATE (tom:Person {name: 'Tom Hanks', born: 1956})
      CREATE (tom)-[:ACTED_IN {roles: ['Forrest']}]->(forrestGump)
      CREATE (tom)-[:ACTED_IN {roles: ['Zachry']}]->(cloudAtlas)
      CREATE (robert)-[:DIRECTED]->(forrestGump)
    $$) AS (result1 agtype);

    其中,包含了6个节点,其中3个的标签为电影(Movie),3个为人员(Person)。3条边,其中2条边的标签为表演(ACTED_IN),1条边为导演(DIRECTED)。关系图如下所示:

    image

步骤五:开发应用

  1. 开发应用:您可以通过公网直接访问应用,在AI应用列表页面中单击开发应用,以跳转至图应用的可视化工具的公网地址。或者直接在浏览器地址栏中输入应用的公网IP地址和端口,以访问可视化工具。

    说明

    请先将您的公网IP地址添加至应用白名单中。

    image

  2. 在可视化工具的登录页面中输入以下信息:

    • host:选择您的PolarDB集群的连接地址。

    • Database Name:填写一个集群内的数据库,若您没有合适的数据库,请返回至集群详情页面中进行创建数据库

    • user name:填写一个集群内的数据库账号,请确保其拥有上述数据库的相应访问权限。

    • password:填写对应数据库账号的密码。

    image

  3. 查询数据:在Cypher中,使用MATCH+RETURN这两个关键字实现数据的查询。其中:

    • MATCH实现模式匹配,用于寻找与指定模式相同的内容。

    • RETURN关键字指定希望从Cypher查询返回的值或结果。

    语法:

    SELECT * FROM cypher('graph_name', $$
      MATCH <patterns>RETURN <variables>
    $$) AS (result1 agtype);

    示例:在可视化工具的顶部中输入以下Cypher查询语句:

    SELECT * FROM cypher('moviedb', $$
      MATCH (m:Person)
      RETURN m
    $$) AS (result1 agtype);

    image

  4. 验证:执行成功后,您应该能在下方的可视化区域看到moviedb的三个人员(Person)节点。image

步骤六:(可选)释放图应用

当不再需要可视化工具时,可以将其释放以节省成本。在AI应用列表中,找到目标图应用,在操作列中单击释放应用即可。

重要

释放图应用仅会删除用于提供Web界面的可视化工具,不会删除您存储在PolarDB集群中的任何图数据。应用释放后,其公网地址等配置将丢失且无法恢复。

工作原理

  • 核心引擎PolarDB图数据库功能基于PostgreSQL的age扩展实现,该扩展由Apache AGE项目提供,兼容OpenCypher查询语法。

  • 混合查询age扩展使您可以在同一个数据库中同时管理关系型数据(标准表)和图数据。这两种数据可以共存并被分别查询。

  • 查询执行:Cypher查询并非直接执行,而是作为字符串参数传递给一个名为cypher()的PostgreSQL函数。PolarDB解析此字符串,在指定的图中执行Cypher命令,并将结果作为标准的SQL行集返回。

  • 数据类型:查询返回的结果列通常是agtype类型。这是一种类似于JSONB的自定义数据类型,用于封装图元素(如节点、边、路径)的结构化信息。在应用程序中,您通常可以将其作为JSON字符串处理。

计费说明

  • 组件费用图应用收取后端组件费用,费用根据您选择的组件规格(CPU和内存)和购买时长计算。

    单个组件价格信息

    中国内地

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    1.65

    0.0029

    polar.app.g2.small
    1核2 GB

    2.71

    0.0058

    polar.app.g2.medium
    2核4 GB

    37.59

    0.0753

    polar.app.g4.medium
    2核8 GB

    40.60

    0.0810

    polar.app.g2.large
    4核8 GB

    71.43

    0.1433

    polar.app.g4.large
    4核16 GB

    94.74

    0.1896

    polar.app.g2.xlarge
    8核16 GB

    150.38

    0.3010

    polar.app.g4.xlarge
    8核32 GB

    186.47

    0.3734

    polar.app.g2.2xlarge
    16核32 GB

    300.75

    0.6035

    polar.app.g4.2xlarge
    16核64 GB

    360.90

    0.7236

    中国(香港)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.65

    0.0046

    polar.app.g2.small
    1核2 GB

    4.33

    0.0093

    polar.app.g2.medium
    2核4 GB

    60.15

    0.1204

    polar.app.g4.medium
    2核8 GB

    64.96

    0.1297

    polar.app.g2.large
    4核8 GB

    114.29

    0.2292

    polar.app.g4.large
    4核16 GB

    151.58

    0.3033

    polar.app.g2.xlarge
    8核16 GB

    240.60

    0.4819

    polar.app.g4.xlarge
    8核32 GB

    298.35

    0.5977

    polar.app.g2.2xlarge
    16核32 GB

    481.20

    0.9653

    polar.app.g4.2xlarge
    16核64 GB

    577.44

    1.1577

    日本(东京)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.65

    0.0046

    polar.app.g2.small
    1核2 GB

    4.33

    0.0093

    polar.app.g2.medium
    2核4 GB

    60.15

    0.1204

    polar.app.g4.medium
    2核8 GB

    64.96

    0.1297

    polar.app.g2.large
    4核8 GB

    114.29

    0.2292

    polar.app.g4.large
    4核16 GB

    151.58

    0.3033

    polar.app.g2.xlarge
    8核16 GB

    240.60

    0.4819

    polar.app.g4.xlarge
    8核32 GB

    298.35

    0.5977

    polar.app.g2.2xlarge
    16核32 GB

    481.20

    0.9653

    polar.app.g4.2xlarge
    16核64 GB

    577.44

    1.1577

    韩国

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.65

    0.0046

    polar.app.g2.small
    1核2 GB

    4.33

    0.0093

    polar.app.g2.medium
    2核4 GB

    60.15

    0.1204

    polar.app.g4.medium
    2核8 GB

    64.96

    0.1297

    polar.app.g2.large
    4核8 GB

    114.29

    0.2292

    polar.app.g4.large
    4核16 GB

    151.58

    0.3033

    polar.app.g2.xlarge
    8核16 GB

    240.60

    0.4819

    polar.app.g4.xlarge
    8核32 GB

    298.35

    0.5977

    polar.app.g2.2xlarge
    16核32 GB

    481.20

    0.9653

    polar.app.g4.2xlarge
    16核64 GB

    577.44

    1.1577

    新加坡

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.65

    0.0046

    polar.app.g2.small
    1核2 GB

    4.33

    0.0093

    polar.app.g2.medium
    2核4 GB

    60.15

    0.1204

    polar.app.g4.medium
    2核8 GB

    64.96

    0.1297

    polar.app.g2.large
    4核8 GB

    114.29

    0.2292

    polar.app.g4.large
    4核16 GB

    151.58

    0.3033

    polar.app.g2.xlarge
    8核16 GB

    240.60

    0.4819

    polar.app.g4.xlarge
    8核32 GB

    298.35

    0.5977

    polar.app.g2.2xlarge
    16核32 GB

    481.20

    0.9653

    polar.app.g4.2xlarge
    16核64 GB

    577.44

    1.1577

    马来西亚(吉隆坡)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.65

    0.0046

    polar.app.g2.small
    1核2 GB

    4.33

    0.0093

    polar.app.g2.medium
    2核4 GB

    60.15

    0.1204

    polar.app.g4.medium
    2核8 GB

    64.96

    0.1297

    polar.app.g2.large
    4核8 GB

    114.29

    0.2292

    polar.app.g4.large
    4核16 GB

    151.58

    0.3033

    polar.app.g2.xlarge
    8核16 GB

    240.60

    0.4819

    polar.app.g4.xlarge
    8核32 GB

    298.35

    0.5977

    polar.app.g2.2xlarge
    16核32 GB

    481.20

    0.9653

    polar.app.g4.2xlarge
    16核64 GB

    577.44

    1.1577

    印度尼西亚(雅加达)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.32

    0.0041

    polar.app.g2.small
    1核2 GB

    3.79

    0.0081

    polar.app.g2.medium
    2核4 GB

    52.63

    0.1054

    polar.app.g4.medium
    2核8 GB

    56.84

    0.1135

    polar.app.g2.large
    4核8 GB

    100.00

    0.2006

    polar.app.g4.large
    4核16 GB

    132.63

    0.2654

    polar.app.g2.xlarge
    8核16 GB

    210.53

    0.4211

    polar.app.g4.xlarge
    8核32 GB

    261.05

    0.5224

    polar.app.g2.2xlarge
    16核32 GB

    421.05

    0.8452

    polar.app.g4.2xlarge
    16核64 GB

    505.26

    1.0130

    菲律宾

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.32

    0.0041

    polar.app.g2.small
    1核2 GB

    3.79

    0.0081

    polar.app.g2.medium
    2核4 GB

    52.63

    0.1054

    polar.app.g4.medium
    2核8 GB

    56.84

    0.1135

    polar.app.g2.large
    4核8 GB

    100.00

    0.2006

    polar.app.g4.large
    4核16 GB

    132.63

    0.2654

    polar.app.g2.xlarge
    8核16 GB

    210.53

    0.4211

    polar.app.g4.xlarge
    8核32 GB

    261.05

    0.5224

    polar.app.g2.2xlarge
    16核32 GB

    421.05

    0.8452

    polar.app.g4.2xlarge
    16核64 GB

    505.26

    1.0130

    泰国(曼谷)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.32

    0.0041

    polar.app.g2.small
    1核2 GB

    3.79

    0.0081

    polar.app.g2.medium
    2核4 GB

    52.63

    0.1054

    polar.app.g4.medium
    2核8 GB

    56.84

    0.1135

    polar.app.g2.large
    4核8 GB

    100.00

    0.2006

    polar.app.g4.large
    4核16 GB

    132.63

    0.2654

    polar.app.g2.xlarge
    8核16 GB

    210.53

    0.4211

    polar.app.g4.xlarge
    8核32 GB

    261.05

    0.5224

    polar.app.g2.2xlarge
    16核32 GB

    421.05

    0.8452

    polar.app.g4.2xlarge
    16核64 GB

    505.26

    1.0130

    德国(法兰克福)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.32

    0.0041

    polar.app.g2.small
    1核2 GB

    3.79

    0.0081

    polar.app.g2.medium
    2核4 GB

    52.63

    0.1054

    polar.app.g4.medium
    2核8 GB

    56.84

    0.1135

    polar.app.g2.large
    4核8 GB

    100.00

    0.2006

    polar.app.g4.large
    4核16 GB

    132.63

    0.2654

    polar.app.g2.xlarge
    8核16 GB

    210.53

    0.4211

    polar.app.g4.xlarge
    8核32 GB

    261.05

    0.5224

    polar.app.g2.2xlarge
    16核32 GB

    421.05

    0.8452

    polar.app.g4.2xlarge
    16核64 GB

    505.26

    1.0130

    英国(伦敦)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    2.32

    0.0041

    polar.app.g2.small
    1核2 GB

    3.79

    0.0081

    polar.app.g2.medium
    2核4 GB

    52.63

    0.1054

    polar.app.g4.medium
    2核8 GB

    56.84

    0.1135

    polar.app.g2.large
    4核8 GB

    100.00

    0.2006

    polar.app.g4.large
    4核16 GB

    132.63

    0.2654

    polar.app.g2.xlarge
    8核16 GB

    210.53

    0.4211

    polar.app.g4.xlarge
    8核32 GB

    261.05

    0.5224

    polar.app.g2.2xlarge
    16核32 GB

    421.05

    0.8452

    polar.app.g4.2xlarge
    16核64 GB

    505.26

    1.0130

    美国(硅谷)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    1.98

    0.0035

    polar.app.g2.small
    1核2 GB

    3.25

    0.0069

    polar.app.g2.medium
    2核4 GB

    45.11

    0.0903

    polar.app.g4.medium
    2核8 GB

    48.72

    0.0973

    polar.app.g2.large
    4核8 GB

    85.71

    0.1719

    polar.app.g4.large
    4核16 GB

    113.68

    0.2275

    polar.app.g2.xlarge
    8核16 GB

    180.45

    0.3618

    polar.app.g4.xlarge
    8核32 GB

    223.76

    0.4486

    polar.app.g2.2xlarge
    16核32 GB

    360.90

    0.7236

    polar.app.g4.2xlarge
    16核64 GB

    433.08

    0.8683

    美国(弗吉尼亚)

    节点规格码

    CPU和内存

    价格(美元/月)

    价格(美元/小时)

    polar.app.g1.tiny
    1核1 GB

    1.98

    0.0035

    polar.app.g2.small
    1核2 GB

    3.25

    0.0069

    polar.app.g2.medium
    2核4 GB

    45.11

    0.0903

    polar.app.g4.medium
    2核8 GB

    48.72

    0.0973

    polar.app.g2.large
    4核8 GB

    85.71

    0.1719

    polar.app.g4.large
    4核16 GB

    113.68

    0.2275

    polar.app.g2.xlarge
    8核16 GB

    180.45

    0.3618

    polar.app.g4.xlarge
    8核32 GB

    223.76

    0.4486

    polar.app.g2.2xlarge
    16核32 GB

    360.90

    0.7236

    polar.app.g4.2xlarge
    16核64 GB

    433.08

    0.8683

  • 存储费用图应用所产生的数据和文件等将存储在PolarDB PostgreSQL版集群存储空间,

  • 流量与带宽:不收取费用。

相关文档