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.…...
油猴浏览器(安卓)
油猴浏览器页面设计非常简约,在主页上还为小伙伴们推荐了很多的常用书签,像油猴脚本,常用导航,新闻,热搜类的,快递查询等等,可以设置快捷访问,把常用到的一些网站设置在主页上。 浏览…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
