Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release 3.1.3-ent #2357

Merged
merged 9 commits into from
Nov 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Publish docs via GitHub Pages
on:
push:
branches:
- v3.1.0
- v3.1.3

jobs:
deploy:
Expand All @@ -27,7 +27,7 @@ jobs:
- name: mike
run: |
git fetch origin gh-pages --depth=1 # fix mike's CI update
mike deploy 3.1.0 -p --rebase
mike deploy 3.1.3 -p --rebase
mike list

- name: show git branch
Expand All @@ -37,7 +37,7 @@ jobs:
git checkout gh-pages
- name: Compress
run: |
tar -vczf nebula-docs.tar.gz 3.1.0 versions.json *.html
tar -vczf nebula-docs.tar.gz 3.1.3 versions.json *.html

- name: Transfer
# uses: garygrossgarten/github-action-scp@release
Expand All @@ -60,7 +60,7 @@ jobs:
mkdir -p /usr/web/nebula-docs/
tar -xzf /usr/web/nebula-docs.tar.gz -C /usr/web/nebula-docs/
mkdir -p /usr/web/nebula-docs/site/pdf/
cp -f /usr/web/nebula-docs/3.1.0/pdf/NebulaGraph-CN.pdf /usr/web/nebula-docs/site/pdf/NebulaGraph-book.pdf
cp -f /usr/web/nebula-docs/3.1.3/pdf/NebulaGraph-CN.pdf /usr/web/nebula-docs/site/pdf/NebulaGraph-book.pdf

# pip3 install --upgrade pip
# pip3 install -r /usr/web/nebula-docs/requirement.txt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Nebula Graph 使用自行开发的 KVStore,而不是其他开源 KVStore,原

- 点数据存储格式

相比 Nebula Graph 2.x 版本,3.x 版本的每个点多了一个不含 TagID 字段并且无 value 的 key,用于支持无 Tag 的点
相比 Nebula Graph 2.x 版本,3.x 版本在开启**无 Tag** 的点配置后,每个点多了一个不含 TagID 字段并且无 value 的 key。

![The vertex format of storage service](https://docs-cdn.nebula-graph.com.cn/figures/3.0-vertex-key.png)

Expand Down
4 changes: 2 additions & 2 deletions docs-2.0/20.appendix/0.FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ nGQL 没有该功能。

例如执行 `MATCH (n) RETURN (n)`. 会返回错误 `Scan vertices or edges need to specify a limit number, or limit number can not push down.`。

一个办法是使用 [Nebula Algorithm](../nebula-algorithm.md).
一个办法是使用 [Nebula Algorithm](../graph-computing/nebula-algorithm.md).

或者指定各 Tag/Edge Type,然后再自己通过 `Union` 拼装。

Expand All @@ -309,7 +309,7 @@ nebula > MATCH (s)<-[e]-() WHERE id(s) == "given" RETURN count(e); #入度

没有直接命令。

可以使用 [Nebula Algorithm](../nebula-algorithm.md)。
可以使用 [Nebula Algorithm](../graph-computing/nebula-algorithm.md)。

## 关于运维

Expand Down
4 changes: 2 additions & 2 deletions docs-2.0/20.appendix/6.eco-tool-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,15 @@ Nebula Flink Connector 是一款帮助 Flink 用户快速访问 Nebula Graph 的

## Nebula Algorithm

Nebula Algorithm(简称 Algorithm)是一款基于 [GraphX](https://spark.apache.org/graphx/) 的 Spark 应用程序,通过提交 Spark 任务的形式使用完整的算法工具对 Nebula Graph 数据库中的数据执行图计算,也可以通过编程形式调用 lib 库下的算法针对 DataFrame 执行图计算。详情请参见[什么是 Nebula Algorithm](../nebula-algorithm.md)。
Nebula Algorithm(简称 Algorithm)是一款基于 [GraphX](https://spark.apache.org/graphx/) 的 Spark 应用程序,通过提交 Spark 任务的形式使用完整的算法工具对 Nebula Graph 数据库中的数据执行图计算,也可以通过编程形式调用 lib 库下的算法针对 DataFrame 执行图计算。详情请参见[什么是 Nebula Algorithm](../graph-computing/nebula-algorithm.md)。

|Nebula Graph 版本|Algorithm 版本|
|:---|:---|
| {{ nebula.tag }} | {{algorithm.tag}}|

## Nebula Analytics

Nebula Analytics是一款集成了开源高性能图计算框架 Plato 的应用程序,支持利用 Plato 对 Nebula Graph 数据库中的数据执行图计算。详情请参见[什么是 Nebula Analytics](../nebula-analytics.md)。
Nebula Analytics是一款集成了开源高性能图计算框架 Plato 的应用程序,支持利用 Plato 对 Nebula Graph 数据库中的数据执行图计算。详情请参见[什么是 Nebula Analytics](../graph-computing/nebula-analytics.md)。

|Nebula Graph 版本|Analytics 版本|
|:---|:---|
Expand Down
91 changes: 45 additions & 46 deletions docs-2.0/20.appendix/release-note.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,55 @@
# Nebula Graph {{ nebula.release }} release notes

## 变更

- 默认不支持插入无 Tag 的点。如需使用无 Tag 的点,在集群内所有 Graph 服务的配置文件(`nebula-graphd.conf`)中新增`--graph_use_vertex_key=true`;在所有 Storage 服务的配置文件(`nebula-storaged.conf`)中新增`--use_vertex_key=true`。

## 优化

- 支持在表达式中使用模式,如:`MATCH (v:player) WHERE (v)-[:like]->() RETURN v`。[#3997](https://github.com/vesoft-inc/nebula/pull/3997)
- 支持用`CLEAR SPACE`清除图空间数据并保留 Schema 信息。[#3989](https://github.com/vesoft-inc/nebula/pull/3989)
- 支持在匹配模式中重复点的别名,如:`MATCH (v)-->(v)`。[#3929](https://github.com/vesoft-inc/nebula/pull/3929)
- 优化`SUBGRAPH`和`FIND PATH`从而提高性能。[#3871](https://github.com/vesoft-inc/nebula/pull/3871) [#4095](https://github.com/vesoft-inc/nebula/pull/4095)
- 优化路径以减少冗余路径和时间复杂度。[#4126](https://github.com/vesoft-inc/nebula/pull/4162)
- 优化获取属性的方式进而优化`MATCH`语句的性能。[#3750](https://github.com/vesoft-inc/nebula/pull/3750)
- 优化`GO`、`YIELD`子句,减少不必要的属性读取。[#3974](https://github.com/vesoft-inc/nebula/pull/3974)
- 支持获取属性时 Filter 及`LIMIT`下推。 [#3844](https://github.com/vesoft-inc/nebula/pull/3844) [#3839](https://github.com/vesoft-inc/nebula/pull/3839)
- `maxHop`在匹配可变长度路径中是可选的。[#3881](https://github.com/vesoft-inc/nebula/pull/3881)
- 使用`DROP SPACE`之后图空间将进行物理删除。[#3913](https://github.com/vesoft-inc/nebula/pull/3913)
- 优化日期时间/日期/时间中数字解析。[#3797](https://github.com/vesoft-inc/nebula/pull/3797)
- 添加`toSet`函数,将`LIST`或`SET`转换为`SET`。[#3594](https://github.com/vesoft-inc/nebula/pull/3594)
- 支持使用 nGQL 来显示服务的 HTTP 端口,并禁用 HTTP2 端口。[#3808](https://github.com/vesoft-inc/nebula/pull/3808)
- 限制单用户、单机器连接数据库的会话数量。[#3729](https://github.com/vesoft-inc/nebula/pull/3729)
- 优化存储启动时的等待机制,保证与 Meta 服务及时连接。[#3971](https://github.com/vesoft-inc/nebula/pull/3971)
- 当节点存在多条路径,某条数据路径对应磁盘故障时,不再需要重建整个节点。[#4131](https://github.com/vesoft-inc/nebula/pull/4131)
- 优化 Job 管理。[#3976](https://github.com/vesoft-inc/nebula/pull/3976) [#4045](https://github.com/vesoft-inc/nebula/pull/4045) [#4001](https://github.com/vesoft-inc/nebula/pull/4001)
- 支持在作业管理中管理`DOWNLOAD`、`INGEST SST`文件。[#3994](https://github.com/vesoft-inc/nebula/pull/3994)
- 支持显示失败作业的错误码。[#4067](https://github.com/vesoft-inc/nebula/pull/4067)
- 支持禁用 OS 页面缓存,只在共享环境中使用块缓存和 Nebula 存储缓存,以避免应用程序之间的内存占用干扰。[#3890](https://github.com/vesoft-inc/nebula/pull/3890)
- 更新 KV 分离阈值的默认值(从 0 到 100)。[#3879](https://github.com/vesoft-inc/nebula/pull/3879)
- 支持 gflag 设置表达式深度上限,方便调整适配不同的机器环境。[#3722](https://github.com/vesoft-inc/nebula/pull/3722)
- 新增`KILL QUERY`的权限检查。当启用身份验证时,具有 GOD 角色的用户可以终止所有查询,而具有其他角色的用户只能终止自己的查询。[#3896](https://github.com/vesoft-inc/nebula/pull/3896)
- 新增 distcc、sccache 等编译方式的支持。[#3896](https://github.com/vesoft-inc/nebula/pull/3896)
- meta dump 工具支持更多可 dump 的表。[#3870](https://github.com/vesoft-inc/nebula/pull/3870)
- 存储层将写操作(`INSERT VERTEX`或者`INSERT EDGE`)的并发控制,从报错并要求客户端重试,改为内部排队,以便客户端更简单适配。[#3926](https://github.com/vesoft-inc/nebula/pull/3926)
- 支持查询[集群间同步进度](../synchronization-and-migration/replication-between-clusters.md)。

- 增强`AtomicLogBuffer`的内存使用,避免重建索引和数据同步时的 OOM 问题。

- 统一配置文件的示例和描述。

- 调整心跳日志的级别。

## 缺陷修复

- 修复`LOOKUP`中使用函数调用作为过滤器的一部分导致的服务崩溃问题。[#4111](https://github.com/vesoft-inc/nebula/pull/4111)
- 修复`IN`表达式中的属性没有索引绑定时的崩溃问题。[#3986](https://github.com/vesoft-inc/nebula/pull/3986)
- 修复并发扫描点或者边时导致 Storage 服务崩溃的问题。[#4190](https://github.com/vesoft-inc/nebula/pull/4190)
- 修复`MATCH`语句的聚合子句中,使用模式表达式时崩溃的问题。[#4180](https://github.com/vesoft-inc/nebula/pull/4180)
- 修复获取`profile`查询的 JSON 结果导致的崩溃问题。[#3998](https://github.com/vesoft-inc/nebula/pull/3998)
- 修复 Lambda 函数中的`async`接口运行完毕且`threadManager`中的任务未执行时的崩溃问题。[#4000](https://github.com/vesoft-inc/nebula/pull/4000)
- 修复`GROUP BY`输出的缺陷。[#4128](https://github.com/vesoft-inc/nebula/pull/4128)
- 修复`SHOW HOSTS`有时不能显示版本的缺陷。[#4116](https://github.com/vesoft-inc/nebula/pull/4116)
- 修复`id(n) == $var`,`id(n) IN [$var]`,`id(n) == $var.foo.bar`,`id(n) IN $var.foo.bar`参数化的缺陷。[#4024](https://github.com/vesoft-inc/nebula/pull/4024)
- 修复`MATCH...WHERE`中出现错误路径方向的缺陷。[#4091](https://github.com/vesoft-inc/nebula/pull/4091)
- 修复`WHERE`子句同时引用多`MATCH`变量结果显示不正确的缺陷。 [#4143](https://github.com/vesoft-inc/nebula/pull/4143)
- 修复优化规则的缺陷。[#4146](https://github.com/vesoft-inc/nebula/pull/4146)
- 修复节点处理 Raft 快照失败的缺陷。[#4019](https://github.com/vesoft-inc/nebula/pull/4019)
- 修复节点接收快照后无法接受更多日志的缺陷。[#3909]( https://github.com/vesoft-inc/nebula/pull/3909)
- 修复快照中不包含不带 Tag 的点的缺陷。[#4189](https://github.com/vesoft-inc/nebula/pull/4189)
- 修复同一个 Tag 或者 Edge 的版本超过 255 后读取最新版本的 Schema 失败的缺陷。[#4023](https://github.com/vesoft-inc/nebula/pull/4023)
- 修复`SHOW STATS`不统计不带 Tag 的点的缺陷。[#3967](https://github.com/vesoft-inc/nebula/pull/3967)
- 修复有时时间戳获取错误的缺陷。[#3958](https://github.com/vesoft-inc/nebula/pull/3958)
- 修复可以为`root`用户分配图空间中的其他角色的缺陷。[#3868](https://github.com/vesoft-inc/nebula/pull/3868)
- 修复词法分析器中的列索引重复计数的缺陷。[#3626](https://github.com/vesoft-inc/nebula/pull/3626)
- 修复 Web 服务收到特殊攻击消息时崩溃的问题。
- 修复删除全文索引导致的崩溃问题。
- 修复并发 map 导致的崩溃问题。
- 修复 Raft 在某些场景下的崩溃问题。
- 修复删除有索引的点和边时,语句中的 VID 的长度超出定义长度时,Storage 服务崩溃的问题。
- 修复表达式的语法错误导致崩溃的问题。
- 修复`LOOKUP`语句导致崩溃的问题。
- 修复复合`MATCH`语句导致崩溃的问题。
- 修复多`MATCH`语句优化阶段崩溃的问题。
- 修复收集变量类型导致崩溃的问题。
- 修复表达式非法导致崩溃的问题。
- 修复只有图空间路径没有分区路径时 Storage 服务崩溃的问题。
- 修复`BALANCE LEADER`任务执行器的死锁问题。
- 修复构建`BALANCE`计划时无限循环的问题。
- 修复重建全文索引失败的问题。
- 修复使用 logrotate 的问题。
- 修复数据恢复时机器密钥丢失的问题。
- 修复取消快照 future 时主机无法停止的问题。
- 修复缓存大小溢出和死锁的问题。
- 修复 MetaDaemon 缺少`RETURN`子句的问题。
- 修复 Raft 的脑裂问题。
- 修复 Meta listener 验证 License 的问题。
- 修复 Meta listener 不清理数据的问题。
- 修复 drainer 同步脏数据的问题。
- 修复 drainer 守护进程无法正常退出的问题。
- 修复审计日志无法异步使用的问题。
- 修复多`MATCH`语句并发异常的问题。
- 修复无法正常重新执行重建 Tag 索引任务的问题。
- 修复停止执行中的任务后,重建 Tag 索引任务总是失败的问题。
- 修复由于 UTF8 字符被截断导致 ElasticSearch 写入错误的问题。
- 修复写入 ElasticSearch 前删除截断文本的问题。
- 修复使用 ElasticSearch 保存审计日志时,没有记录 DML 和 DQL 类型的审计日志的问题。
- 修复当`ENABLE_BREAKPAD`启用时,如果日志目录不存在,会导致服务无法启动的问题。
- 修复如果 GOD 角色的用户名不为`root`,Meta 服务初始化时会自动创建`root`用户的问题。

## 历史版本

Expand Down
6 changes: 5 additions & 1 deletion docs-2.0/3.ngql-guide/10.tag-statements/2.drop-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@

点可以有一个或多个 Tag。

- 如果某个点只有一个 Tag,删除这个 Tag 后,该点变为无 Tag 的点
- 如果某个点只有一个 Tag,删除这个 Tag 后,用户就**无法访问**这个点,下次 Compaction 操作时会删除该点,但与该点相邻的**边仍然存在**——这会造成悬挂边

- 如果某个点有多个 Tag,删除其中一个 Tag,仍然可以访问这个点,但是**无法访问**已删除 Tag 所定义的所有属性。

删除 Tag 操作仅删除 Schema 数据,硬盘上的文件或目录不会立刻删除,而是在下一次 Compaction 操作时删除。

!!! Compatibility

NebulaGraph {{nebula.release}} 中默认不支持插入无 Tag 的点。如需使用无 Tag 的点,在集群内所有 Graph 服务的配置文件(`nebula-graphd.conf`)中新增`--graph_use_vertex_key=true`;在所有 Storage 服务的配置文件(`nebula-storaged.conf`)中新增`--use_vertex_key=true`。

## 前提条件

- 登录的用户必须拥有对应权限才能执行`DROP TAG`语句。详情请参见[内置角色权限](../../7.data-security/1.authentication/3.role-list.md)。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ prop_value_list:

!!! caution

Nebula Graph {{ nebula.release }} 中支持插入无 Tag 的点。
NebulaGraph {{nebula.release}} 中默认不支持插入无 Tag 的点。如需使用无 Tag 的点,在集群内所有 Graph 服务的配置文件(`nebula-graphd.conf`)中新增`--graph_use_vertex_key=true`;在所有 Storage 服务的配置文件(`nebula-storaged.conf`)中新增`--use_vertex_key=true`。插入无 Tag 点的命令示例如`INSERT VERTEX VALUES "1":();`

- `property_name`:需要设置的属性名称。

Expand All @@ -78,9 +78,6 @@ prop_value_list:
## 示例

```ngql
# 插入不包含 Tag 的点。
nebula> INSERT VERTEX VALUES "1":();

# 插入不包含属性的点。
nebula> CREATE TAG IF NOT EXISTS t1();
nebula> INSERT VERTEX t1() VALUES "10":();
Expand Down
4 changes: 2 additions & 2 deletions docs-2.0/3.ngql-guide/6.functions-and-expressions/4.schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ Nebula Graph 支持以下 Schema 函数。
|string type(<edge\>) | 返回边的 Edge type。|
|src(<edge\>)|返回边的起始点 ID。数据类型和点 ID 的类型保持一致。|
|dst(<edge\>)|返回边的目的点 ID。数据类型和点 ID 的类型保持一致。|
|vertex startNode(<path\>) | 获取一条路径并返回它的起始点 ID。|
|string endNode(<path\>) | 获取一条路径并返回它的目的点 ID。|
|string startNode(<path\>) | 获取一条路径并返回它的起始点信息,包括点 ID、Tag、属性和值。|
|string endNode(<path\>) | 获取一条路径并返回它的目的点信息,包括点 ID、Tag、属性和值。|
|int rank(<edge\>) | 返回边的 rank。|

## 示例
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 升级 Nebula Graph v3.0.x 至 v{{nebula.release}}
# 升级 Nebula Graph v3.x 至 v{{nebula.release}}

Nebula Graph v3.0.x 升级至 v{{nebula.release}},只需要使用 v{{nebula.release}}的 RPM/DEB 包进行升级操作即可,或者[编译 v{{nebula.release}}](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) 之后重新安装。
Nebula Graph v3.x 升级至 v{{nebula.release}},只需要使用 v{{nebula.release}}的 RPM/DEB 包进行升级操作即可,或者[编译 v{{nebula.release}}](../2.compile-and-install-nebula-graph/1.install-nebula-graph-by-compiling-the-source-code.md) 之后重新安装。


## RPM/DEB 包升级步骤
Expand All @@ -9,6 +9,10 @@ Nebula Graph v3.0.x 升级至 v{{nebula.release}},只需要使用 v{{nebula.re

2. 停止所有 Nebula Graph 服务。详情请参见[管理 Nebula Graph 服务](../../2.quick-start/5.start-stop-service.md)。建议更新前备份配置文件。

!!! caution

如果用户需要保留无 Tag 的点,在集群内所有 Graph 服务的配置文件(`nebula-graphd.conf`)中新增`--graph_use_vertex_key=true`;在所有 Storage 服务的配置文件(`nebula-storaged.conf`)中新增`--use_vertex_key=true`。

3. 执行如下命令升级:

- RPM 包
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,45 +118,12 @@
!!! note
如果启动异常,放弃本次升级,并在[论坛](https://discuss.nebula-graph.com.cn/)或 [GitHub](https://github.com/vesoft-inc/nebula/issues) 提问。

5. 使用`bin`目录下的新版 db_upgrader 文件升级数据格式。

!!! danger
本步骤不会备份 Storage 服务中保存的数据。升级数据格式前,务必按照本文**升级准备**部分的说明备份数据。

命令语法:

```
<nebula_install_path>/bin/db_upgrader \
--src_db_path=<old_storage_data_path> \
--dst_db_path=<data_backup_path> \
--upgrade_meta_server=<meta_server_ip>:<port>[, <meta_server_ip>:<port> ...] \
--upgrade_version=2:3
```

- `old_storage_data_path`代表数据的存储路径,由 Storage 服务配置文件中的`data_path`参数定义。
- `data_backup_path`代表自定义的数据备份路径。**当前版本该设置不生效,升级数据格式时不会将原有数据备份到任何路径。**
- `meta_server_ip`和`port`分别代表 Meta 服务各节点的 IP 地址和端口号。
- `2:3`代表从 Nebula Graph 2.x 版本升级到 3.x 版本。

本文示例:

```
<nebula_install_path>/bin/db_upgrader \
--src_db_path=/usr/local/nebula/data/storage \
--dst_db_path=/home/vesoft/nebula/data-backup \
--upgrade_meta_server=192.168.8.132:9559 \
--upgrade_version=2:3
```

!!! note
如果出现异常,放弃本次升级,并在[论坛](https://discuss.nebula-graph.com.cn/)或 [GitHub](https://github.com/vesoft-inc/nebula/issues) 提问。

6. 启动所有 Graph 和 Storage 服务。
5. 启动所有 Graph 和 Storage 服务。

!!! note
如果启动异常,放弃本次升级,并在[论坛](https://discuss.nebula-graph.com.cn/)或 [GitHub](https://github.com/vesoft-inc/nebula/issues) 提问。

7. 连接新版 Nebula Graph,验证服务是否可用、数据是否正常。连接方法参见[连接服务](../connect-to-nebula-graph.md)。
6. 连接新版 Nebula Graph,验证服务是否可用、数据是否正常。连接方法参见[连接服务](../connect-to-nebula-graph.md)。

目前尚无有效方式判断升级是否完全成功,可用于测试的参考命令如下:

Expand Down
Loading