【发布时间】:2019-09-18 23:54:19
【问题描述】:
我有一个关于性能/最佳实践的问题:
场景:我有一个用户集合和一个聊天机器人集合。他们可以是用户集合中的很多用户(比如说 100 -1000 个用户)。每个用户可以有多个聊天机器人(每个用户大约 10 个)。
选项 A: 我创建一个边缘集合来定义用户 -> 聊天机器人之间的连接。最后,我将拥有 1 个用户集合、1 个聊天机器人集合(包含来自所有用户的所有聊天机器人)和 1 个边缘集合(包含从用户到其聊天机器人的定义)
选项 B:我为每个用户创建一个单独的聊天机器人集合,以便将特定用户的所有聊天机器人放在一个地方。聊天机器人集合名称将是例如user_xyz(user._key)_chatbots。因此,如果我需要具有_key‘abc’的用户的所有聊天机器人,我会检查集合 user_abc_chatbots。在这种情况下,我不需要连接用户 -> 聊天机器人的边缘集合。最后,我将拥有 1 个用户集合和很多 user_xyz_chatbots-集合(取决于我有多少用户 - 正如我之前写的那样,可以是 100-1000)。
现在我的问题是:更好的选择是什么?另外关于性能 - 图片我每次收到请求时都必须获取用户的所有(或特定)聊天机器人。
如果您能就您的经验/想法给我反馈,那就太好了:)
【问题讨论】:
标签: arangodb