JanusGraph学习-基本概念

JanusGraph学习-基本概念

0x00 系列文章目录

  1. JanusGraph学习-基本概念
  2. JanusGraph学习-安装和使用

0x01 摘要

本文主要讲下JanusGraph图库的一些基础概念

0x02 JanusGraph是什么

JanusGraph学习-基本概念_第1张图片
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

JanusGraph学习-基本概念_第2张图片
前面提到过TinkerPop,他是一个开源的图计算框架,广义上来说他是一个生态圈,包括许多技术。
TinkerPop是一个在不同的图库和图处理上的抽象层。这样的好处是可用同一份代码测试不同技术实现的,找出最佳实现的技术。

关于他的概念请点击这里
Gremlin是一个图库中的查询语言,地位和关系型数据库中的SQL差不多。我们可以使用Gremlin来访问图中的顶点和边,以及定制化遍历查询图数据的方式。可以使用Gremlin Console快捷使用Gremlin。

0xFF 参考文档

JanusGraph
TinkerPop

你可能感兴趣的:(图计算)