2017-10-07 86 views
2

我是新来的图形数据库,我期待在ArangoDb一个POC。设计数据库时的最佳实践是什么?具体而言,不同但相关的节点类型应该位于不同的集合中还是处于同一集合中? (想想一个典型的“学生/班/位置/家教”场景。)不同的节点应该在不同的Arango集合中吗?

如果普遍的共识是把一切都在一个集合然后当我需要考虑多个集合?是否需要考虑处理高事务率,例如记录大量设备的温度读数?这将是一个情况下记录设备信息在一个集合和读取另一个?

回答

2

是的,我建议把不同的节点/顶点类型在不同的集合。因此,在您的示例中,您将拥有4个顶点集合:“学生”,“班级”,“地点”和“导师”。那么你可能想创建一些边缘集合,例如“HasAttended”,存储从“学生”到课堂的边缘。

在设计数据库,它可以帮助写在一张纸上的数据模型(或者你可以使用一个工具来显示/编辑)。

我不知道你的确切的使用情况,但对我来说很有意义有一个集“设备”和另一集“温度”。然后你就可以有一个边集合,“设备”和“温度”

+0

从传统的RDBMS产品之间存储的边缘,这是我怎么会走近它。但是,为了使用Arango的图形特征,所有边缘都需要位于同一个集合中。如果是这样的话,那么为什么节点不应该在同一个集合中? – SteveC

+0

从UI创建图形时,可以添加更多边缘集合(单击该“+”)。例如,你可以像这样可视化一个图表:Person-IsFrom-> City-IsInCountry-> Country。无论如何,是的:有可能有重要的原因,有独立的边缘集合和单独的顶点集合。请优化您的数据模型并以有效的方式进行设计:这将对您如何编写查询以及这些查询的执行方式产生直接影响。数据模型始终是第一步:如果模型未被优化,在某个时间点,您可能会遇到问题。 – Santo

相关问题