JanusGraph之使用总结
-
什么是JanusGraph?
JanusGraph旨在支持大型图形的处理,需要存储和计算能力超出了单个机器。扩展图遍历和分析实时查询的数据处理是JanusGraph基本利益。 -
JanusGraph的安装及使用
a. 下载地址:https://github.com/JanusGraph/janusgraph/releases/
b. unzip janusgraph-0.3.1-hadoop2.zip
Archive: janusgraph-0.3.1-hadoop2.zip
creating: janusgraph-0.3.1-hadoop2/
c. 到解压后的包下的bin下,运行 ./gremlin.sh 即可进入到控制台
d. 加载图(初始化),graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties')
,该配置文件可自行修改
e.GraphOfTheGodsFactory.load(graph)
,执行此命令,可加载gods图
f.g = graph.traversal()
,获取到一个类似全图的对象
g. 可操作初始化图:saturn = g.V().has('name', 'saturn').next()
结果:==>v[256]g.V(saturn).valueMap() ==>[name:[saturn], age:[10000]]
-
JanusGraph的存储方式和结构
每个JanusGraph图有一个模式组成的边标签、属性键,顶点标签使用。
数据类型:
属性管理语句:
mgmt = graph.openManagement()
person = mgmt.makeVertexLabel('person').make()
name = mgmt.makePropertyKey('name').dataType(String.class).cardinality(Cardinality.SET).make()
birthDate = mgmt.makePropertyKey('birthDate').dataType(Long.class).cardinality(Cardinality.SINGLE).make()
mgmt.addProperties(person, name, birthDate)
mgmt.commit()
-
JAVA如何连接JanusGraph
-
JAVA如何操作JanusGraph
-
JanusGraph的优点和缺点
基本优点:
a. 支持非常大的图。JanusGraph图规模与集群中机器的数量。
b. 支持很多并发事务处理和操作图。JanusGraph事务能力的尺度与集群中机器的数量和答案在巨大复杂的遍历查询图,以毫秒为单位。
c. 支持全球图形分析和批量图像处理通过Hadoop框架。
d.支持地理、数值范围和全文搜索非常大的图的顶点和边。
e.本机支持流行的属性图数据模型由Apache TinkerPop暴露。
f.本机支持图遍历语言小鬼。
g.容易集成与小鬼服务器编程语言无关的连通性。
h.众多graph-level配置提供旋钮调优性能。
i.Vertex-centric指数提供vertex-level查询缓解问题臭名昭著的超级节点的问题。
j.提供了一个优化,以便有效地使用磁盘表示存储和访问速度。
k.开放源码Apache 2许可下的自由。
配合Apache Cassandra 的优点
a. 持续可用,没有单点故障。
b. 没有读/写瓶颈没有主/从架构图。
c. 弹性可扩展性允许介绍和删除机器。
d.缓存层确保连续访问的数据在内存中是可用的。
e. 增加缓存的大小通过添加更多的机器集群。
f.与Apache Hadoop的集成。
g.开放源码Apache 2许可下的自由。
配合HBase JanusGraph的优点
a. 与Apache Hadoop的紧密集成的生态系统。
b.本机支持强大的一致性。
c. 线性可伸缩性和增加更多的机器。
d. 严格一致的读和写。
e. 方便的基类支持Hadoop MapReduce工作HBase表。
f.通过JMX支持出口指标。
g. 开放源码Apache 2许可下的自由。
缺点:
a. 新图形数据库
b. 可视化工具缺乏
注意:JanusGraph对JDK要求在8.0以上。