linux环境安装可操作图库语言Gremlin的图框架HugeGraph

news2024/9/22 21:15:16

原创/朱季谦

若你还没接触过图数据库,可能看到这个概念时,会比较蒙蔽。

图是什么?图数据库又是什么?

首先,在数据结构中,图是一种由顶点(vertex)集合及顶点间关系集合组成的一种非线性数据结构。

而图数据库,则是以图这种具有点边结构来增、删、改、查之类操作的NoSQL数据库,它特别擅长处理大数据之间的关联。

常见的图数据库有Neo4j,JanuasGraph,Tigergraph等,其中,Gremlin是一种操作图数据库的图语言,它是Apache ThinkerPop框架下的图遍历语言。

 

那么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包(截图是目前最新版本)。

image

网盘下载地址:

链接:百度网盘 请输入提取码
提取码: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

clipboard

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

clipboard

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

bin/init-store.sh

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

clipboard

初始化完成后,自动生成一个corksdb-data的文件,这个文件禁止删除,它是与数据存储相关的文件,HugeGraph其实可以与Hbase等第三方组件集成,可在conf目录下的hugegraph.properties文件中进行配置。

image

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

bin/start-hugegraph.sh

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

clipboard

最后,输入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与端口即可。

clipboard

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

clipboard

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

clipboard

过程遇到的问题:

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

clipboard

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

clipboard

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1316063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

配电房环境监测模块

配电房环境监测模块是一个智能系统,依托电易云-智慧电力物联网平台,旨在实时监控配电房内部的环境参数,以确保配电设备的正常运行。该模块包括以下功能: 温度监测:对配电房内的温度进行实时监测,防止因温度…

【linux】Debian不能运行sudo的解决

一、问题: sudo: 没有找到有效的 sudoers 资源,退出 sudo: 初始化审计插件 sudoers_audit 出错 二、可用的方法: 出现 "sudo: 没有找到有效的 sudoers 资源,退出" 和 "sudo: 初始化审计插件 sudoers_audit 出错&q…

鸿蒙开发编辑器设置

首先需要知道如何打开设置页面,以下所有设置都需要在设置界面中进行修改,有三种方式可以打开, 1、编辑器左上角file菜单下的Setting菜单。 2、编辑器右上角的设置按钮 3、按快捷键 ctrlalts 注意不要和其他软件案件重复。 一、设置每次打开…

《Kotlin核心编程》笔记:反射、注解和加锁

Kotlin 和 Java 反射 1)Kotlin 的 KClass 和 Java 的 Class 可以看作同一个含义的类型,并且可以通过.java和.kotlin方法在KClass和Class之间互相转化。2)Kotlin 的 KCallable 和 Java 的 AccessiableObject 都可以理解为可调用元素。Java 中构…

【Database】什么是数据库?常见的数据库类型有哪些?

什么是数据库?常见的数据库类型有哪些? 首先,什么是数据库?把它想象成一个数字游乐场,我们以结构化的方式组织和存储大量信息。现在,让我们来谈谈数据库的主要类型。 关系型数据库: 想象一下…

java设计模式-工厂方法模式

1.工厂方法(FactoryMethod)模式的定义 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。 2.工厂方法模式的主要优缺点 优点: 用户只需要知道具体工厂的名称…

黑色翻页时钟HTML源码-倒计时单页翻页时钟

黑色翻页时钟HTML源码-倒计时单页翻页时钟这是一个类似fliqlo的黑色翻页时钟HTML源码,它仅包含一个HTML文件,上传到网站后即可使用。该时钟具有查看当前时间、秒表和倒计时功能,并且可以在页面的右下角进行设置。 红色动态炫酷数字时钟html网…

怎么解决bash: composer: command not found问题

是不是遇到过bash: composer: command not found问题,怎么解决呢?下面由composer教程栏目给大家来详细介绍该问题的解决方法。 1、先看报错 2、由于错误的原因,安装很多东西都失败了。网上有的说是环境变量的问题,又一个个找也没…

2021年数维杯国际大学生数学建模D题2021年电影市场票房波动模型分析求解全过程文档及程序

2021年数维杯国际大学生数学建模 D题 2021年电影市场票房波动模型分析 原题再现: 1、电影票房预测建模背景   随着人们文化消费需求的增加,电影院和银幕的数量不断增加,我国的电影产业不断呈现出繁荣景象。2019年,全国电影票房…

java设计模式学习之【享元模式】

文章目录 引言享元模式简介定义与用途实现方式 使用场景优势与劣势在Java中的应用享元模式在Spring中的应用画图示例代码地址 引言 想象一下,您正在开发一个游戏,游戏中有成千上万的树木和建筑。如果每个对象都独立存储它的所有数据,将会占用…

前端路由钩子的神奇之处:你真的了解它们吗?(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

JAVAEE大型金融支付-第1章-讲义-项目介绍

第1章 讲义-项目介绍与环境搭建 1.项目背景 1.1 项目背景 随着移动支付的盛行,商业银行、第三方支付公司、其它清算机构、消费金融公司等众多类型的机构,都在为商户 提供网络(移动)支付解决方案。另一方面,用户的支…

狗dog目标检测数据集VOC+YOLO格式1W+张

狗,是食肉目犬科 [11]犬属 [13]哺乳动物 [12],别称犬,与马、牛、羊、猪、鸡并称“六畜” [13]。狗的体型大小、毛色因品种不同而不同,体格匀称;鼻吻部较长;眼呈卵圆形;两耳或竖或垂;…

RTX 40 SUPER发布时间定了!价格也有了

快科技12月16日消息,NVIDIA RTX 40 SUPER系列显卡基本确定将在2024年1月8日正式发布,也就是CES 2024大展期间,随后在1月中下旬陆续解禁上市。 RTX 4070 SUPER 1月16日解禁公版/原价丐版,1月17日解禁高价高配版,上市开…

高云GW1NSR-4C开发板M3核串口通信

1.PLLVR频率计算 高云的M3核要用到PLLVR核,其输出频率FCLKIN*(FBDIV_SEL1)/(IDIV_SEL1),但同时要满足FCLKIN*(FBDIV_SEL1)*ODIV_SEL)/(IDIV_SEL1)的值在600MHz和1200MHz之间。例如官方示例,其输入频率FCLKIN50MHz,要输出80MHz&am…

5个创建在线帮助文档的好方法!

在线帮助文档是企业为用户提供支持服务的重要工具,它能够帮助用户更好地了解和使用产品,提高用户体验。然而,创建一份优秀的在线帮助文档需要掌握一定的技巧和方法。接下来就介绍一下创建在线帮助文档的5个好方法,帮助企业更好地为…

【C++干货铺】会搜索的二叉树(BSTree)

个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 前言: 二叉搜索树 二叉搜索树概念 二叉搜索树操作 二叉搜索树的查找 二叉搜索树的插入 二叉搜索树元素的删除 ​二叉搜索树的实现 BSTree结点 …

C#学习笔记 - C#基础知识 - C#从入门到放弃

C# 持续更新中~~ 上次更新日期:20231215 第1节 C# 简单介绍1.1 C# 是什么1.2 C# 强大的编程功能1.3 C# 发展史1.4 C#与Java区别 第2节 C#基本语法2.1 C#程序结构2.2 C# 结构解析2.3 命名空间及标识符、关键字2.3.1 别名的使用2.3.2 标识符2.3.3 C#关键字 第3节 变量…

树莓派(Raspberry Pi)4B密码忘记了,怎么办?

树莓派长时间不用,导致密码忘记了,这可咋整? 第1步:取出SD卡 将树莓派关机,移除sd卡,使用读卡器,插入到你的电脑。 第2步:编辑 cmdline.txt 在PC上打开SD卡根目录,启动…

windows电脑半夜突然睡眠自动唤醒的问题查找与治理

遇见几次了,半夜起来上厕所,发现休眠的电脑居然自己开了,还得跑过去把电脑再休眠,很烦。昨天晚上居然自动唤醒两次,忍无可忍了,于是开始查找原因。 查询原因如下,解决方面也在后面。 固件 S3 计…