允许单个用户拥有数千个关系的最佳设计是什么?
(在社交网络应用程序上工作 - 如果您知道任何“通用”社交网络设计,请指出它们......会有所帮助)
看这张图——状态更新代表一个链表,而兴趣代表杂项兴趣。对于一个用户来说,这些兴趣真的会爆炸到数千个节点——这不会导致某种超级节点问题吗?
图1
为这些兴趣设置一个类别或“标题”节点,然后让这两个兴趣属于该类别节点,会是更好的设计吗?我在想,当您最初处理用户节点和几个关系/标题节点时,它可能更有效,而不是可能有数千个与用户节点直接相关的节点。
示例:
图 2
用户
|
+ 兴趣+
+----- 兴趣
+----- 兴趣
+----- 等等...
并且不应该兴趣也有“子标题”类别节点,例如“书籍”,“电影”,“产品”这样的:
**FIGURE 3**
User
|
+ interests+
+ books+
| + interest
| + interest
| + interest
+ movies+<br>
+ interest
+ interest
+ interest
(显然我是neo的n00b)
以下是我的问题:
哪种模型最适合高性能、可扩展、类似 facebook 的系统 - 一个没有类别,或者一个有类别?记住性能..
兴趣可能不会总是激增到数千个节点——可能是十几个或一百个——添加类别的设计是否会增加太多开销?考虑尝试寻找和你一样喜欢的朋友——添加类别会增加太多开销吗?
后面的图像 - 那些具有类别和子类别节点的图像 - 它们只是看起来更好但对性能、组织等没有任何作用吗?
除了类别节点,是否应该只有一个类别属性来描述它所在的类别?在索引上添加具有类别属性的节点是否与具有类别节点一样好?
In regards to question 4, would adding nodes with categories on an index be a better solution?
What are the disadvantages to this type of structure? Are they any real advantages?