TitanDB/JanusGraph图数据库入门简介|实战总结|选型对比|存储结构深入分析

JanusGraph源自TitanDB,是TinkerPop框架下的图数据库,支持Gremlin查询语言。文章回顾了Titan的发展,指出JanusGraph在Titan基础上的改进,如后端存储兼容性提升。JanusGraph采用邻接表存储结构,适用于处理大量邻接边查询。文章总结了JanusGraph的功能、架构和实战中遇到的问题,并探讨了未来优化方向。
摘要由CSDN通过智能技术生成

历史背景

JanusGraph图数据库,源自于TitanDB开源图数据库。TitanDB在2012年发布第一个版本,2015年被Datastax公司收购,后续不再维护导致项目停滞。

 

图数据库有2个最具代表性的查询语言:Cypher 及 Gremlin。Cypher是商业公司Neo4j出品,Neo4j图数据库在2007年发布了第一个版本,是商用图数据库领域的开拓者。Gremlin是Apache TinkerPop框架下规范的语言,TinkerPop属于当前图数据库领域最流行的框架规范,具备开源开放、功能丰富、生态完善等特点,拥有大量厂商支持(超过20家),Titan当属TinkerPop框架下最成功的开源图数据库实现,后续的不少图数据库或多或少借鉴了Titan的思想,Titan的几位核心作者包括:Dan、Matthias、Marko(okram)、Stephen(spmallette)等,其中的两位--Marko和Stephen同时也是TinkerPop的核心作者。个人在此致敬Titan和TinkerPop。

 

非常令人遗憾的是,Titan在2015年被收购后,其开源社区无人维护,否则以其前三年的势头来看,大有一统图江湖的趋势,不过没有如果。而Janus稍许弥补了这个遗憾,也算是后继之人,但是Janus绝大部分功能沿袭自Titan,没有更上一个台阶发扬光大,只是做了一些小修补。下面是对Titan/Janus的一些总结和分析。

 

2016年由其他人基于Titan源码Fork出了Janus,到目前(2020年)Janus已经合入了700多个Pull Request,主要包括:

  • 支持Bigtable后端;

  • 跟进TinkerPop框架的版本升级,目前已支持3.4.4;

  • 后端存储升级与兼容,比如兼容Apache Cassandra 3.x, Apache HBase 2.x;

  • 其它方面的增强与Bugfix,比如:新增Schema约束、新增HBase TTL、丰富GEO索引查询、优化AdjacentID查询等。

总结来说,在大方向上Janus对Titan改进并不多,主要包括2方面:

  • 提供后端存储的版本升级与兼容适配;

  • 新增极少的新Feature,大多是小修补,有少量功能增强。

 

整体架构

Janus整体架构分为3层,中间层是图引擎,最底层是存储层,最上层是应用程序层:

  • 图引擎:图数据库核心,对外提供图方式的读写API。处理写请求,将数据索引起来、按照特定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值