JanusGraph的设计是为了支持处理那些需要大量存储空间和强大的计算能力的图形。它的基本优点是大规模数据的实时遍历和分析查询。
JanusGraph支持多个非常大的图形,支持大量并发事务和运行图计算。

  • 它的事务处理能力兼容集群中的多台机器并可以以毫秒为单位回答了大型图表上复杂的遍历查询。
  • 它通过Hadoop的框架支持全局的图形分析和图的批量处理。

JanusGraph是一个图数据库引擎. JanusGraph集中在图的序列化, 图的数据模型和高效的查询. 此外JanusGraph依赖hadoop来做图的统计和批量图操作. JanusGraph为数据存储,索引和客户端访问实现了粗粒度的模块接口. JanusGraph的模块架构能和和许多存储,索引,客户端技术集成. 可以简便的扩展新的功能

JanusGraph标准支持下列存储适配和索引适配, 同时也支持第三方适配
数据存储
· Apache Cassandra
· Apache HBase
· Oracle Berkeley DB Java Edition

索引, 加快查询和复杂查询
· Elasticsearch
· Apache Solr
· Apache Lucene
通常, 应用通过两种方法与JanusGraph交互
当从本地或者远程检索数据, 内嵌在应用中的JanusGraph,运行Gremlin查询, JanusGraph缓存和事务处理和应用在同一个JVM上,
通过提交Gremlin查询, 和本地或者远程的JanusGraph实例交互, JanusGraph原生支持Gremlin Server 组件(TinkerPop stack)

架构图

启动

  1. 下载地址
  2. 解压并在终端打开
    1
    2
    $ bin/janusgraph.sh start
    $ bin/gremlin.sh

注:JanusGraph自带了一个可以开箱使用的JanusServer,里面集成了简化的cassandra和ES,不能作为生产环境,但可以用来学习使用JanusServer

  1. 测试
    1
    2
    3
    $ graph = JanusGraphFactory.open('conf/janusgraph-cassandra-es.properties')
    $ GraphOfTheGodsFactory.load(graph)
    $ g = graph.traversal()

参考资料

Comentários

⬆︎TOP