JanusGraph概述

本文介绍了图计算的概念,包括结构和处理过程,并详细阐述了TinkerPop——一个图计算框架,以及其核心Gremlin语言。接着,文章讨论了JanusGraph——一个分布式图形数据库,它利用TinkerPop接口实现图数据的存储和查询。JanusGraph支持多种后端存储如HBase和Cassandra,并结合ElasticSearch进行索引。TinkerPop与JanusGraph的关系体现在JanusGraph是基于TinkerPop的图数据系统,支持Gremlin遍历语言进行图操作和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要从以下几个方面来概述JanusGraph:

什么是图计算?
什么是TinkerPop?
什么是JanusGraph?
TinkerPop和JanusGraph的关系

1、什么是图计算

就如程序=数据结构+算法一样,图计算=Structure+Process
Structure,即图形结构,图数据库或图计算框架常用的图形结构通常是基于属性图模型:
一个图由Vertex(顶点、节点、实体)和Edge(边,线,关系)组成。顶点通过边连接,边有方向,也就是说一条边有一个起始节点和一个结束节点。
其中顶点和边上都可以包含属性(键值对形式,键一般是字符串,值可以是任意类型的数据)
顶点和边都有标签label进行标记,用于分类,顶点可以有多个label,边通常只有一个label。
Process,即处理过程,图处理过程是分析图结构的手段,图过程的典型形式称为遍历(Traversal)

2、什么是TinkerPop

Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP).
TinkerPop的核心Gremlin是什么?- Gremlin is Gremlin is Gremlin
理解Gremlin以及这句话的含义,可以将Gremlin大致类比为JDK,通过下面类比应该很容易理解Gremlin is Gremlin is Gremlin这句话,用户不管是通过哪种程序语言编写的Gremlin程序,不管是编写的OLTP程序还是OLAP程序,都是没有分别的,都可以通过编译为Gremlin字节码,在GTM(Gremlin Traversal Machine, Gremlin遍历机)上执行:
JDK = Java语言 + JVM + Java API类库
Gremlin = Gremlin语言 + GTM + TinkerPop结构API/过程API
TinkerPop不是一个完整的图数据系统,其提供了操作图数据的图形结构接口,图操作过程接口,以及编写图形操作程序的Gremlin语言,和执行图形遍历过程的GTM,但是其并不提供图数据持久化存储功能

在这里插入图片描述

3、什么是JanusGraph

JanusGraph是一个开源的分布式图形数据库,注意JanusGraph并不是一个真正意义上的分布式并行图计算数据库。这里的分布式主要是指JanusGraph可以使用HBase, Cassandra等分布式数据库作为后端数据存储,同时还可使用ElasticSearch或Solr等分布式全文检索系统作为索引后端,以及可以结合spark作为olap图分析处理。但是JanusGraph的oltp操作仍然是单机的,因为gremlin server虽然可以部署多台,但每个服务都是独立的,相关oltp操作只能在一台服务器上单机执行。

在这里插入图片描述

4、TinkerPop与JanusGraph的关系

JanusGraph是基于TinkerPop技术栈实现的,用TinkerPop的官方术语描述,JanusGraph属于TinkerPop-Enabled Data System Provider,即JanusGraph是启用TinkerPop功能的图数据系统。
每个启用TinkerPop的图数据系统的不同之处在于为在内存中,磁盘上或跨多机计算集群存储和表示其“图形”而进行的各种时间/空间权衡处理。JanusGraph默认可以选择将图数据存储在多种后端存储中,例如HBase, Cassandra, Berkeley DB中。
JanusGraph主要实现了TinkerPop两方面的接口:
图:这些基础接口定义了图,顶点,边和属性上的操作的语义。可以使用Gremlin OLTP立即查询存储图数据的数据系统。
GraphComputer:OLAP操作相关接口。
JanusGraph基于TinkerPop,最主要的好处是,可以使用Gremlin遍历语言进行图数据操作和分析,并且可以使用GTM执行Gremlin字节码
另外,还可以使用TinkerPop技术栈相关的一些工具和技术,例如,TinkerGraph(基于内存的图形系统), Gremlin Console(Gremlin命令行控制台), Gremlin Server(提供HTTP和WebSocket协议的Gremlin服务器), SparkGraphComputer(结合Spark的OLAP处理器)

转载:TinkerPop与JanusGraph概述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值