You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nebula Graph是否支持自增ID?能否自动生成VID无需手动创建?

Nebula Graph 自增ID与自动VID生成问题解答

1. 是否有自增ID?

Nebula Graph 本身没有内置的自增ID功能。因为它是分布式图数据库,自增ID在分布式场景下会带来全局一致性维护的性能瓶颈,不符合其高性能分布式设计的定位。如果业务需要类似自增的唯一标识,得自己在业务侧实现,比如用外部的分布式ID生成器(像Snowflake算法这类)。

2. 怎么不用手动写VID插入顶点?

有两种常用方法可以自动生成VID:

方法一:用内置函数生成唯一VID

Nebula Graph 提供了uuid()和hash()这类函数,能直接生成可用的VID:

  • 用uuid()生成字符串类型的唯一VID:
CREATE TAG IF NOT EXISTS t2 (name string, age int);
INSERT VERTEX t2 (name, age) VALUES uuid():("n1", 12);
INSERT VERTEX t2 (name, age) VALUES uuid():("n3", 12), uuid():("n4", 8);
  • 用hash()对业务字段做哈希生成VID(适合需要把VID和业务字段关联的场景):
INSERT VERTEX t2 (name, age) VALUES hash("n1"):("n1", 12);

方法二:在业务代码里生成唯一VID

在客户端代码中提前生成全局唯一ID(比如用Snowflake算法、UUID工具等),再把生成的ID传入INSERT语句。这种方式更灵活,能满足业务对ID格式、规则的自定义需求。

内容的提问来源于stack exchange,提问作者foesa Yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:25:17