用得多了人人网的人会发现自己每天分享的东西特别多,可是有一天突然想起自己曾经分享过的某个东西,却很难找,因为那个极有可能是自己几个月前分享的,这就麻烦了,我一个月的分享量极大,怎么一个一个的找啊,真麻烦!
那为什么人人网不做这个功能呢?
其实回答很简单:做不了!
这种查询对于人人网来说太难了,也许只知道一点点sql知识的人会以为,这有什么难的,以主题的形式,like查询一下不就行了嘛?
哎,何止那么简单啊。
要知道一个查询所牵动的是操作啊:
首先要选择某个UserId, 下面对应的ShareId联合表;
而后将这个Id放到分布式数据库中去查找;
而后将找到的一些列的进行like匹配。
这貌似就是几张表的操作,为什么在UGC网站就无法实现呢?问题就出在数据量:
--------------------------------
对于大型的SNS网站,每天用户产生海量的用户动态,比如目前Facebook每天处理10TB的数 据,Twitter每天处理7TB,同时这些数据量每天都在增长。
-------------------------
这些数据的总和被检索的代价是相当大的!
所以,这也是没有办法的事情,哎~