架构概述
JanusGraph 是一个图数据库引擎。JanusGraph 本身专注于紧凑的图序列化、丰富的图数据建模和高效的查询执行。此外,JanusGraph 利用 Hadoop 进行图分析和批处理。JanusGraph 为数据持久化、数据索引和客户端访问实现了健壮的模块化接口。JanusGraph 的模块化架构使其能够与各种存储、索引和客户端技术互操作;它还简化了扩展 JanusGraph 以支持新技术的流程。
在 JanusGraph 和磁盘之间,有一个或多个存储和索引适配器。JanusGraph 标准版随附以下适配器,但 JanusGraph 的模块化架构支持第三方适配器。
- 数据存储
- 索引,可加速并支持更复杂的查询
总的来说,应用程序可以通过两种方式与 JanusGraph 交互
-
将 JanusGraph 嵌入到应用程序中,并在同一个 JVM 内直接针对图执行 Gremlin 查询。查询执行、JanusGraph 的缓存和事务处理都发生在与应用程序相同的 JVM 中,而从存储后端检索数据可以是本地的,也可以是远程的。
-
通过向服务器提交 Gremlin 查询,与本地或远程 JanusGraph 实例进行交互。JanusGraph 原生支持 Apache TinkerPop 栈的 Gremlin Server 组件。