1. 程式人生 > >HDFS_糾刪碼技術

HDFS_糾刪碼技術

  1. 糾刪碼技術的含義

    (HDFS EC——Hadoop Erasure Coding)通過在原始資料中加入新的校驗資料,使得各個部分的資料產生關聯性。在一定範圍的資料出錯情況下,通過糾刪碼技術都可以進行恢復。

  2. 糾刪碼技術的原理

    這裡寫圖片描述

    把一行資料塊組稱為條帶(strip),每行條帶由n個數據塊和m個校驗塊組成:

    ① 如果校驗資料塊發生錯誤,通過對原始資料塊進行編碼重新生成
    
    ② 如果原始資料塊發生錯誤,通過校驗資料塊的解碼可以重新生成
    

    原理:將上面的圖片看成矩陣,由於矩陣的可逆性,就能進行資料恢復。

    這裡寫圖片描述

  3. 糾刪碼技術的作用

    ① 儲存空間的節省。

    ② 寬頻流量的節省。EC的使用,會使得寫入叢集的資料總量減少,進一步為叢集節省了寬頻的消耗。但在做資料恢復的時候會比較耗費寬頻,因為它會從其他多個節點中讀取資料進行恢復。

    在Hadoop EC的設計文件中,提出了以下幾點實現目標:

    1)儲存空間的節省

    2)靈活的儲存策略,使用者同樣能夠標記檔案為HOT或COLD儲存型別

    3)快速的恢復與轉換,同時在資料恢復的時候,需要儘可能減少網路頻寬的使用

    4)IO頻寬的節省

    5)NameNode低負載。EC技術在一定出程度上會增大NameNode的開銷。因為NameNode需要額外跟蹤校驗塊的資訊。在EC的實現過程中,需要儘可能降低NameNode的負載

    6)對於使用者的透明性、相容性。EC在Hadoop中的實現細節,需要保證對使用者的絕對透明。而且使用者可以在EC策略下正常使用其他功能,例如HDFS快照、HDFS快取、加密空間等

    另外,EC將改變原來Hadoop預設的三副本策略,而副本數的減少會對MR任務的資料本地性造成一定影響。

  4. 糾刪碼技術的實現

    EC概念指的是資料塊(data block)、檢驗塊(parity block)、條帶(stripe)等概念。HDFS對這些概念的定義如下:

    ① 資料塊、檢驗塊在HDFS中的體現就是普通的資料塊

    ② 條帶的概念需要將每個塊進行分裂,每個塊由若干個相同大小的單元(cell)組成,每個條帶由一行單元構成,相當於從所有的資料塊和校驗塊中抽取出了一行

    改進優化點:

    ① 目前資料沒有采用本地讀的方式,一律採用遠端方式進行資料讀取

    ② 目標資料的恢復傳輸並不返回資料包的確認碼,不像Pipeline那樣有很健全的一套體系

  5. 糾刪碼技術的優劣勢

    優勢:

    可以解決目前分散式系統、雲端計算中採用多副本機制來防止資料丟失的問題。

    劣勢:

    一旦資料需要恢復,會造成兩大資源的消耗——>

    ① 網路頻寬的消耗,因為資料恢復需要去讀取其他的資料塊和校驗塊

    ② 進行編碼、解碼計算時需要消耗CPU資源

    概括來講,就是既消耗網路又耗CPU。因此,最好的選擇是用於冷資料的儲存,因為:

    ① 冷資料叢集往往有大量的長期沒有被訪問的資料,資料規模確實會比較大,採用EC技術,可以大大減少副本數

    ② 冷資料叢集基本穩定,耗資源量少,所以一旦進行資料恢復,也將不會對叢集造成大的影響

相關推薦

HDFS_技術

糾刪碼技術的含義 (HDFS EC——Hadoop Erasure Coding)通過在原始資料中加入新的校驗資料,使得各個部分的資料產生關聯性。在一定範圍的資料出錯情況下,通過糾刪碼技術都可以進行

實現高性能引擎 | 技術詳解(下)

糾刪碼引擎 基礎知識 深入優化 技術 工程師 作者介紹: 徐祥曦,七牛雲工程師,獨立開發了多套高性能糾刪碼/再生碼編碼引擎。柳青,華中科技大學博士,研究方向為基於糾刪碼的分布式存儲系統。前言:在上篇《如何選擇糾刪碼編碼引擎》中,我們簡單了解了 Reed-Solomon Codes(RS 碼

分散式系統下的技術之Erasure Code

Erasure Code(簡稱EC,也稱擦除碼或糾刪碼)是1組資料冗餘和恢復演算法的統稱。本教程以Vandermonde矩陣的Reed-Solomon來解釋EC原理。術語定義:dj-資料塊; yi-通過資料塊計算得來,作為資料冗餘的校驗塊; uj-丟失的、需要恢

儲存系統中的投機性部分寫技術

前言 多副本和糾刪碼(EC,Erasure Code)是儲存系統中常見的兩種資料可靠性方法。與多副本冗餘不同,EC將m個原始資料塊編碼生成k個檢驗塊,形成一個EC組,之後系統可最多容忍任意k個原始資料塊或校驗塊損壞,都不會產生資料丟失。糾刪碼可將資料儲存的冗餘度降低50%以上,大大降低了儲存成本,在許多大規

Ceph編碼機制調研

存儲池 es2017 生成 冷數據 滿足 有著 單位 實現 元素 1 Ceph簡述 Ceph是一種性能優越,可靠性和可擴展性良好的統一的分布式雲存儲系統,提供對象存儲、塊存儲、文件存儲三種存儲服務。Ceph文件系統中不區分節點中心,在理論上可以實現系統規模的無限擴展

0432-什麼是HDFS的

Fayson的github: https://github.com/fayson/cdhproject 推薦關注微信公眾號:“Hadoop實操”,ID:gh_c4c535955d0f,或者掃描文末二維碼。 Fayson在前面的文章中介紹過CDH6,參考《Cl

Ceph學習記錄7-

參考:Ceph原始碼分析 常濤 1. EC的基本原理 雲端儲存領域比較流行的資料冗餘儲存方法,原理和傳統的RAID類似,但是比RAID靈活。 它將寫入的資料分成N份原始資料,通過這N份原始資料計算出M份校驗資料。把N+M份資料分別儲存在不同的裝置或者節點中,並通過N+M

如何選擇並實現高效能編碼引擎(下)

作者介紹: 徐祥曦,七牛雲工程師,獨立開發了多套高效能糾刪碼/再生碼編碼引擎。柳青,華中科技大學博士,研究方向為基於糾刪碼的分散式儲存系統。 前言: 在上篇《如何選擇糾刪碼編碼引擎》中,我們簡單瞭解了Reed-SolomonCodes(RS碼)的編/解碼過程,以及編碼引擎的評判標準。但並沒有就具體實

GlusterFS企業級功能之EC

在這個資料爆炸的時代,很多行業不得不面臨資料快速增長的挑戰,為了應對呈爆炸式增長態勢的資料量,構建大規模的儲存系統成了一種普遍的應用需求。但資料是如此重要,如何保證儲存可靠性、資料可用性成了大規模儲存系統的難點和要點。資料冗餘是保障儲存可靠性、資料可用性的最有效手段,傳統的冗餘機制主要有副本(Rep

如何選擇並實現高效能編碼引擎(上)

作者介紹: 徐祥曦,七牛雲工程師,獨立開發了多套高效能糾刪碼/再生碼編碼引擎。柳青,華中科技大學博士,研究方向為基於糾刪碼的分散式儲存系統。 前言: 隨著資料的儲存呈現出集中化(以分散式儲存系統為基礎的雲端儲存系統)和移動化(網際網路移動終端)的趨勢,資料可靠性愈發引起大家的重視。叢集所承載的資料量

Reed Solomon

糾刪碼是儲存領域常用的資料冗餘技術, 相比多副本複製而言, 糾刪碼能夠以更小的資料冗餘度獲得更高資料可靠性。 Reed Solomon Coding是儲存領域常用的一種糾刪碼,它的基本原理如下:  給定n個數據塊d1, d2,..., dn,n和一個正整數m, RS根據n個數據塊生成m個校驗塊, c1,

Ceph中的讀寫過程與快取分層

之前一直在關注Ceph讀寫過程與修復,現將之前看到的內容記錄下來。歡迎探討。 讀寫過程 上圖大體可以表示從檔案到儲存在儲存實體上的過程,詳細步驟如下: 1.       RADOS中需要配置Object Size的值,也就是每個Object大小的最大值,一般情況下會設

EC(Erasure Code)校驗演算法相比傳統RAID5有哪些優勢?

1      EC糾刪碼(Erasure Code)校驗碼演算法相比傳統RAID5有哪些優勢? (1)    EC演算法是跨節點的,4+2:1的冗餘允許1個節點故障而不丟失資料,RAID5一般是由節

Erasure Coding()深入分析

1.前言 Swift升級到2.0大版本後宣稱開始支援糾刪碼,這其實是一個很有意義的特性,主要是能夠在一定程度上解決3副本空間浪費太多的問題。因為3副本這一點是swift推廣的最大障礙之一,成本的增加嚇退了不少潛在客戶。這次的改進有望消除客戶顧慮,拓展更多使用者 而回到儲存領域來看,資料冗餘機制其實這幾十

(Erasure Code)的數學原理竟然這麼簡單

超級計算機的一個必要元件是儲存系統。小型超算用到的資料較少,磁碟陣列就夠了,而大中型超算就要配備

Hadoop 3.0(Erasure Coding):節省一半儲存空間

 隨著大資料技術的發展,HDFS作為的核心模組之一得到了廣泛的應用。為了系統的可靠性,HDFS通過複製來實現這種機制。但在HDFS中每一份資料都有兩個副本,這也使得儲存利用率僅為1/3,每TB資料都需要佔用3TB的儲存空間。隨著資料量的增長,複製的代價也變得越來越明顯:傳

(EC)的學習

以上過程為編碼過程。D是原始資料塊,得到的C為校驗塊。假設丟失了m塊資料。如下: 那我們如何從剩餘的n個數據塊(注意,這裡剩餘的n塊可能包含幾個原始資料塊+幾個校驗塊)恢復出來原始的n個數據塊呢,就需要通過下面的decoding(解碼)過程來實現。 第一步:從編碼矩陣中刪去丟失資料塊和丟失編碼塊對

淺談Ceph

目  錄 第1章 引言 1.1 文件說明 1.2 參考文件 第2章 糾刪碼概念和原理 2.1 概念 2.2 原理 第3章 CEPH糾刪碼介紹 3.1 CEPH糾刪碼用途 3.2 CEPH糾刪碼庫 3.3 CEPH糾刪碼資料儲存 3.3.1 編碼塊讀寫

MICS:副本和混合儲存系統

#摘要 雲端儲存系統的三個指標: 高可靠性,低儲存開銷,高讀寫效能。這三個指標是沒有辦法同時滿足的,很多時候需要進行tradeoff。 副本系統和糾刪碼是兩種在儲存系統中廣泛使用的策略,它們在保證高可靠性的前提下,選擇了不同極端的tradeoff。 副本儲存開銷

應用AI晶片加速 Hadoop 3.0 的計算效能

本文由雲+社群發表 做為大資料生態系統中最重要的底層儲存檔案系統HDFS,為了保證系統的可靠性,HDFS通過多副本的冗餘來防止資料的丟失。通常,HDFS中每一份資料都設定兩個副本,這也使得儲存利用率僅為1/3,每TB資料都需要佔用3TB的儲存空間。隨著資料量的增長,複製的代