[英]AWS Neptune: More performant to drop Edges before Vertices?
使用 - Neptune 引擎:1.0.5.1、Apache Tinkerpop:3.5.2
我的问题是关于顶点移除的性能——它与顶点的加载无关。
我们有一个 cron 作业可以清除有限数量(1000 个)的“过期”顶点。
我们获取并存储要删除的顶点到一个集合中。
然后我们通过 gV([vertices]).sideEffect(drop()).next() 移除它们。
这很好用。
所有要移除的顶点都有 1 个 inE 和 1 个 outE。
当链接的顶点被删除时,这些边显然会自动删除。
我想知道如果我们先抓住并移除边,然后移除顶点,Neptune(在引擎盖下)是否会更高效。
只是想知道是否有人(主要使用 Neptune,但它也可能是其他图形数据库的“东西”)对此进行了调查并且有任何确凿的证据。
非常感谢
就使用 Amazon Neptune 而言 - 如果您只是执行 1,000 个顶点的单线程下降,其中每个顶点只有一个事件边缘,那么您正在做的事情很好。 如果您以多线程方式删除数千(或更多)顶点,那么首先删除边缘可以避免冲突,因为不同的线程可能会尝试锁定数据库中的相同 object。 在这种情况下,为避免冲突,从而避免重试,首先删除边缘可以提高性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.