PPIO 在資料分發上有哪些優勢?

2021-09-20 03:06:28 字數 3739 閱讀 6785

ppio 是為開發者打造的去中心化儲存與分發平台,讓資料儲存更便宜、更高速、更隱私。官方**是 。ppio 不僅僅是個儲存平台,也是乙個分發平台。之前我們寫了許多文章介紹 ppio 的儲存技術,這篇文章將重點介紹 ppio 的分發技術。

#1. cdn & p2p

傳統意義上的分發叫做 cdn,content delivery network (內容分發網路),是一種構建在網路之上的內容分發網路,他的技術基本原理是把資料從源站推送到離使用者最近的伺服器上,然後使用者直接從離自己最近的伺服器獲取資料,從而獲得最好的使用者體驗。依靠部署在各地的邊緣伺服器,通過中心平台的負載均衡、內容分發、排程等功能模組,使使用者就近獲取所需內容,降低網路擁塞,提高使用者訪問響應速度和命中率。cdn 的關鍵技術主要有內容儲存和分發技術。

分發是 p2p 技術的最古老的應用。p2p 網路從最早的的napster 到後來的 edonkey,bittorrent 等,其應用場景本身都是把同乙個內容,傳遞給更多的人,因為越多的人使用同乙個內容,就意味著上傳的節點越多,速度也就能越快,這本身就是分發的場景。

p2p 對比 cdn 具有的優勢有:

節約資源發布者頻寬

p2p 對比 cdn 的缺點有:

p2p 實現比較複雜,cdn 簡單。p2p 的服務在面對業務變化的時候,沒有 cdn 快。

p2p 在啟動的時候,有冷啟動問題需要解決,要找到優質的其他節點需要些時間;所有在要求快速啟動的業務上,p2p 不如 cdn 便利。

對運營商來說,p2p 的可控性不如 cdn,運營商會研究如何限制 p2p,降低了 p2p 的使用者體驗。

#3. 分發本身是和儲存密不可分的

儲存和分發的實質都是資料的讀取和使用,兩者是不可能分割的。當乙個資料儲存在 ppio 網路中,如果只有乙個人會讀取並使用,就是儲存;如何有很多人讀取或者使用,就是分發。只是儲存場景和分發場景,設計有些不同,服務質量的要求也不一樣。

#1. 重疊網路

ppio 支援重疊網路 (overlay 網路),每個儲存節點 (storage node/miner) 都會將與自己物理連線較快的儲存節點作為自己的鄰居,在資料傳遞和資訊互動過程,充分發揮臨近節點的優勢,使得網路效率大大提高。

#2. 流**傳輸的優化

#3. p4p 技術的支援

p4p 全稱 proactive network provider participation for p2p,在加強相同服務**商 (isp) 內網路流量的同時,降低了骨幹網路傳輸壓力和運營成本,從而也提高了 p2p 檔案的傳輸效能。與 p2p 隨機挑選節點的方式不同,p4p 模式可以協調網路拓撲資料,有效選擇節點,從而提高網路路由效率。

ppio 團隊之前在做 pptv 的時候有豐富地和運營商打交道的經歷,在降低運營商的跨 isp 流量有獨特的方法。而在 p4p 技術出現之前,運營商都在想辦法限制使用 p2p 的技術。

#5. 人為預熱機制

內容發布者可以支付費用來指定需要預熱的內容,並且可以指定執行預熱的區域、isp、時間段。根據區域、isp 和時段的不同,儲存的**也會有不同。ppio 中預熱的實現是和去中心化儲存的原理基本一致的,因為礦工不知道這個內容是不是真的很熱,所以需要收取費用來對沖風險。但是預熱和儲存不同的是,預熱採用的是全副本,而儲存主要採用的糾刪碼,後面我會解釋為什麼會有所不同。

#6. p2p 直播的考慮

直播分為兩類,一類是高延時直播,主要用於賽事,新聞等,這類直播的特點是乙個直播頻道,可能**的使用者數很多很多,但是大家對節目的時延不是那麼敏感。還有一類是低延時直播,主要用於主播,秀場等模式,這種直播的特點是,由於涉及到和主播之間的互動,這類對延時的要求非常低,一般在 5s 之內,也就是當動作發生到看到畫面最多只有 5s 的時間,但是使用者規模一般不大。

ppio 面對這兩種直播場景,使用一推二拉三補償的方案,做了一致性相容,只是引數的不同,就能很好地支援兩種模式。ppio 的創始團隊之前是做 p2p 直播起家的,做過全世界最大的 p2p 直播平台,pptv,在直播領域的積累也是非常豐富的。

#7. ppio pcdn 的設計

pcdn 在 ppio 網路中有兩種實現方式:

ppio 的定位是做儲存與分發,那麼儲存和做分發在技術上還有什麼不同呢?主要有以下幾點。

#1 全副本和糾刪碼

分發和儲存的最終目的是不同的。分發講究的是如何快地獲取內容。一般的分發場景中,源節點是在的,在所以不用擔心資料會丟失,即使不小心被儲存節點搞丟了,也能從源節點找到。所以在分發場景中我們選擇採用全副本的演算法。

而儲存則不同,儲存首先要保證不能丟資料, 提高內容不丟失率。如果採用全副本演算法的方式,不知道要存多少副本才能做到11個9的不丟失率。而在適用糾刪碼技術候,做到11個9的不丟失率,需要的冗餘空間將會少很多,這是提高內容不丟失率的最有用方案。

簡單地來說,分發追求高速,所以用全副本方案為主;而儲存追求極高的內容不丟失率,所以適用糾刪碼技術為主導。

#2 記憶體快取

分發和儲存還有乙個很大的區別。分發往往有很強的頭部效應而儲存沒有。

分發的頭部效應,也叫二八原則,就是20%的內容擁有80%的流量。而深入研究可能會發現,頭部的20%的內容裡面,也適用二八原則。所以在分發中,我們通常把內容分為頭部內容,中部內容和尾部內容:頭部的流量很集中,中部的流量較少,尾部的流量非常零散。在分發的場景中,從成本的角度考慮。頭部和中頭部內容適合使用記憶體的快取,中尾部內容適合使用 ssd 等高速儲存介質,而尾部內容處於成本角度考慮,則更適合機械硬碟。

儲存沒有頭部效應,都是尾部內容,因為很少有人擁有相同的內容。儲存也分為熱儲存、溫儲存和冷儲存,熱儲存指的是資料在寫入之後,經常會被讀取;溫儲存指得是資料在寫入之後,很少被讀取,也可能永遠不被去讀,如私人網盤的老資料;冷儲存指的是寫入後,大概率是不會使用,即使使用也不會要求那麼及時,如監控資料。

在 ppio 的網路中,熱儲存主要使用全副本和糾刪碼並存方案,全副本保證適當地高速傳輸,糾刪碼能將資料的丟失率降到很低,同時推薦承載熱儲存的儲存節點使用 ssd 等高速硬碟。而溫儲存和冷儲存使用純糾刪碼方案,因為讀取的次數不多,推薦使用機械硬碟,這樣能將成本降到最低。

所以對於儲存節點來說,如果要獲得最大的收益,其機器配置的引數也要與其提供的服務相搭配。

ppio 專案相當於其他去中心化儲存區塊鏈專案,如 filecoin 和 storj,是更重視分發場景的,其他專案都把重心放在了儲存場景上。這裡有個簡易地對比**分析三個儲存鏈,並給出對比資訊。

ssh分發資料

環境 centos release 6.5 final 1.首先準備三颱機器 server 192.168.1.108 client1 192.168.1.109 client2 192.168.1.110 2.生成一對金鑰對 在server伺服器上輸入 ssh keygen t dsa 一路回車就...

在資料視窗中檢索資料

在 資料視窗中檢索資料 我們往往需要資料視窗僅顯示我們需要的資料。在 資料視窗中檢索資料的方法很多,常用的是設定setfilter和使用sql語句來實現。1 使用setfilter進行資料過濾 首先需要構造條件語句。如資料視窗中有一列名為xyh,我們需要檢索xyh等於 葉秋楓 的資料。那麼可寫語句如...

複製分發資料庫

sql服務 sql 登入身份設定為 localsystem 準備 1.修改布伺服器 訂閱伺服器和見證伺服器上的sqlserver服務賬號和sqlserver agent的服務賬號,使三者之間的使用者名稱和密碼一致。方法 configuration tools sqlserver configurat...