不同的节点应该在不同的 Arango 集合中吗?
Should Different Nodes Be in Different Arango Collections?
我是图形数据库的新手,正在查看 ArangoDb 中的 POC。设计数据库时的最佳实践是什么?具体来说,不同但相关的节点类型应该在单独的集合中还是在同一个集合中? (想想一个经典的 "student/class/location/tutor" 场景。)
如果普遍共识是将所有内容都放在一个集合中,那么我什么时候需要考虑多个集合?是否考虑处理高事务率,例如记录大量设备的温度读数?这是否是在一个集合中记录设备信息而在另一个集合中记录读数的情况?
是的,我建议将不同的 node/vertex 类型放在单独的集合中。因此,在您的示例中,您将拥有 4 个顶点集合:"students"、"classes"、"locations" 和 "tutors"。然后你可能想要创建一些边缘集合,例如"HasAttended",存储从 "students" 到 类 的边。
在设计数据库时,将数据模型写在一张纸上(或者您可以使用工具visualize/edit)可能会有所帮助。
我不知道您的确切用例,但我觉得有一个集合 "devices" 和另一个集合 "temperatures" 很有意义。然后你可以有一个边缘集合来存储 "devices" 和 "temperatures"
之间的边缘
我是图形数据库的新手,正在查看 ArangoDb 中的 POC。设计数据库时的最佳实践是什么?具体来说,不同但相关的节点类型应该在单独的集合中还是在同一个集合中? (想想一个经典的 "student/class/location/tutor" 场景。)
如果普遍共识是将所有内容都放在一个集合中,那么我什么时候需要考虑多个集合?是否考虑处理高事务率,例如记录大量设备的温度读数?这是否是在一个集合中记录设备信息而在另一个集合中记录读数的情况?
是的,我建议将不同的 node/vertex 类型放在单独的集合中。因此,在您的示例中,您将拥有 4 个顶点集合:"students"、"classes"、"locations" 和 "tutors"。然后你可能想要创建一些边缘集合,例如"HasAttended",存储从 "students" 到 类 的边。
在设计数据库时,将数据模型写在一张纸上(或者您可以使用工具visualize/edit)可能会有所帮助。
我不知道您的确切用例,但我觉得有一个集合 "devices" 和另一个集合 "temperatures" 很有意义。然后你可以有一个边缘集合来存储 "devices" 和 "temperatures"
之间的边缘