下图是一个简化的 AGE 体系结构,整体上和 PostgreSQL 架构类似,每个组件都基于 PostgreSQL 事务缓存层和存储层。
每个组件负责的功能如下:
- 查询解析器负责解析 Cypher 查询,Apache AGE 使用 openCypher 语法实现;
- 查询转换器负责将 Cypher 查询转换为查询树,成为一个子查询节点;
- 查询优化器负责理解图操作并相关的执行计划节点;
- 执行器负责执行图操作相关的执行计划;
- Cypher 查询兼容 PostgreSQL 完整的事务功能(ACID)。
基于以上架构设计,Apache AGE 实现了以下功能:
- 基于 PostgreSQL 数据库的图数据查询与可视化(Apache AGE Viewer);
- 同时支持关系型数据和图数据的混合查询功能;
- 快速索引和高效的图查询处理;
- 图数据与关系型数据的可视化分析。
Apache AGE Viewer 是一个基于 Web 的用户接口,可以支持 Apache AGE 图数据的可视化和探索分析。