Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph databases 不同的节点应该在不同的Arango集合中吗?_Graph Databases_Arangodb - Fatal编程技术网

Graph databases 不同的节点应该在不同的Arango集合中吗?

Graph databases 不同的节点应该在不同的Arango集合中吗?,graph-databases,arangodb,Graph Databases,Arangodb,我不熟悉图形数据库,正在ArangoDb中查看POC。设计数据库时的最佳实践是什么?具体来说,不同但相关的节点类型应该在单独的集合中还是在同一集合中?(想象一个经典的“学生/班级/地点/导师”场景。) 如果一般的共识是把所有东西放在一个集合中,那么我什么时候需要考虑多个集合?处理高事务速率时是否有考虑因素,例如记录大量设备的温度读数?在一个集合中记录设备信息,在另一个集合中记录读数,是否会出现这种情况?是的,我建议在单独的集合中放置不同的节点/顶点类型。因此,在您的示例中,您将有4个顶点集合:“

我不熟悉图形数据库,正在ArangoDb中查看POC。设计数据库时的最佳实践是什么?具体来说,不同但相关的节点类型应该在单独的集合中还是在同一集合中?(想象一个经典的“学生/班级/地点/导师”场景。)


如果一般的共识是把所有东西放在一个集合中,那么我什么时候需要考虑多个集合?处理高事务速率时是否有考虑因素,例如记录大量设备的温度读数?在一个集合中记录设备信息,在另一个集合中记录读数,是否会出现这种情况?

是的,我建议在单独的集合中放置不同的节点/顶点类型。因此,在您的示例中,您将有4个顶点集合:“学生”、“班级”、“地点”和“导师”。然后,您可能需要创建一些边缘集合,例如“hasattined”,以存储从“学生”到班级的边缘

在设计数据库时,将数据模型写在一张纸上可能会有所帮助(或者您可以使用工具对其进行可视化/编辑)


我不知道您的确切用例,但对我来说,有一个“设备”集合和另一个“温度”集合是有意义的。然后,您可以拥有一个边缘集合,它存储来自传统RDBMS的“设备”和“温度”之间的边缘。

,这就是我处理它的方式。但是,为了使用Arango的图形功能,所有边都需要位于同一集合中。如果是这种情况,是否有任何理由说明节点不应该也在同一个集合中?从UI创建图形时,可以添加更多的边集合(单击“+”)。例如,你可以想象这样一个图形:Person IsFrom->City IsInCountry->Country。无论如何,是的:可能有重要的原因需要使用单独的边集合和单独的顶点集合。请务必优化您的数据模型并以有效的方式进行设计:这将直接影响您编写查询的方式以及这些查询的执行方式。数据模型始终是第一步:如果模型没有优化,在某个时候可能会出现问题。