janusgraph是一个图数据库引擎。janusgraph自己聚焦在密集的图连接,富图数据模型,和高效查询执行。此外,janusgraph使用hadoop用来做图分析和批量图处理。janusgraph实现了健壮的、模块化的接口用于数据持久化、数据索引和客户端连接。janusgraph模块化的架构使他能在广泛的存储、索引和客户端技术上交互操作,也很容易就能扩展janusgraph去支持新的技术。
-
数据存储:
- cassandra
- hbase
- berkeley DB java edition
-
索引(加速和激活过多复杂查询):
- es
- solr
- lucene
大体来说,应用程序能够与janusgraph互动通过两种方式:
内嵌janusgraph到应用程序里,在同一个jvm里,执行gramlin请求直接到图。当数据从后端存储(local or remote)检索出来,query执行、janusgraph的缓存、事务处理都发生在和应用程序的同一个jvm里。
与一个local或remote的janusgraph实例进行互动,通过提交gremlin查询给实例服务。janusgraph原生支持apache tinkerpop栈的gremlin server组件。
高级架构和组件图: