2. JanusGraph 架构概述
原文链接: xiuxiuing.gitee.io
JanusGraph是一个图形数据库引擎。JanusGraph专注于提供便捷的图序列化,丰富的图数据模型和高效的数据查询。而且,JanusGraph也可以基于Hadoop进行图数据分析和图数据批量处理。 JanusGraph为数据持久化,数据索引和客户端访问提供了强大的模块化接口。 JanusGraph模块化的架构使其能够与各种存储,索引和客户端结合使用;它也简化了JanusGraph的扩展流程。
JanusGraph可以适配多种数据库和索引。JanusGraph默认支持以下的适配,但是JanusGraph的模块化架构使得也支持第三方的适配器。
数据库:
- Apache Cassandra
- Apache HBase
- Oracle Berkeley DB Java版
索引,加快并支持更复杂的查询:
- Elasticsearch
- Apache Solr
- Apache Lucene
从广义上讲,程序可以通过以下两种方式与JanusGraph进行交互:
在同一JVM中,在程序中可以直接通过JanusGraph执行Gremlin查询。在执行查询时,JanusGraph的缓存和事务处理跟应用程序在同一JVM中进行,而数据检索的后端存储可以是本地或者远端。
通过向服务器提交Gremlin查询语句来与本地或者远端的JanusGraph实例进行交互。JanusGraph原生支持Apache TinkerPop的Gremlin Server组件。
下图是JanusGraph的架构图
JanusGraph 架构概述——和hugegraph、graphbase架构都是一样,只是利用其它数据库做了图计算和查询引擎