用得多了人人網的人會發現自己每天分享的東西特別多,可是有一天突然想起自己曾經分享過的某個東西,卻很難找,因爲那個極有可能是自己幾個月前分享的,這就麻煩了,我一個月的分享量極大,怎麼一個一個的找啊,真麻煩!
那爲什麼人人網不做這個功能呢?
其實回答很簡單:做不了!
這種查詢對於人人網來說太難了,也許只知道一點點sql知識的人會以爲,這有什麼難的,以主題的形式,like查詢一下不就行了嘛?
哎,何止那麼簡單啊。
要知道一個查詢所牽動的是操作啊:
首先要選擇某個UserId, 下面對應的ShareId聯合表;
而後將這個Id放到分佈式數據庫中去查找;
而後將找到的一些列的進行like匹配。
這貌似就是幾張表的操作,爲什麼在UGC網站就無法實現呢?問題就出在數據量:
--------------------------------
對於大型的SNS網站,每天用戶產生海量的用戶動態,比如目前Facebook每天處理10TB的數 據,Twitter每天處理7TB,同時這些數據量每天都在增長。
-------------------------
這些數據的總和被檢索的代價是相當大的!
所以,這也是沒有辦法的事情,哎~