发版说明
NebulaGraph v2.5.0 Release Note
摘要
NebulaGraph 年中版本 v2.5.0 在稳定性方面新增内存水位配置,支持慢查询终止、SUBGRAPH 返回不带属性图结构、全文索引重建等等新功能。
Feature
- 支持 session 管理,#280
- 支持慢查询终止,已知问题:所有 query 的查询与终止都会有延迟,这与实现方案有关,#1152
- LOOKUP 语句增强表达式解析索引的能力,#1188
- 支持配置机器内存水位,一定程度上缓解 OOM 问题,#1067
- FIND PATH 支持边过滤,#1091
- SUBGRAPH 支持只返回图结构,不包含属性,#1134
- TIMESTAMP 函数支持无参数执行,#515
- 支持查询各个服务的版本,#944
- 支持 INDEX 和 TTL 同时使用,#382
- 支持在指定属性创建全文索引。#460
- 创建 space 及 schema 支持 comment,#895
- 支持全文索引重建,#1123
Bug Fix
- 权限导致的多语句执行问题,#1165
- 修复 UNWIND 导致没有结果的问题,#1018
- 修复聚合函数在某些场景下导致的 crash 问题,#1015
- 修复 OR 表达式在索引匹配中的问题,#1005
- 修复函数的大小写敏感问题,#927
- 修复查询索引创建信息时没有检查 tag/edge 类型的问题,#933
- 修复 SUBSTRING 函数的 bug,#491
- 修复 meta 不能正确返回 leader change,#423
- 修复 LIMIT、ORDER、GROUP 语句使用变量的问题,#1314
- 修复 db_dump 工具打印 int 类型 VID 的问题,#533
- 修复 BALANCE 任务恢复后仍显示 FAILE 的问题,#528
Enhancement
- listener 接口优化,支持获取全量数据,#465、#484
- meta 的 leader 表重新组织,#439
- 增加 DiskManager 用于检查磁盘剩余容量,#461
- 优化 raft 的 heartbeat 实现,#438
- storage 支持并发执行 GO/FETCH/LOOKUP,#503
- 加强了 exists 函数对 map 的支持,#973
- 加强聚合函数的使用方式,比如 COUNT(v) + AVG(v),#968
Change
- SUBGRAPH 语法变化
# 增加WITH PROP关键字用于输出属性
GET SUBGRAPH WITH PROP FROM <vids>
# 原有语法将只输出图结构
GET SUBGRAPH FROM <vids>
ORDER BY
用法变更
# Before:
LOOKUP ON player \
YIELD player.age As playerage \
| GROUP BY $-.playerage \
YIELD $-.playerage as age, count(*) AS number \
| ORDER BY number DESC, age DESC;
# From v2.5.0
LOOKUP ON player \
YIELD player.age As playerage \
| GROUP BY $-.playerage \
YIELD $-.playerage as age, count(*) AS number \
| ORDER BY $-.number DESC, $-.age DESC;
本次 v2.5.0 支持从 v1.x 和 v2.x 直接升级,具体升级步骤参考文档:https://docs.nebula-graph.com.cn/2.5.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-250/ 、https://docs.nebula-graph.com.cn/2.5.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-250/