我正在构建一个由许多"类型"组成的ArangoDB边缘集合.按类型,考虑动物物种分类.
我将构建一个连接所有这些的图表.示例:古代同源物种的父母/子女:Homo habilis-> Homo floresiensis-> Homo erectus-> Homo sapiens
将它们设置在不同的集合中只是出于肤浅的组织原因.对于我尚未想到的功能,将来有用的可能性很小.
我的具体问题是:在ArangoDB中构建使用多个集合的图表是否会影响性能?使用一个大型集合对图表更有效吗?
回答第一条评论:如果我将其分解为不同的边集合,那么它将是4个集合,每个集合中有大约300,000行.类型可以有多个父母和孩子.查询类型将是最短路径和每个之间的任何连接.如果这有道理?6度凯文培根型的东西.
编辑:请参阅评论的一些问题和答案.几乎每个查询都将跨越多种类型.许多查询的深度为5-7个顶点.这个项目几乎完全是读书......我根本不担心写入速度.
编辑2:我将使用单个实例还是分布式集群?老实说,要么!无论什么会加速阅读.你告诉我.
小智 5
在单服务器设置中,使用多个集合没有任何惩罚.特别是如果您的查询未跨越所有边集合,则对较小集合执行查找会更快.
这将更快/更慢这将取决于存储引擎(rocksdb/mmfiles).鉴于您希望获得最大的读取性能,mmfiles可能会更快.