我正在设计一个使用ArangoDB的解决方案,并且需要具有连接到5到200个顶点集合的单个Edge集合。
每个顶点集合都有1到180个边集合绑定到它们。
每个Edge Collection都会为其创建一个Graph对象。
我是ArangoDB的新手,如果我需要了解一些关键的性能影响,我很感兴趣。
服务器硬件不应该成为问题,因为可以在云提供商上使用更大的服务器实例。
我对使用Edge Collections的ArangoDB的性能更感兴趣,引用了如此多的共享顶点集合,以及其他任何问题都不是那么明显。
目前使用的ArangoDB版本是2.8.2。
谢谢!
答案 0 :(得分:3)
对于表演方面,有以下因素: 不使用图表:
使用图表 每当您通过图形API删除顶点时,都会发生以下情况:
edge definitions
,并通过所有from
和所有to
定义,如果顶点可能已连接如果是这样,它将对该顶点的所有边进行索引查找并删除它们。因此,根据我的理解,您案例中的删除操作将非常昂贵。 插入/更新/查找/查询不受连接集合数量的影响。
但是我认为有这么多的图表和许多集合似乎有点过度设计,但由于我不知道你的用例的细节,我无法判断是否有必要。