我们正在ArangoDB之上构建一个部分为社交网络的应用程序。我们到了需要决定如何构造图形的地步,虽然我们有一些问题,但在文档中找不到相关的内容。
我们将在用户之间创建一些关系。将会
作为第一选择,我们已经考虑过使用 SmartGraph 功能,但是我们不会事先知道用户的位置,即使我们做到了,重新定位,并且由于它们的位置将成为分片键的一部分,因此它是不可变的(根据我们目前的理解)。
第二个选项是为每个边创建单独的命名图:朋友请求图,朋友图等
第三种选择是创建一个包含所有关系(边)的更大的命名图,如果我们需要该图的特定子集,请使用匿名图。但是,我们无法找到将小图与大图进行比较的任何性能数据。
鉴于我们不能创建具有相同边的多个图,因此我们必须先确定哪种解决方案是最有效的并坚持使用,因为可能的更改将导致更改所有AQL查询(我们希望避免这种情况我们即将发布)。
哪个是推荐的选项?