【云駐共創】分布式存儲容量提升25%的黑科技:鯤鵬BoostKit KPS ZIP壓縮算法
目錄

分布式存儲背景
鯤鵬 Bo oostKit 分布式存儲 使能套件
鯤鵬 Bo oostKit 分布式存儲 ZIP壓縮算法
實驗操作
1.? 分布式存儲背景
存儲,從廣義上說,就是把我們需要的信息保持起來。在計算機時代,存儲與計算有著密不可分的聯系。隨著技術的不斷進步,存儲技術也在不斷的改進與提升。
1.1 存儲技術趨勢
從最早的軟盤,到 機械硬盤、閃存盤,存取速度在不斷的提高。從早期的集中式存儲,到現在的分布式存儲,實現存儲資源的共享。從數據的孤立存儲,到 數據湖 的數據共享,更大限度地挖掘數據的價值。
總的來說, 存儲技術 發展 趨勢 ,正朝著 閃存、 云化和 數據價值挖掘 的方向發展。
1.2 存儲技術架構演進
縱觀存儲技術的發展 過程
1957年開始發明硬盤
1970 年代發明 SAN(Storage Area Network)
1980 年代發明 NAS(Network Attached Storage)
2006年發明 Object Storage
可以看出,存儲技術是不斷向上和應用結合的過程,但這些技術并不是 存儲 代次的 替換 , 而是場景的擴展 和存儲架構的演進。
存儲技術架構 的主要 演進 趨勢為 :從集中式到分布式發展。
集中式存儲
集中式 存儲 是由主計算機 ( 一臺或多臺 ) 組成中心節點,數據集中存儲 在 中心節點,且所有業務單元都集中部署在中心節點上,系統所有功能均由 中心節點 集中處理。
集中式存儲的存儲結構 包含核機頭(控制器)、磁盤陣列(JBOD)和交換機、管理設備等,數據統一通過存儲系統的機頭入口
分布式存儲
分布式系統中的計算機沒有主/從之分,既沒有控制整個系統的主機,也沒有被控制的從機,組成分布式系統的所有節點都是對等的。 分布式存儲的計算機可能被放在不同的機柜上,也可能在不同的機房中,甚至分布在不同的城市 。
分布式存儲的存儲結構包括 Mon 服務維護存儲系統的硬件邏輯關系,OSD服務實現對磁盤的管理 。 通過映射關系計算其要寫入數據的位置,客戶端直接用于存儲節點通信,實現無中心節點和避免性能瓶頸
存儲服務經歷不斷的發展,目前主要分為三種類型的存儲服務:塊存儲服務、對象存儲服務、文件存儲服務,其主要的特點和典型的業務應用場景如下表:
類型
特點
典型業務場景
塊存儲
將裸磁盤空間整個映射給主機,需要通過文件系統格式化
F C 、ISCI
性能高、時延低( xxx us)、可擴展性一般
虛擬機、數據庫、ERP
對象存儲
通過鍵 值訪問 文件,數據存儲扁平,使用方便
Http 、Https
性能 一般 、時延 高 ( x x m s )、可擴展性 高
視頻、音頻、圖片、網盤、靜態網頁等的存儲
文件存儲
通過文件 存儲路徑進行文件訪問,使用方便
NFS、CIFS、 Posix
性能 一般 、時延 較高 ( x ms )、可擴展性 高
大數據、HPC
1.3 存儲場景分類
關于存儲場景,可分為 熱數據存儲場景、 溫數據 存儲場景和冷數據存儲場景三大類,這三種存儲場景,都可以使用分布式存儲來實現,分布式存儲場景 , 實現這 三種存儲場景 的 部署需求 的存儲結構圖如下 :
上述三種存儲場景 ,對應的存儲類型,分別 是全閃存 、均衡性和容量型,其對應的業務場景、性能需求以及硬件方案如下表所示:
類型
數據類型
業務場景
性能要求
硬件方案
全閃存
熱數據
頻繁訪問的在線數據
存儲性能要求高
通常采用 NV Me SSD 全閃存 存儲
IO并非度要求高,以小數據 塊訪問 為主
CPU資源通常是 瓶頸,適合多核架構
均衡型
溫數據
介于熱數據與冷數據 之間
介于熱、 冷數據 之間
通常采用 容量型SSD 或 大容量HDD 存儲
網絡資源是性能瓶頸
通過數據壓縮提升存儲介質利用率
容量型
冷數據
不經常訪問的離線數據(如備份歸檔數據 )
存儲性能要求低,要求大容量存儲介質
1.4 Ceph 介紹
Ceph 是一個統一的分布式存儲系統,設計初衷是提供較好的性能、可靠性和 可 擴展性 。 Ceph 項目最早起源于Sage就讀博士期間的工作 , 最早的成果于2004年發表,并隨后貢獻給開源社區。在經過了數年的發展之后,目前已得到眾多 云計算 廠商的支持并被廣泛應用。
其基本的概念包括:
Object (對象) :原生 API , 兼容 Swift 和 S3
Block (塊) :精簡配置、快照、克隆
File (文件系統) :支持 Posix 接口,快照功能
Ceph 架構如下圖所示:
Ceph 的IO存儲框架 如下圖:
通過 Inode 和 onode 計算保證 oid 唯一不重復
通過 PG (placement group) 計算將數據做到離散分布
通過 CRUSH (C on trolled Peplication Under Scalable Hashing) 算法將存儲單元做到分布式管理
2.? 鯤鵬BoostKit分布式存儲使能套件
2.1 鯤鵬應用使能套件 BoostKit
鯤鵬應用使能套件 BoostKit , 提供八大應用場 景 ,釋放 倍 級性能優勢 。
八大應用場景包括:大數據、分布式存儲、數據庫、虛擬化、ARM原生、Web/C DN 、NFV和HPC。
鯤鵬應用使能套件 BoostKit 的一些開源軟件包有:應用加速軟件包,主要用于機器學習、圖像算法、云手機指令流技術等;基礎加速軟件包,主要用于NUMA優化、KAE加速庫、IO智能預取等;高性能開源組件,主要用于高性能Hadoop 、MySQL 、Ceph 組件等。
2.2 BoostKit 分布式存儲開源使能
鯤鵬 BoostKit 分布式存儲具有 開源生態 ,下面是 ceph 的 開源庫地址: https://download.ceph.com/rpm-nautilus/el7/noarch/
Ceph 社區合入流程 如下,開發者針對ARM或x86 硬件,進行開發、構建、測試與打包,最后就是發布,可以給到ARM用戶或x86 用戶使用。
Ceph 開源社區支持ARM架構并提供相應的二進制軟件包 ,并且 Ceph 開源社區合入支持KAE的 zlib /md5 硬件加速引擎 。
2.3 BoostKit 分布式存儲全景圖
鯤鵬 BoostKit 分布式存儲 的主要目的是讓 數據訪問更快、存儲更高效 ,為此, 鯤鵬 BoostKit 主要做了三方面的優化:
降低讀寫時延,降低到150us左右
高性能EC技術,提升存儲容量
高效壓縮技術,提升壓縮率30%
Erasure Code(EC),即糾刪碼,是一種前向錯誤糾正技術,主要應用在網絡傳輸中避免包的丟失,存儲系統利用它來提高存儲可靠性。 鯤鵬 BoostKit 分布式 高性能EC技術,同等磁盤容量,多存 一 倍數據,性能不降低 。
智能預取技術,是指 利用小容量的高速存儲介質作為緩存盤,把預測可能被訪問到的IO數據提前放入緩存盤中,下次直接從高速緩存中獲取數據,可以顯著的改善系統整體的存儲IO性能。 鯤鵬 BoostKit 分布式 存儲 通過 IO智能預取技術, 創新性的采用高速緩存盤配合高效的預取算法,提升系統存儲IO性能,進而提升存儲IO密集型場景的整體性能 ,使存儲性能提升20%。
3.? 鯤鵬BooostKit分布式存儲ZIP壓縮算法
3.1 壓縮基礎介紹
壓縮是為了減少存儲空間,把數據轉化為比原始數據更緊湊形式的過程。
壓縮分為無損壓縮與有損壓縮 ,兩者的主要區別、應用場景以及對應的主流壓縮算法如下表所示:
類型
定義
應用場景
主流壓縮算法
無損壓縮
輸出數據和輸入數據始終完全相同,稱為無損壓縮,也稱無損編碼
壓縮文本
壓縮可執行程序
其它需求數據重構的地方
zlib 、lz4 、 zstd 、snappy 等
有損壓縮
輸出數據和輸入數據不能完全相同,稱為有損壓縮
圖像、視頻、音頻等場合在信息丟失程度可接受的程度上 提高壓縮率
JPEG、MP2 、MP3 等
3.2 壓縮應用分析
如下圖左,隨著科技的發展, CPU 的算力在 持續的提高,包括 CPU 的核數、主頻、線程執行能力等。下圖右是一個 3GHz 的 CPU 在 4k 的 IO 讀取速度下的數據,對于不同的存儲介質, NVME SSD 的性能是最高的。
從CPU 算力角度 分析,在存儲節點方面,還有富余的算例,如何利用好 這些算力是 一個關鍵技術。壓縮是一個比較好的選擇,在利用 現有算力的情況下, 可最大 可能的減少HDD的數據寫入量。
對于企業級應用場景,可以利用空閑CPU壓縮數據來提升收益。
3. 3 鯤鵬 ZIP 優化壓縮算法
鯤鵬 BoostKit 的 ZIP優化壓縮算法 ,能使 壓縮率提升25%,帶寬性能提升10% 。下圖展示了 鯤鵬 BoostKit 的ZIP優化壓縮算法 相比較x86的 lz4 算法,在塊存儲壓縮率、塊存儲帶寬、 對象存儲壓縮率、對象存儲帶寬方面的對比提升效果。
3.4 鯤鵬 ZIP 壓縮原理
鯤鵬 ZIP 壓縮算法的基本原理如下圖所示:
首先, ZIP 壓縮 算法使用的是全局歷史信息表,相比傳統使用哈希 查 表的方式, 效果要更好。其次,ZIP壓縮算法利用分層算法模型來最大化壓縮效益,該分層模型包含兩層,第一層是針對整個數據塊的壓縮模型,第二層是基于壓縮算法的情況下,匹配出最優的壓縮參數。再次,ZIP壓縮算法使用動態的壓縮頭數據結構,更加靈活。最后 , ZIP壓縮算法使用彈性的匹配窗口,根據不同的場景,自動靈活匹配。
此外,ZIP壓縮算法還進行了一些指令級的優化,如某些場合嵌入匯編代碼加速等。
3.5 Ceph 壓縮靈活可配
Ceph 壓縮可以進行非常靈活的配置, 用戶可以根據存儲數據屬性,靈活設置各種壓縮參數 。例如壓縮使能,可以選用塊存儲、文件存儲或對象存儲;壓縮算法方面,可以根據實際對壓縮率的要求,選用不同的壓縮算法等;壓縮格式方面,有強制、主動、被動三種格式;壓縮單元又可區分不同硬盤,且壓縮力度可控。
4.? 實驗操作
4. 1 搭建實驗環境
鯤鵬應用使能套件 BoostKit ZIP 壓縮算法的實驗操作如下,包括環境準備、環境配置、部署 Ceph 組件,配置壓縮,以及最后的 ZIP 壓縮算法測試。
4 .2 測試結果
這里以Ceph在壓縮DB數據庫為例,分別使用 ZIP壓縮 算法與lz4壓縮算法對比測試,測試步驟與結果如下圖:
可以看出, 鯤鵬BoostKit ZIP 優化壓縮在DB數據庫場景算法壓縮率提升了33%。
更多關于鯤鵬 BoostKit 的學習資料,掃描下面二維碼獲取 :
專屬分布式存儲服務 分布式 存儲 鯤鵬
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。