暂无图片
暂无图片
10
暂无图片
暂无图片
暂无图片

PostgreSQL图插件AGE

原创 闫宗帅 2025-01-25
243

PostgreSQL图插件AGE

Apache AGE是PostgreSQL的一个图插件,作为Apache的一个顶级项目目前备受关注。AGE是A Graph Extension的缩写,支持openCypher语言,本文关注下它的基础架构。

1、AGE中涉及的几个系统表


AGE中涉及几个重要的系统表:

1)ag_graph,用于存储所有的图schema,相当于每创建一个图都有一个图名字,这个系统表就存储所有图名。当然,体现在数据库中,这里存储的是schema

2)ag_label,用于存储所有点集表和边集表的表信息。和上一个系统表一样,在create extension age加载图插件后就创建了该表。

3)通过create_graph函数创建一个图后,会创新一个新的schema:new_graph,也就是函数的入参。之后此图的点和边等表都在这个schema下。执行该函数后,会创建两个表:_ag_label_vertex和_ag_label_edge,这两个表作为点和边集表的母表,之后创建任何类型的点集表和边集表都继承该表

4)同时,会将_ag_label_vertex和_ag_label_edge作为点和边表的信息插入ag_label中

从这几个系统图中就可以看到,对于每个图中,加载点和边数据的时候,除了向点集表和边集表插入数据外,还会向母表_ag_label_vertex和_ag_label_edge插入,这就拖累了加载速度,且该母表会存储所有数据,母表也将变得非常大,不利于管理。

另外,该AGE是基于PostgreSQL的图数据库,天然就是单机版本,不适用分布式数据库,这是一个遗憾。由于GreenPlum进行了闭源,CloudberryDB接替了它,也成为了Apache的孵化项目,期待未来AGE可以进一步发展,能够适配到CloudberryDB这个分布式数据库中。

2、参考

https://github.com/apache/age?tab=readme-ov-file#language-specific-drivers

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论