我需要设计一个数据模型,该模型存储用户个人资料信息。用户节点可以包含名称,地址,电话作为属性。预计用户数量将急剧增加。
同时,我想存储每个用户在个人资料创建过程中输入的技能和爱好。
一个用户可以输入多种技能和爱好。当然,多个用户可以共享某种爱好或技能。
我们还要求按技能或爱好过滤用户。也就是说,如果给出了爱好(羽毛球),我们需要找到所有喜欢羽毛球的用户。
请告知。 谢谢。
答案 0 :(得分:2)
答案是您对问题的措辞。
这清楚地表明技能/爱好是实体或节点。无需过早优化,结点的数量会增加,但会保持一定水平(技能和爱好的数量不是无限的)。同样,查询的性能与图的总大小无关,因此,图的大小增长可能并不重要-性能将取决于所触摸的子图的大小。除非您查看的节点数为10或1000亿,否则将技能和爱好添加为节点是非常安全的,并且在此阶段不必担心性能。