版权声明:欢迎转载,请注明作者和出处 https://blog.csdn.net/baichoufei90/article/details/83417215
JanusGraph学习-基本概念
0x00 系列文章目录
0x01 摘要
本文主要讲下JanusGraph图库的一些基础概念
0x02 JanusGraph是什么
JanusGraph是一个图库,被设计来处理超过那些单节点存储和计算能力的大规模图计算,通过缩放图数据处理来进行实时遍历和分析式查询。
JanusGraph实现了TinkerPop
框架的接口,底层的存储可选HBase(强调一致性)、Cassandra(强调可用性)、Berkeley DB(单节点,测试用) 等;此外还是用了使用来加速查询,并支持复杂查询,索引套件可用Elasticsearch、Solr、Lucene。
JanusGraph有两种使用方式:
- 将JanusGraph实例嵌入应用程序,直接执行Gremlin查询,即查询、JanusGraph缓存和事务管理都和应用程序在同一个JVM中。同时,从存储端数据检索可能发生在本地或远程。
- 提交Gremlin查询到janusgraph实例服务器上
JanusGraph的优点如下:
- 因为有集群模式,可支持非常大的图
- 高并发事务和图操作处理,响应时间可达毫秒级
- 支持通过Hadoop框架进行全局图分析和图批量处理
- 支持对巨大的图的顶点和边进行geo,数值范围和全文搜索
- 天生支持TinkerPop公开的常用的属性图数据模型
- 天生支持Gremlin图遍历语言
- 轻松集成Gremlin Server
- 以顶点为中心的索引提供顶点层级的查询,这样可以缓解臭名昭着的超级节点问题
- 提供一个优化后的磁盘抽象来允许高速访问
- 在Apache 2 license下开源
0x03 TinkerPop和Gremlin
前面提到过TinkerPop,他是一个开源的图计算框架,广义上来说他是一个生态圈,包括许多技术。
TinkerPop是一个在不同的图库和图处理上的抽象层。这样的好处是可用同一份代码测试不同技术实现的,找出最佳实现的技术。
关于他的概念请点击这里
Gremlin是一个图库中的查询语言,地位和关系型数据库中的SQL差不多。我们可以使用Gremlin来访问图中的顶点和边,以及定制化遍历查询图数据的方式。可以使用Gremlin Console
快捷使用Gremlin。