前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

原创/朱季谦

图数据库是一项对照前沿而逐渐热门的手艺,是NoSql数据库的一种,它应用图形理论存储实体之间的关系信息,最主要的组成有两种,结点集和毗邻结点的边。常见的图数据库有Neo4j,JanuasGraph,Tigergraph等,其中,Gremlin是一种操作图数据库的图语言,它是Apache ThinkerPop框架下的图遍历语言。

Gremlin 语言包罗三个基本的操作:

  • map-step:对数据流中的工具举行转换;
  • filter-step:对数据流中的工具就行过滤;
  • sideEffect-step:对数据流举行盘算统计;

Tinkerpop3 模子焦点观点

  • Graph: 维护节点&边的聚集,提供接见底层数据库功效,如事务功效
  • Element: 维护属性聚集,和一个字符串label,解释这个element种类
  • Vertex: 继续自Element,维护了一组入度,出度的边聚集
  • Edge: 继续自Element,维护一组入度,出度vertex节点聚集.
  • Property: kv键值对
  • VertexProperty: 节点的属性,有一组健值对kv,另有分外的properties 聚集。同时也继续自element,必须有自己的id, label.
  • Cardinality: 「single, list, set」 节点属性对应的value是单值,照样列表,或者set。

 

那么HugeGraph又是什么呢?

 

凭据官网上的先容,HugeGraph是一款易用、高效、通用的开源图数据库系统(Graph Database),实现了Apache TinkerPop3框架及完全兼容Gremlin查询语言,支持百亿以上的极点和边快速导入,并提供毫秒级的关联关系查询能力(OLTP),并可与Hadoop、Spark等大数据平台集成以举行离线剖析(OLAP)。

HugeGraph是百度自主研发的图数据库,在2018年8月最先对外开源,我们之前做一款图库产物时手艺选型就是选了HugeGraph,总体感受这个手艺对照前沿也对照厉害。

HugeGraph有以下特点:

  • 极点、边:支持基本增删改查操作,支持有向图,支持两极点间统一类型多条边,支持超级点。
  • 属性:支持属性图、支持多值属性、支持多样化的属性类型、支持极点属性追加与合并。
  • 元数据:支持厚实的Schema校验,如属性是否可空(可选),支持Schema动态修改。
  • 索引:支持二级索引、局限索引、全文索引,支持团结索引。
  • 事务:遵照Tinkerpop事务规范,支持Read Committed级别事务。
  • 多极点ID计谋:支持主键ID、支持自动天生ID、支持用户自定义字符串ID、支持用户自定义数字ID。
  • 大规模数据:支持批量插入极点/边、支持超级极点、支持流式分页获取、支持Shard并行获取。
  • 优化的图接口:最短路径(Shortest Path)、K步连通子图(K-neighbor)、K步到达邻接点(K-out)等。
  • 其它:支持图变量(Graph Variables)、兼容性上已通过Apache Tinkerpop官方测试用例90%兼容测试。

 

学习Gremilin的第一步,当然是从安装环境最先,下面,我就把之前的安装教程分享出来:

 

网盘下载焦点安装包HugeGraph Server包和图形界面HugeGraph Studio包(截图是现在最新版本)。

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

网盘下载地址:

链接:https://pan.baidu.com/s/11qPFOFU-d9nxGEdws4zggQ
提取码:pqpy

行使HugeGraph学习Gremlin,主要只用安装以上两个包,它们的功效分别是:

 

焦点HugeGraph-Server: HugeGraph-Server是HugeGraph项目的焦点部门,包罗Core、Backend、API等子模块——

  • Core:图引擎实现,向下毗邻Backend模块,向上支持API模块;

  • Backend:实现将图数据存储到后端,支持的后端包罗:Memory、Cassandra、ScyllaDB、RocksDB、HBase及MySQL,用户凭据实际情况选择一种即可;

  • API:内置REST Server,向用户提供RESTful API,同时完全兼容Gremlin查询。

可视化界面(hugegraph-studio):基于Web的可视化环境,提供图操作界面、图数据展示与剖析。

 

一.先安装HugeGraph Server。

1.把压缩包放在你选择放的文件夹里,举行解压:

tar -zxvf hugegraph-0.10.4.tar.gz

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

DOM-XSS攻击原理与防御

解压完成后,进入到已解压的文件目录里,执行:vim conf/rest-server.properties,进入到编辑状态,将restserver.url改成:http://0.0.0.0:8080,代表本机以及其他机械都可以接见,修改完成后,:wq保留退出。

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

2.设置文件修改完后,需对后端做初始化操作,执行指令:

bin/init-store.sh

执行乐成会打印以下信息:

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

初始化完成后,自动天生一个corksdb-data的文件,这个文件克制删除,它是与数据存储相关的文件,HugeGraph实在可以与Hbase品级三方组件集成,可在conf目录下的hugegraph.properties文件中举行设置。前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

3.接下来就可以启动HugeGraph Server服务了,执行指令:

bin/start-hugegraph.sh

执行乐成后,会打印以下信息:

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

最后,输入jps,若泛起HugeGraph Server的历程,则证实已经安装启动乐成。

 

二.接下来,就最先安装启动图形化HugeGraph Studio

1.解压HugeGraph Studio压缩包:

tar -zxvf hugegraph-studio-0.10.0.tar.gz

解压完成后,进入已解压的文件目录里,执行指令:vim conf/hugegraph-studio.properties,举行设置文件编辑状态:

其中,studio.server.port填8088,studio.server.host填0.0.0.0,可令本机与本机之外的机械接见,graph.server.host填的是HugeGraph Server所在机械的地址IP,其安装在虚拟机192.168.200.128机械上,graphGraph Server.port对应的是HugeGraph Server设置设置的8080端口,只需修改设置下图截图ip与端口即可。

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

2.安装完成后,即可执行指令bin/hugegraph-studio.sh举行启动操作,乐成启动后,显示打印以下信息:

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

在浏览器测试运行下,输入1+3,若能显示[4],即已经完整启动完成,可在以下Studio界面玩Gremlin图数据库语言了。

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

历程遇到的问题:

刚最先,我参考网上一些教程,把HugeGraph Studio的设置文件中graph.server.host改成0.0.0.0。

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

发现可以泛起图形化界面,然则,在操作运行时,报了“Failed to connect HugeGraphServer.com.baidu.hugeGraph.rest.ClientException:Failed to do request的错误,后经检查,发现这里不能填对应HugeGraph Server设置文件里设置的0.0.0.0,而需要填HugeGraph Server所在的机械Ip,例如其所在虚拟机Ip,这样才气正常运行。

前沿技术学习:安装可操作图库语言Gremlin的图框架HugeGraph

图数据库是一项很前沿的手艺,迎接小伙伴关注我,我会把学习条记做成专栏记录下来。

原创文章,作者:admin,如若转载,请注明出处:https://www.2lxm.com/archives/2218.html