NebulaGrap入门介绍和集群安装部署
长风破浪八千里,落日晚霞不回头。 ——大宁。

NebulaGrap——分布式图数据库

官方文档:
NebulaGraph Database手册
官方文档
介绍
简介:
NebulaGraph 一款开源、分布式图数据库,擅长处理超大规模数据集。 Nebula Graph 采用存储计算分离架构,支持水平扩展,利用 RAFT 分布式 concensus 协议来实现金融级的高可用,类 SQL 查询语言降低了 SQL 程序员迁移成本。
特点:开源、分布式、易扩展、原生图数据库。能够承载包含数千亿个点和数万亿条边的超大规模数据集。提供毫秒级查询、类SQL
图数据库介绍:
图数据库是专门存储庞大的图像网络并从中检索信息的数据库。它可以将途中的数据搞笑存储为(Vertex)和边(Edge),还可以将属性(Property)附加到点和边上。模型图如下:
图数据库适合存储大多数从现实抽象出的数据类型。世界上几乎所有领域的事物都有内在联系,像关系型数据库这样的建模系统会提取实体之间的关系,并将关系单独存储到表和列中,而实体的类型和属性存储在其他列甚至其他表中,这使得数据管理费时费力。
NebulaGraph 的优势:
NebulaGraph 作为一个典型的图数据库,可以将丰富的关系通过边及其类型和属性自然地呈现。
| 特点 | NebulaGraph | |
|---|---|---|
| 开源 | NebulaGraph 是在 Apache 2.0 条款下开发的。越来越多的人,如数据库开发人员、数据科学家、安全专家、算法工程师,都参与到 NebulaGraph 的设计和开发中来,欢迎访问 NebulaGraph GitHub 主页参与开源项目。 | |
| 高性能 | 基于图数据库的特性使用 C++ 编写的 NebulaGraph,可以提供毫秒级查询。众多数据库中,NebulaGraph 在图数据服务领域展现了卓越的性能,数据规模越大,NebulaGraph 优势就越大。详情请参见 NebulaGraph benchmarking 页面。 | |
| 易扩展 | NebulaGraph 采用 shared-nothing 架构,支持在不停止数据库服务的情况下扩缩容。 | |
| 易开发 | NebulaGraph 提供 Java、Python、C++ 和 Go 等流行编程语言的客户端,更多客户端仍在开发中。详情请参见 NebulaGraph clients。 | |
| 高可靠访问控制 | NebulaGraph 支持严格的角色访问控制和 LDAP(Lightweight Directory Access Protocol)等外部认证服务,能够有效提高数据安全性。详情请参见验证和授权。 | |
| 生态多样化 | NebulaGraph 开放了越来越多的原生工具,例如 Nebula Graph Studio、Nebula Console、Nebula Exchange 等,更多工具可以查看生态工具概览。 此外,NebulaGraph 还具备与 Spark、Flink、HBase 等产品整合的能力,在这个充满挑战与机遇的时代,大大增强了自身的竞争力。 | |
| 兼容 openCypher 查询语言 | NebulaGraph 查询语言,简称为 nGQL,是一种声明性的、部分兼容 openCypher 的文本查询语言,易于理解和使用。详细语法请参见 nGQL 指南。 | |
| 面向未来硬件,读写平衡 | 闪存型设备有着极高的性能,并且价格快速下降,NebulaGraph 是一个面向 SSD 设计的产品,相比于基于 HDD + 大内存的产品,更适合面向未来的硬件趋势,也更容易做到读写平衡。 | |
| 灵活数据建模 | 用户可以轻松地在 NebulaGraph 中建立数据模型,不必将数据强制转换为关系表。而且可以自由增加、更新和删除属性。详情请参见数据模型。 | |
| 广受欢迎(忽略) | 腾讯、美团、京东、快手、360 等科技巨头都在使用 NebulaGraph。详情请参见 Nebula Graph 官网。 | |
| 适用场景 | 金融机构必须仔细研究大量的交易信息,才能检测出潜在的金融欺诈行为,并了解某个欺诈行为和设备的内在关联。这种场景可以通过图来建模,然后借助 NebulaGraph,可以很容易地检测出诈骗团伙或其他复杂诈骗行为。 | |
| 实时推荐 | NebulaGraph 能够及时处理访问者产生的实时信息,并且精准推送文章、视频、产品和服务。 | |
| 知识图谱 | 自然语言可以转化为知识图谱,存储在 NebulaGraph 中。用自然语言组织的问题可以通过智能问答系统中的语义解析器进行解析并重新组织,然后从知识图谱中检索出问题的可能答案,提供给提问人。 | |
| 社交网络 | 人际关系信息是典型的图数据,NebulaGraph 可以轻松处理数十亿人和数万亿人际关系的社交网络信息,并在海量并发的情况下,提供快速的好友推荐和工作岗位查询。 | |
nebula的六种数据模型:
| 数据模型 | 模型名称 | 模型解释 |
|---|---|---|
| space | 图空间 | 相当于一个数据库,不同的图空间数据是相互隔离的 |
| tag | 标签 | 由一组事先定义的属性构成 |
| vertex | 点 | 用vid标识,vid在同一个图空间唯一,相当于主键,一个点至少一个tag |
| edge type | 边类型 | 同tag,由一组事先定义的属性构成 |
| edge | 边 | nebula中只有有向边,一条边只有一个edge type,只有一个rank,rank是边的一个排序值,可用作边权,一个边由四元组<起点vid,edge type,rank,终点vid>唯一标识 |
| properties | 属性 | 属性就是键值对形式存储的信息 |
图论中的路径:
路径就是一个有限或者无线的点边连成的序列,路径的类型分为三种: walk, trail, path
| 路径类型 | 解释 | 备注 |
|---|---|---|
| walk | 点边可以重复的路径 | GO语句采用的是walk类型路径 |
| trail | 点可以重复,边不可重复的路径 | MATCH、FIND PATH和GET SUBGRAPH语句采用的是trail类型路径 trail中还有两类特殊的路径类型:cycle和circuit。 2.1 cycle:只有起点终点重复 2.2 circuit:除了起点终点重复外,还有其他点重复 |
| path | 点边都不重复 |
总结:
| 点重复 | 点不重复 | |
|---|---|---|
| 边重复 | walk | NONE |
| 边不重复 | trail | path |
安装部署
集群安装
参考:https://www.nebula-graph.com.cn/download (安装包下载)https://docs.nebula-graph.com.cn/3.6.0/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster/(手册)
#step1: 下载rpm包=====================================================================================
# 下载地址 https://www.nebula-graph.com.cn/download
wget https://oss-cdn.nebula-graph.com.cn/package/3.6.0/nebula-graph-3.6.0.el7.x86_64.rpm#step2: 安装到指定位置==================================================================================
rpm -ivh nebula-graph-3.0.0.el7.x86_64.rpm --prefix=/opt/nebula#step3:到安装目录的 ./etc 下面进行配置 nebula-graphd.conf、 nebula-storaged.conf、 nebula-metad.conf ====
#注意测试环境这三个文件--meta_server_addrs 和 --local_ip配置一样, 生产环境一般metad只有三个。 具体可参考官网:https://docs.nebula-graph.com.cn/3.4.1/4.deployment-and-installation/2.compile-and-install-nebula-graph/deploy-nebula-graph-cluster/
--meta_server_addrs=node1:9559,node2:9559,node3:9559
--local_ip=nodex#step4: 启动服务,查看状态
./scripts/nebula.service start all./scripts/nebula.service status all[WARN] Config file specified but the target is `all'[INFO] nebula-metad(de9b3ed): Running as 161172, Listening on 9559[INFO] nebula-graphd(de9b3ed): Running as 161239, Listening on 9669[WARN] nebula-storaged after v3.0.0 will not start service until it is added to cluster.[WARN] See Manage Storage hosts:ADD HOSTS in https://docs.nebula-graph.io/[INFO] nebula-storaged(de9b3ed): Running as 161282, Listening on 9779#step5:三台机子上同样的操作。#step6:将节点初始化(ADD HOSTS)到一个集群中。========================================================================
#6.1 安装命令行客户端1:Nebula Console
wget https://github.com/vesoft-inc/nebula-console/releases/download/v3.5.0/nebula-console-linux-amd64-v3.5.0
chmod +x nebula-console-linux-amd64-v3.0.0
#随意选一台机子进入:
./nebula-console-linux-amd64-v3.0.0 -addr nodex -port 9669 -u root -p nebula
#执行ADD HOSTS
ADD HOSTS node1:9779, node1:9779, node1:9779;#6.2 安装可视化界面客户端:Nebula Graph Studio
wget https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.2.2/nebula-graph-studio-3.2.2.x86_64.rpm
sudo rpm -i nebula-graph-studio-3.2.2.x86_64.rpm --prefix=/opt/nebula/studio
访问 ip:7001
登录: nodex:9669 / root / nebula#step7: add host到一个集群之后,在看status就正常了[root@nj-bigdata-warehouse03 etc]# /opt/nebula/scripts/nebula.service status all[INFO] nebula-metad(de9b3ed): Running as 164396, Listening on 9559[INFO] nebula-graphd(de9b3ed): Running as 164473, Listening on 9669[INFO] nebula-storaged(de9b3ed): Running as 164528, Listening on 9779

相关文章:
NebulaGrap入门介绍和集群安装部署
长风破浪八千里,落日晚霞不回头。 ——大宁。 NebulaGrap——分布式图数据库 官方文档: NebulaGraph Database手册 官方文档 介绍 简介: NebulaGraph 一款开源、分布式图数据库,擅长处理超大规模数据集。 Nebula …...
thinkphp5.0 composer 安装oss提示php版本异常
场景复现: 本地 phpstudy 环境,安装的有7.0到7.3三个版本,首先确认composer已经安装 composer安装阿里云oss的命令为:composer require aliyuncs/oss-sdk-php 运行报错: Problem 1- Root composer.json requires php…...
AList dokcer安装及百度网盘挂载
AList是开源的网盘管理工具。本文介绍如何通过docker安装AList并挂载百度网盘 1、AList安装 1.1、系统安装 通过docker命令进行安装,命令如下: docker run -d --restartalways -v /etc/alist:/opt/alist/data -p 5244:5244 --name"alist" xhofe/alist:…...
whereIn 遇到了最大限制,临时表处理方式
当使用whereIn 遇到了限制,比如whereIn target ID 已经超过了10万级别,但是又没办法join其他库表时,可以使用临时表的方式解决,临时表是以一种会话的方式存在,意味着你断开了mysql 这个临时会话会自动销毁。 为了创建…...
基于SSM的校园快递代取系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
MySQL事务详细讲解
文章目录 什么是事务:1.事务有哪些特性2.并发事务会引起什么问题3.事务的隔离级别有哪些4.Read View在MVCC中如何工作Read View 有四个重要的字段使用 InnoDB 存储引擎的数据库表,它的聚簇索引记录中都包含下面两个隐藏列: 5.可重复读是怎么工作的6.读提…...
[linux] mmcv-full 安装的时候 Building wheel 卡住
(已解决)FileNotFoundError: [Errno 2] No such file or directory: ‘:/usr/local/cuda-11.8/bin/nvcc‘_鳗小鱼的博客-CSDN博客 安装mmcv一直卡在建车轮_梦想成为大佬的王老八的博客-CSDN博客 pip install -U openmim mim install mmcv...
Python怎么实现更高效的数据结构和算法? - 易智编译EaseEditing
要实现更高效的数据结构和算法,你可以考虑以下几个方面的优化: 选择合适的数据结构: 选择最适合你问题的数据结构至关重要。例如,如果需要频繁插入和删除操作,可能链表比数组更合适。如果需要高效查找操作࿰…...
03-zookeeper节点动态上下线案例
服务器动态上下线监听案例 需求 在分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。 需求分析 客户端能实时洞察到服务器上下线的变化 基本流程: 1.服务端启动时去注册…...
如何使用TensorFlow完成线性回归
线性回归是一种简单的预测模型,它试图通过线性关系来预测目标变量。在TensorFlow中,我们可以使用tf.GradientTape来跟踪我们的模型参数的梯度,然后用这个信息来优化我们的模型参数。 以下是一个简单的线性回归的例子: pythonimpo…...
@controller和@RestController的区别
//controller和RestController的区别:RestController的返回值就是结果被输出在浏览器 //controller的返回值会到resources的templates下找 返回值".html" 页面 1.controller 简单的来说,当我们的返回值需要跳转大另一个页面时候,我们就会使…...
GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose 论文阅读
论文信息 题目:GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose 作者:Zhichao Yin and Jianping Shi 来源:CVPR 时间:2018 Abstract 我们提出了 GeoNet,这是一种联合无监督学习框架&a…...
蓝桥杯官网填空题(振兴中华)
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示࿱…...
node基础之七:Mongodb 数据库
下载地址:https://www.mongodb.com/try/download/community v:5.0.20 platform:window package:zip 复制到 c 盘/Programs Files c 盘创建 data/db 文件夹 默认存放数据地址 在 bin 目录下启动数据库 mongod, 客户端连接数据库…...
基于Python和mysql开发的智慧校园答题考试系统(源码+数据库+程序配置说明书+程序使用说明书)
一、项目简介 本项目是一套基于Python和mysql开发的智慧校园答题考试系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都…...
OPPO/真我手机ColorOS13系统解账户锁-移除手机密码图案锁方法
在搞机之前,请确定自己的手机不是非法获取,本文只讲叙ColorOS13系统解锁方法,仅为个人测试研究出来的经验,未对官方系统进行任何修改。只推荐专业维修师傅从维修的角度进行解锁,不推荐个人用户对非自己的手机进行非法破…...
阿里云大数据实战记录9:MaxCompute RAM 用户与授权
文章目录 问题来源:maxcompute 管理员无法访问敏感列?主线问题:如何提高用户等级衍生问题1:怎么知道自己的等级和表单的等级衍生问题2:为什么 dataworks 空间管理员也没有设置等级的权限?衍生问题3…...
JavaScript基础07——变量拓展-数组
哈喽,大家好,我是雷工! 每天打卡学习一点点,今天继续学习JavaScript基础知识,以下是学习笔记。 一、数组的基本介绍 数组 (Array)——一种将一组数据存储在单个变量名下的优雅方式。 数组的作用和变量一样…...
go-zerogo web集成redis实战
前言 上一篇:go-zero&go web集成JWT和cobra命令行工具实战 从零开始基于go-zero搭建go web项目实战-03集成redis实战 源码仓库地址 源码 https://gitee.com/li_zheng/treasure-box golang redis 客户端 Go-Redis 地址: GitHub: https://github.…...
油猴浏览器(安卓)
油猴浏览器页面设计非常简约,在主页上还为小伙伴们推荐了很多的常用书签,像油猴脚本,常用导航,新闻,热搜类的,快递查询等等,可以设置快捷访问,把常用到的一些网站设置在主页上。 浏览…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...
