區(qū)塊鏈的特有屬性使數(shù)據(jù)可追溯、不可篡改的同時弊端也很明顯,采用的分布式存儲技術(shù)需要每一個節(jié)點保存一份數(shù)據(jù)庫,存儲成本高;網(wǎng)絡(luò)中發(fā)生的每筆交易都需要其它節(jié)點認(rèn)證和記錄,處理速度慢;這讓區(qū)塊鏈的系統(tǒng)的存儲效率相較集中式存儲受到詬病。作為數(shù)字經(jīng)濟新型信息基礎(chǔ)設(shè)施,區(qū)塊鏈需面對全國乃至全球的用戶帶來的海量數(shù)據(jù)上鏈存儲需求。
長安鏈從超大規(guī)模數(shù)據(jù)存儲場景出發(fā),推出 PB 級區(qū)塊鏈開源存儲引擎“泓”,英文名定為“Huge”,預(yù)計將在 2022 年底正式開源。泓在保證區(qū)塊鏈系統(tǒng)中數(shù)據(jù)一致性和唯一性外還將具備:大規(guī)模、低成本、高性能、強隱私的特點。
效率成本兼容
泓采用混合式存儲架構(gòu)、數(shù)據(jù)分片、冷熱分離等技術(shù),具備海量數(shù)據(jù)存儲能力,兼顧效率和成本。
1.混合式存儲架構(gòu)
區(qū)塊鏈上存儲的數(shù)據(jù)有多種不同讀寫特性,比如:區(qū)塊和交易這類數(shù)據(jù)一旦寫入就不再修改,且數(shù)據(jù)量大,適合采用文件存儲,同時對文件中的數(shù)據(jù)項創(chuàng)建索引以方便查詢;而狀態(tài)數(shù)據(jù)需要頻繁修改與查詢,適合采用KV數(shù)據(jù)庫或OLTP類(聯(lián)機事務(wù)處理 Online Transaction Processing)的數(shù)據(jù)庫;對于合約事件這類需要進行數(shù)據(jù)分析的場景,也可以采用OLAP類(聯(lián)機分析處理 Online Analytical Processing)的存儲系統(tǒng);對于區(qū)塊鏈以區(qū)塊為單位的批量處理流程,我們采用預(yù)寫式日志(WAL)加內(nèi)存緩存的方式來優(yōu)化存儲效率。因此泓基于混合式的存儲架構(gòu)來實現(xiàn)。混合式存儲需要解決多個不同存儲系統(tǒng)之間的數(shù)據(jù)一致性問題,我們采用區(qū)塊作為檢查點,來實現(xiàn)不同存儲系統(tǒng)之間的異常校驗與數(shù)據(jù)自動恢復(fù)。
2.數(shù)據(jù)分片
要面向海量數(shù)據(jù),區(qū)塊鏈存儲系統(tǒng)必須具備水平擴展能力,基于我們混合存儲架構(gòu)中的數(shù)據(jù)一致性管理能力,可以將區(qū)塊數(shù)據(jù)拆分成更細(xì)粒度的數(shù)據(jù)項進行存儲,使得系統(tǒng)中的不同存儲組件都可以實現(xiàn)分片能力,可以兼容市面上常用的分布式存儲服務(wù),包括:分布式文件存儲,分布式數(shù)據(jù)庫等。
3.冷熱分離
區(qū)塊鏈要求數(shù)據(jù)可追溯,需要保存全量的歷史數(shù)據(jù),通過對數(shù)據(jù)進行冷熱分級,可以兼顧性能和成本。對于近期寫入的區(qū)塊、交易、熱點狀態(tài)數(shù)據(jù)可以定義為熱點數(shù)據(jù),通過對熱點緩存到內(nèi)存中,來提升效率。對于某個區(qū)塊高度之前(某個時間戳之前)的歷史數(shù)據(jù)稱為冷數(shù)據(jù),冷數(shù)據(jù)可以歸檔轉(zhuǎn)移到成本更低,容量更大的網(wǎng)絡(luò)存儲中。同時對冷數(shù)據(jù)可以通過去中心化文件存儲(如IPFS InterPlanetary File System 星際文件系統(tǒng)?)進行共享,使得多個節(jié)點共用一套存儲服務(wù)。如果熱數(shù)據(jù)與冷數(shù)據(jù)比例為1:9,并且塊存儲和文件存儲成本為3:1,那么用了歸檔,可以把90%的舊區(qū)塊,歸檔到成本只有33%的文件存儲中。從而節(jié)省60%的存儲成本。在PB級場景中,一年節(jié)省600萬以上的成本。
性能安全并進
泓面向大數(shù)據(jù)量采用多種方式提升數(shù)據(jù)處理性能及安全性,持續(xù)釋放大數(shù)據(jù)價值。
1.兩階段提交,并行處理提升性能
存儲模塊不是一個獨立運行的系統(tǒng),需要和長安鏈共識模塊、核心模塊、虛擬機模塊等配合,以組成一個完整的區(qū)塊鏈系統(tǒng)。泓與長安鏈共識模塊、核心模塊、虛擬機模塊等充分適配,在長安鏈共識產(chǎn)生新區(qū)塊的過程中,存儲模塊采用“兩階段提交”,并行處理提升性能。
2.先寫緩存后異步寫入分布式數(shù)據(jù)庫
為了提升寫入?yún)^(qū)塊的性能,同時保證讀到已提交數(shù)據(jù)的事務(wù)隔離級別,長安鏈采用先寫緩存后異步寫入分布式數(shù)據(jù)庫的模式。當(dāng)一個新區(qū)塊對應(yīng)的數(shù)據(jù)需要寫入數(shù)據(jù)庫時,系統(tǒng)將數(shù)據(jù)寫入內(nèi)存中的緩存區(qū)域,并開啟一個后臺線程,按順序?qū)⒕彺鎱^(qū)域數(shù)據(jù)寫入數(shù)據(jù)庫,此時系統(tǒng)便可正常返回,從而達(dá)到快速寫和支持讀已提交數(shù)據(jù)的要求。
3.交易ID過濾器,加速交易防重檢查
提升交易查重性能方面,泓提供了3個過濾系統(tǒng)來實現(xiàn)交易查重,用戶可以基于自己的場景自定義選配是否開啟,配合使用會極大的提高交易防重檢查的效率。
4.透明數(shù)據(jù)加密,保障存儲安全
為了增強區(qū)塊鏈落盤后的數(shù)據(jù)安全,應(yīng)對硬盤被盜、黑客入侵系統(tǒng)或內(nèi)部IT人員違規(guī)操作等情形,長安鏈提供了透明數(shù)據(jù)加密特性。該特性可以基于硬件密碼機也可以基于軟件加解密,區(qū)塊鏈數(shù)據(jù)在落盤時自動加密,在讀取數(shù)據(jù)時自動解密,增強了數(shù)據(jù)安全。
結(jié)? 語文章來源:http://www.zghlxwxcb.cn/news/detail-798404.html
泓將在AIot、工業(yè)互聯(lián)網(wǎng)、金融的大數(shù)據(jù)量的場景下發(fā)揮作用,也可以對元宇宙、web3等新技術(shù)場景提供支撐。泓包含10余個主要模塊,預(yù)計將于2022年底正式開源,后續(xù)將對主要模塊進行介紹。文章來源地址http://www.zghlxwxcb.cn/news/detail-798404.html
到了這里,關(guān)于PB級區(qū)塊鏈開源存儲引擎“泓”Huge的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!