Nebula Graph v2.5.0 支持内存水位配置、慢查询终止

摘要

Nebula Graph 年中版本 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 直接升级,具体升级步骤参考文档:升级历史版本至v2.5.0 - Nebula Graph Database 手册升级v2.0.x至v2.5.0 - Nebula Graph Database 手册

4 个赞