新增边的时候是没有约束的吗?

nebula 版本:nebula-graph-2.0.0.el7.x86_64.rpm

  • 部署方式(分布式 / 单机 / Docker / DBaaS):分布式 三节点
  • 是否为线上版本:N
  • 硬件信息
    • 磁盘( 推荐使用 SSD):SSD
    • CPU、内存信息 每台64核,512G(和其他应用公用,可用磁盘空间约1T)
  • 问题的具体描述
  • 相关的 meta / storage / graph info 日志信息

在测试nebula-flink-connector是发现.
新增vertex时 是这样的

INSERT VERTEX player(name,age) VALUES “19”: (“Viki”,55)

新增 边是这样的

INSERT EDGE friend(src,dst,degree,start) VALUES “Bob”->“Lisa”@17: (“Bob”,“Lisa”,“20.0”,“2015-04-01”)

新增都能成功,而且可以看到新增成功了8个点,5个边。但是无论怎么查询是查不到边的。因为边使用的点不存在。竟然还能保存成功。
问题1. nebula 这样设计的目的是什么呢?

问题2. 现在假设我们是误操作了。把点不存在的边插入到数据库了,现在该如何把这些边找到,并清理掉呢?

你drop edge表,然后重新创建一个相同属性的edge表就行了。

生产上的表有数据数据怎么办?要放在生产环境来思考这个问题

DELETE EDGE - Nebula Graph Database 内核手册 看看

你是怎么删除的? delete edge可以删除悬挂边啊

又重新试了一下。可以删除。

那怎么查询这些悬挂边的数据呢

现在还不支持查询悬挂边,后续可能会支持或者不支持插入悬挂边。

好的,非常感谢。这个问题终于得到了官方回复。
目前最好的办法就是在项目中新增时避免出现悬挂边!

1 个赞

该主题在最后一个回复创建后30天后自动关闭。不再允许新的回复。

浙ICP备20010487号