图数据库第一篇
背景
一个偶然的机会,公司需要用到图数据库,由于license 的关系,不能使用目前很成熟的Neo4j,只能选择其它的开源图数据库,如HugeGraph(百度), Arangodb, Nebula, Janusgraph等等,没有一个开源的图库的成熟度达到了Neo4j的高度,或多或少的都有一些问题,要么是性能,要么是社区活跃度,再者很多图库都有自己的一些交互语言,如Arangodb使用AQL进行交互, Nebula使用到nGQL进行交互。考虑到后期更换图库的成本以及当前业页的场景, 我选择了支持tinkerpop的gremlin语言的Janusgraph。
测试代码:https://gitee.com/COMPANY-BES/graph-demo.git
技术选型
在现有模型下进行技术选型,选型过程中,对所涉及到的常用开源图库进行了性能上的对比,最终选定了janusgraph。重点考虑对象是hugegraph,当考虑到其社区不活跃以及维护人员太少,担心后期不更新,所以放弃;另外Nebula也是重点考虑对象,但是其性能不是太稳定,时快时慢,使用自己的nGQL语言进行交互,学习成本略大。综合考虑选择了Janusgraph
JanusGraph
JanusGraph算是一个图库里的一个新星,在国外社区较为活跃 ,但国内资料相对较少,结合管网的文档以及github上的代码是一个不错的方法。
在学习过程中遇到了不少问题,所以想开个博客记录一下所遇到的一些问题。