Chi*_*tan 9 database hardware performance graph social-networking
LinkedIn有这个很酷的功能,在访问某些用户的个人资料时,LinkedIn会提示你如何通过网络连接到该用户.
假设访问者和配置文件所有者是图的两个节点,其中节点表示用户,边表示友谊,一个简单的解决方案可以是从两个节点开始直到某个级别的bfs并查看是否存在任何交叉点.交叉点将是网络链路节点.
虽然这听起来很整洁,但问题在于,为了确定每个人的朋友,需要单独的数据库查询.当网络深度超过2级时,算法将是非常耗时的.有更好的有效替代方案吗?如果没有,我们如何才能增加更好的硬件支持(并行计算,网格,分布式数据库等)以减少计算所需的时间?