docker-compose安装NebulaGraph 3.8.0


官方文档

一. 安装NebulaGraph

NebulaGraph 部署参考文档

1.1 通过 Git 克隆nebula-docker-compose仓库的3.8.0分支到主机

mkdir -p /Users/wanfei/docker-compose/nebula && cd /Users/wanfei/docker-compose/nebula

git clone -b release-3.8 https://github.com/vesoft-inc/nebula-docker-compose.git

# 切换至目录nebula-docker-compose
cd nebula-docker-compose/

# 指定时区
cat <<EOF> .env
TZ=Asia/Shanghai
EOF

1.2 部署

docker-compose up -d

1.3 卸载

docker-compose down

1.4 查看

wanfei@mofeideMacBook-Pro nebula-docker-compose % docker ps | grep nebula
70137f541760   vesoft/nebula-console:v3.6.0        "sh -c 'for i in `se…"   3 minutes ago   Up 3 minutes                                                                                                                    nebula-docker-compose-console-1
3f29aa421def   vesoft/nebula-graphd:v3.8.0         "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   0.0.0.0:9669->9669/tcp, 0.0.0.0:63886->19669/tcp, 0.0.0.0:63887->19670/tcp                             nebula-docker-compose-graphd-1
ef5190a9df6c   vesoft/nebula-graphd:v3.8.0         "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   0.0.0.0:63885->9669/tcp, 0.0.0.0:63883->19669/tcp, 0.0.0.0:63884->19670/tcp                            nebula-docker-compose-graphd1-1
7640e2812514   vesoft/nebula-graphd:v3.8.0         "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   0.0.0.0:63888->9669/tcp, 0.0.0.0:63889->19669/tcp, 0.0.0.0:63890->19670/tcp                            nebula-docker-compose-graphd2-1
fc31d6efbdab   vesoft/nebula-storaged:v3.8.0       "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   9777-9778/tcp, 9780/tcp, 0.0.0.0:63873->9779/tcp, 0.0.0.0:63874->19779/tcp, 0.0.0.0:63875->19780/tcp   nebula-docker-compose-storaged2-1
c7fe852c181a   vesoft/nebula-storaged:v3.8.0       "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   9777-9778/tcp, 9780/tcp, 0.0.0.0:63871->9779/tcp, 0.0.0.0:63872->19779/tcp, 0.0.0.0:63870->19780/tcp   nebula-docker-compose-storaged0-1
04356a7f0f43   vesoft/nebula-storaged:v3.8.0       "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   9777-9778/tcp, 9780/tcp, 0.0.0.0:63878->9779/tcp, 0.0.0.0:63876->19779/tcp, 0.0.0.0:63877->19780/tcp   nebula-docker-compose-storaged1-1
383136cd274e   vesoft/nebula-metad:v3.8.0          "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   9560/tcp, 0.0.0.0:63866->9559/tcp, 0.0.0.0:63864->19559/tcp, 0.0.0.0:63865->19560/tcp                  nebula-docker-compose-metad2-1
6385839bf6ba   vesoft/nebula-metad:v3.8.0          "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   9560/tcp, 0.0.0.0:63861->9559/tcp, 0.0.0.0:63859->19559/tcp, 0.0.0.0:63860->19560/tcp                  nebula-docker-compose-metad1-1
b70e6755bb45   vesoft/nebula-metad:v3.8.0          "/usr/local/nebula/b…"   3 minutes ago   Up 3 minutes (healthy)   9560/tcp, 0.0.0.0:63868->9559/tcp, 0.0.0.0:63869->19559/tcp, 0.0.0.0:63867->19560/tcp                  nebula-docker-compose-metad0-1

二. 安装NebulaGraph Studio

Studio 可以方便管理 NebulaGraph 数据,具备以下功能:

  • 使用 Schema 管理功能,用户可以使用图形界面完成图空间、Tag(标签)、Edge Type(边类型)、索引的创建,查看图空间的统计数据,快速上手 NebulaGraph 。
  • 使用导入功能,通过简单的配置,用户即能批量导入点和边数据,并能实时查看数据导入日志。
  • 使用控制台功能,用户可以使用 nGQL 语句创建 Schema,并对数据执行增删改查操作。

NebulaGraph Studio 部署参考文档

2.1 下载 Studio 的部署配置文件

cd ..

curl https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.10.0/nebula-graph-studio-3.10.0.tar.gz -o nebula-graph-studio-3.10.0.tar.gz

2.2 创建nebula-graph-studio-3.10.0目录,并将安装包解压至目录中

mkdir nebula-graph-studio-3.10.0 && tar -zxvf nebula-graph-studio-3.10.0.tar.gz -C nebula-graph-studio-3.10.0

2.3 解压后进入 nebula-graph-studio-3.10.0 目录

cd nebula-graph-studio-3.10.0

2.4 部署Studio

docker-compose up -d

当屏幕返回以下信息时,表示 Docker 版 Studio 已经成功启动

Creating docker_web_1      ... done

2.5 启动成功后,在浏览器地址栏输入 http://ip:7001

本地部署可访问 http://localhost:7001
也可以访问 http://10.0.89.182:7001

在这里插入图片描述
IP:10.0.89.182
账号:root
密码:nebula
在这里插入图片描述

2.6 演示

2.6.1 规划 Schema

官方文档
示例数据集 下载
在这里插入图片描述
在这里插入图片描述

2.6.2 创建图空间basketballplayer

操作图空间文档
在这里插入图片描述
在这里插入图片描述
创建成功
在这里插入图片描述

2.6.3 创建 Schema

操作Tag 文档
操作 Edge type 文档
操作索引 文档
查看 Schema 文档

使用控制台创建 Schema
在这里插入图片描述
输入

// 创建 Tag player,带有 2 个属性
CREATE TAG player(name string, age int);

// 创建 Tag team,带有 1 个属性
CREATE TAG team(name string);

// 创建 Edge type follow,带有 1 个属性
CREATE EDGE follow(degree int);

// 创建 Edge type serve,带有 2 个属性
CREATE EDGE serve(start_year int, end_year int);

点击右侧运行

至此,用户已经完成了 Schema 创建。用户可以运行以下语句查看 TagEdge type 的定义是否正确、完整

// 列出当前图空间中所有 Tag
SHOW TAGS;

// 列出当前图空间中所有 Edge type
SHOW EDGES;

// 查看每种 Tag 和 Edge type 的结构是否正确
DESCRIBE TAG player;
DESCRIBE TAG team;
DESCRIBE EDGE follow;
DESCRIBE EDGE serve;
2.6.4 导入数据
新建数据源

在这里插入图片描述
选择下载的示例文件(解压后)
在这里插入图片描述
点击确认,上传成功,数据源管理可以查看上传文件
在这里插入图片描述

创建导入任务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点击导入
在这里插入图片描述
输入密码确认
在这里插入图片描述
导入完成

2.6.5 查看
统计

在这里插入图片描述
使用命令

SHOW STATS;

在这里插入图片描述

查看Schema

在这里插入图片描述

查所有的数据

因为数据量太小了,所以可以把所有数据在 NebulaGraph Explorer 中渲染出来

命令

MATCH ()-[e]->() RETURN e LIMIT 10000

在这里插入图片描述
点击可视化
在这里插入图片描述

2.6.6 更多示例下载

在这里插入图片描述
下载完成可以查看 Demo介绍,也可以去控制台操作查看

三. NebulaGraph介绍

3.1 数据模型

数据模型 官方文档

NebulaGraph 数据模型使用 6 种基本的数据模型:

图空间(Space):

图空间用于隔离不同团队或者项目的数据。不同图空间的数据是相互隔离的,可以指定不同的存储副本数、权限、分片等。

点(Vertex):点用来保存实体对象,特点如下:
  • 点是用点标识符(VID)标识的。VID在同一图空间中唯一。VID 是一个 int64,或者 fixed_string(N)。
  • 点可以有 0 到多个 Tag。

NebulaGraph 2.x 及以下版本中的点必须包含至少一个 Tag。

点代表图中的实体,可以带有各种属性。在 Nebula 中,每个点都有一个唯一的标识符,称为 Vertex ID。点用于表达现实世界中的实体。

边(Edge)

边是用来连接点的,表示两个点之间的关系或行为,特点如下:

  • 两点之间可以有多条边。
  • 边是有方向的,不存在无向边。
  • 四元组 <起点 VID、Edge type、边排序值 (rank)、终点 VID> 用于唯一标识一条边。边没有 EID。
  • 一条边有且仅有一个 Edge type。
  • 一条边有且仅有一个 Rank,类型为 int64,默认值为 0。

Rank 可以用来区分 Edge type、起始点、目的点都相同的边。该值完全由用户自己指定。
读取时必须自行取得全部的 Rank 值后排序过滤和拼接。
不支持诸如next(), pre(), head(), tail(), max(), min(), lessThan(), moreThan()等函数功能,也不能通过创建索引加速访问或者条件过滤。

边表示图中的关联,将两个点连接起来。每个边都有一个起始节点和一个结束节点。边用于描述实体之间的联系。

标签(Tag)

Tag 由一组事先预定义的属性构成。

标签是一组相同类型的点的集合,用于对点进行分类或分组。每个标签都有一个名称,点可以分配给一个或多个标签。标签在数据模型中提供更好的组织和查询能力。

边类型(Edge type)

Edge type 由一组事先预定义的属性构成。

属性(Property)

属性是指以键值对(Key-value pair)形式表示的信息。

Tag 和 Edge type 的作用,类似于关系型数据库中“点表”和“边表”的表结构。

属性是与点和边相关的数据。每个点和边都可以拥有零个或多个属性,用于描述它们的特征、信息或状态。例如,人的点可以有姓名、年龄、性别等属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值