每天有那麼多人在朋友圈發視頻和照片,騰訊的服務器要多大才能全部儲存?這是如何實現的?

伽音gg小九


騰訊微信用戶超過9億,每天產生的數據量都是數億tb,馬化騰在一次數博會上透露,騰訊保存著18年用戶的數據,數據量超過1000個pb。

1,分佈式雲存儲




據悉,騰訊是國內服務器最多的互聯網公司,騰訊在全球部署了24個大區、44個集成數據中心、超過1400個CDN節點,2018年,天津數據中心,服務器就超過10萬臺。如此大的規模對日益增長的數據需求起到有力支撐,用戶的數據根據地域分佈在各個節點上,如此龐大的數據,都是通過大數據分佈式存儲,可不是傳統的關係型數據庫。

2,有些數據是不會存儲在服務器上的

通過微信的數據並不是全部上傳但服務器上的,比如:聊天記錄(文字、語音、圖片)等等,因為考慮到用戶的隱私,以及數據存儲問題,這些數據是存儲在用戶本地的,微信卸載刪除,聊天記錄就清空了,這些數據服務器上不保存。


程序員也有夢想


主要歸功於分佈式存儲

你上傳的視頻、文件並不是全部都存儲在同一個服務器裡,也就避免了某個地區突然出現大量用戶上傳信息導致空間不足或者服務器繁忙。

你上傳的視頻,如果沒有刻意去修改md5碼,那麼別人如果上傳了和你相同的視頻,服務器就只需要存儲一份就夠了,這是因為分佈式數據庫中資源是共享互通的,減少了空間佔用。

各大公司的存儲空間確實不是無限大的,一般給你提供的免費空間只有1G以內,所以如果你要上傳大文件,一般各種網盤都需要你升級會員才可以,在你升級會員後,實際上也就是變相的你自己租用了一塊遠端的服務器硬盤。

會不會存在以後存儲數據太大,佔用了物理空間越來越大?沒地方放硬盤了?

當然是有可能的,所以現在硬盤技術在不斷升級改善,並且各種文件數據存儲共享技術也在創新,不過這個擔憂就像人類會不會有一天沒有氧氣一樣。暫時不需要擔心。


Har1an


我覺得朋友圈的內容再多也只是文字、圖片和幾十秒的小視頻而已,相比於抖音、youtube、微博等來說,估計還沒有後者這些每天產生的數據容量大。所以,在服務器壓力上,我覺得騰訊完全是可以解決的。像騰訊微雲來說,免費用戶註冊就送10g的空間,對於只存儲小視頻、圖片和幾十字的文字,普通人發一年發朋友圈估計都存不滿。說明,騰訊的儲存空間還很多,能給微信朋友圈的服務器內存非常豐富。而且現在的服務器內存空間又那麼便宜,一臺不夠就兩臺,兩臺不夠就搞服務器機房。

對於像大公司這樣的服務器來說,內存容量都不是gb這樣的來,都是pb、eb往上的單位。一個就算一生髮70年的朋友圈圖片+文字,一天發100mb大小的朋友圈內容(我的世界觀裡不存在這樣的人),一年也就是365*100=36500mb的內容,70年就是70*36500=2555000mb的內容。換算成gb的也就是2496gb的內容,騰訊全部給他保存下來也就是2.5個tb的容量。而現在服務器上百tb的容量很常見嘛,關鍵是現在都是分佈式的服務器,可以隨時不夠就再加。騰訊微雲10塊錢就能買3tb空間,某寶某東上1tb硬盤也就是幾百塊。

現在都是大數據時代裡,大量的數據在挑戰企業的存儲,朋友圈的內容可謂是九牛一毛,不足為道。現在我們說數據大容量,通常可達到PB(1pb=1024tb)級的數據規模,因此,海量數據存儲系統也一定要有相應等級的擴展能力。我知道的現在越來越多企業喜歡Scale-out(橫向擴展存儲)架構的存儲模式。在每個節點除了具有一定的存儲容量之外,內部還具備數據處理能力以及互聯設備,可以實現無縫平滑的擴展,避免存儲孤島,數據再大也不怕,而且數據安全也有保障。沒有哪個企業會把數據都存一個地方、一臺服務器。有了scale-out架構,在購買磁盤時就可以量力而行,一旦存儲空間的需求超出預期,可以添加新的陣列而不會受到任何限制。

所以,朋友圈內容再多也不會是騰訊微信主要擔心的事情。


“emmm……你一天發幾條朋友圈?”


初始值


大是肯定的,但是這都是基本需求,你上傳上去的內容,都是經過壓縮的,不信你把上傳上去的照片或者視頻再下載下來對比一下就知道了,會損失很多的精度,不過對於在互聯網上的分享影響不大。如何實現的,肯定是要採用分佈式的,而且是有冗餘的,不會因為單一的事故造成數據丟失。在現在這個時代,用戶創造的內容對於提供商來說都是很重要的。


分享到:


相關文章: