大數(shù)據(jù)和區(qū)塊鏈兩者之間有個共同的關(guān)鍵詞:分布式,代表了一種從技術(shù)權(quán)威壟斷到去中心化的轉(zhuǎn)變。
分布式存儲:HDFS vs. 區(qū)塊
大數(shù)據(jù),需要應(yīng)對海量化和快增長的存儲,這要求底層硬件架構(gòu)和文件系統(tǒng)在性價比上要大大高于傳統(tǒng)技術(shù),能夠彈性擴張存儲容量。谷歌的GFS和Hadoop的HDFS奠定了大數(shù)據(jù)存儲技術(shù)的基礎(chǔ)。另外,大數(shù)據(jù)對存儲技術(shù)提出的另一個挑戰(zhàn)是多種數(shù)據(jù)格式的適應(yīng)能力,因此現(xiàn)在大數(shù)據(jù)底層的存儲層不只是HDFS,還有HBase和Kudu等存儲架構(gòu)。
區(qū)塊鏈,是比特幣的底層技術(shù)架構(gòu),它在本質(zhì)上是一種去中心化的分布式賬本。區(qū)塊鏈技術(shù)作為一種持續(xù)增長的、按序整理成區(qū)塊的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),通過網(wǎng)絡(luò)中多個節(jié)點共同參與數(shù)據(jù)的計算和記錄,并且互相驗證其信息的有效性。從這一點來說,區(qū)塊鏈技術(shù)也是一種特定的數(shù)據(jù)庫技術(shù)。由于去中心化數(shù)據(jù)庫在安全、便捷方面的特性,很多業(yè)內(nèi)人士看好其發(fā)展,認(rèn)為它是對現(xiàn)有互聯(lián)網(wǎng)技術(shù)的升級與補充。
分布式計算:MapReduce vs. 共識機制
大數(shù)據(jù)的分析挖掘是數(shù)據(jù)密集型計算,需要巨大的分布式計算能力。節(jié)點管理、任務(wù)調(diào)度、容錯和高可靠性是關(guān)鍵技術(shù)。Google和Hadoop的MapReduce是這種分布式計算技術(shù)的代表,通過添加服務(wù)器節(jié)點可線性擴展系統(tǒng)的總處理能力(Scale Out),在成本和可擴展性上都有巨大的優(yōu)勢。現(xiàn)在,除了批計算,大數(shù)據(jù)還包括了流計算、圖計算、實時計算、交互查詢等計算框架。
區(qū)塊鏈的共識機制,就是所有分布式節(jié)之間怎么達成共識,通過算法來生成和更新數(shù)據(jù),去認(rèn)定一個記錄的有效性,這既是認(rèn)定的手段,也是防止篡改的手段。區(qū)塊鏈主要包括四種不同的共識機制,適用于不同的應(yīng)用場景,在效率和安全性之間取得平衡。以比特幣為例,采用的是“工作量證明”(Proof Of Work,簡稱POW),只有在控制了全網(wǎng)超過51%的記賬節(jié)點的情況下,才有可能偽造出一條不存在的記錄。
IT技術(shù)發(fā)展的分分合合
和人類社會一樣,IT技術(shù)發(fā)展的也呈現(xiàn)出“合久必分,分久必合”,即集中與分布的螺旋式上升。
計算機誕生初期,僅能實現(xiàn)一對一的使用,是集中化的。為了使得一臺大型機能夠同時為多個客戶提供服務(wù),IBM公司引入了虛擬化的設(shè)計思想,使得多個客戶在同時使用同一臺大型機時,就好像將其分割成了多個小型化的虛擬主機,是時分復(fù)用的集中式計算。
進入小型機和PC時代,回歸了一對一的使用,不過設(shè)備已經(jīng)分散到了千家萬戶。進入互聯(lián)網(wǎng)時代,C/S模型的客戶端和服務(wù)器是分布式計算,只不過服務(wù)器之間還是分散的。
進入云計算時代,計算能力又被統(tǒng)一管控起來,在客戶端和服務(wù)器的分布式計算基礎(chǔ)之上,服務(wù)器之間也開始了分布式協(xié)同工作。因為協(xié)同,所以也可以認(rèn)為它們在整體上是一種集中式的計算服務(wù)。
進入大數(shù)據(jù)時代,云計算成為大數(shù)據(jù)基礎(chǔ)設(shè)施,也使得大數(shù)據(jù)的核心思想和云計算一脈相承。MapReduce將任務(wù)分解進行分布式計算,然后將結(jié)果合并從而實現(xiàn)了信息的整合分析。
區(qū)塊鏈則是純粹意義上的分布式系統(tǒng)。
是什么力量造成了集中與分布的此消彼長?
讓我們從歷史中試著尋找答案。
商業(yè)需要集中,希望通過產(chǎn)品實現(xiàn)更好的控制和更高的利潤。但隨著產(chǎn)品集中度的不斷上升,系統(tǒng)會越來越復(fù)雜,實現(xiàn)的難度越來越大,溝通、交流和管理的成本也越來越高,最終變得不經(jīng)濟。
社會需要分工,讓專業(yè)的人做專業(yè)的事,涂爾干的《社會分工論》談到,“分工使社會像有機體一樣,每個成員都為社會整體服務(wù),同時又不能脫離整體,分工就像社會的紐帶,故謂之‘有機團結(jié)’。”
分布式技術(shù)的誕生,正是基于這種思想。產(chǎn)品功能被分解并分布到不同的節(jié)點上去完成,節(jié)點之間通過網(wǎng)絡(luò)實現(xiàn)溝通。分布式系統(tǒng)中的一些節(jié)點或因為商業(yè)上的成功,重新成為“集中化”的節(jié)點,但隨著時代的改變,它們終將會進入新一輪的分布式周期。如此往復(fù)。
集中和分布不是光譜的兩端,任何偉大的產(chǎn)品,都是商業(yè)和技術(shù)的“有機團結(jié)”。
以上是區(qū)塊鏈與大數(shù)據(jù)之間的一些相同點,接下來聊一聊兩者之間的不同點。
兩者屬于不同的時代,區(qū)塊鏈繼大數(shù)據(jù)之后的又一次技術(shù)革命。
兩個技術(shù)處于不同的生命周期
——Gartner Hype Cycle
技術(shù)成熟度曲線(The Hype Cycle)是咨詢公司Gartner用來分析和預(yù)測各種新科技的成熟演變速度及所需時間著名工具。
“大數(shù)據(jù)”與“區(qū)塊鏈”在Gartner歷年的《技術(shù)成熟度曲線》中的出現(xiàn)情況
2011年,“大數(shù)據(jù)”第一次上榜,位于技術(shù)萌芽期的爬坡階段,當(dāng)時還統(tǒng)稱為“‘Big Data’ and Extreme Information Processing and Management”(“大數(shù)據(jù)”和極端信息處理和管理)。2012年更進一步,并在2013年幾乎達到了過熱期頂峰。經(jīng)歷了2014年的下滑,從2015年開始,“大數(shù)據(jù)”突然從曲線中消失,可解讀為Gartner對大數(shù)據(jù)的定位已從“新興”轉(zhuǎn)為“主流”。當(dāng)前,大數(shù)據(jù)對于企業(yè)的意義已從能力要素上升為戰(zhàn)略核心。
相對而言,“區(qū)塊鏈”直到2016年才第一次出現(xiàn)在《技術(shù)成熟度曲線》中,并直接進入“過熱期”。總的來看,“大數(shù)據(jù)”和“區(qū)塊鏈”所處的生命周期階段大不相同,兩者約有5年左右的差距。
主要差異在哪?
大數(shù)據(jù)通常用來描述數(shù)據(jù)集足夠大,足夠復(fù)雜,以致很難用傳統(tǒng)的方式來處理。而區(qū)塊鏈能承載的信息數(shù)據(jù)是有限的,離“大數(shù)據(jù)”標(biāo)準(zhǔn)還差得很遠。區(qū)塊鏈與大數(shù)據(jù)有幾個顯著差異:
結(jié)構(gòu)化vs非結(jié)構(gòu)化:區(qū)塊鏈?zhǔn)墙Y(jié)構(gòu)定義嚴(yán)謹(jǐn)?shù)膲K,通過指針組成的鏈,典型的結(jié)構(gòu)化數(shù)據(jù),而大數(shù)據(jù)需要處理的更多的是非結(jié)構(gòu)化數(shù)據(jù);
獨立vs整合:區(qū)塊鏈系統(tǒng)為保證安全性,信息是相對獨立的,而大數(shù)據(jù)著重的是信息的整合分析;
直接vs間接:區(qū)塊鏈系統(tǒng)本身就是一個數(shù)據(jù)庫,而大數(shù)據(jù)指的是對數(shù)據(jù)的深度分析和挖掘,是一種間接的數(shù)據(jù);
數(shù)學(xué)vs數(shù)據(jù):區(qū)塊鏈試圖用數(shù)學(xué)說話,區(qū)塊鏈主張“代碼即法律”,而大數(shù)據(jù)試圖用數(shù)據(jù)說話;
匿名vs個性:區(qū)塊鏈?zhǔn)悄涿?公開賬本,匿名擁有者,相對于傳統(tǒng)金融機構(gòu)的公開賬號,賬本保密),而大數(shù)據(jù)有意的是個性化;
差異能否調(diào)和?
對一個分布式系統(tǒng)來說,存在CAP定理(CAP theorem)又被稱作布魯爾定理(Brewer's theorem),它指出一個分布式系統(tǒng)不可能同時滿足以下三點:
一致性(Consistence):在分布式系統(tǒng)中的所有數(shù)據(jù)備份,在同一時刻是否同樣的值。
可用性(Availability):在集群中一部分節(jié)點故障后,集群整體是否還能響應(yīng)客戶端的讀寫請求。
分區(qū)容忍性(Partition tolerance):集群中的某些節(jié)點在無法聯(lián)系后,集群整體是否還能繼續(xù)進行服務(wù)。
由于當(dāng)前的網(wǎng)絡(luò)硬件肯定會出現(xiàn)延遲丟包等問題,所以分區(qū)容忍性是我們必須需要實現(xiàn)的。換句話說,CAP定理表明我們必須在一致性(C)和可用性(A)之間進行權(quán)衡。
具體到區(qū)塊鏈和大數(shù)據(jù)來說,大數(shù)據(jù)是以犧牲一致性(C)來換取可用性(A)和分區(qū)容忍性(P)的,而區(qū)塊鏈卻優(yōu)先保證了一致性(C)。
可相互借鑒之處
通過CAP定理,我們知道區(qū)塊鏈和大數(shù)據(jù)的諸多特性無法兩全,需要針對具體場景,在多樣化的取舍方案下設(shè)計出多樣化的系統(tǒng)。
區(qū)塊鏈+大數(shù)據(jù):在區(qū)塊鏈中使用大數(shù)據(jù)技術(shù)
區(qū)塊鏈?zhǔn)且环N不可篡改的、全歷史的分布式數(shù)據(jù)庫存儲技術(shù),巨大的區(qū)塊鏈數(shù)據(jù)集合包含著每一筆交易的全部歷史,隨著區(qū)塊鏈技術(shù)的應(yīng)用迅速發(fā)展,數(shù)據(jù)規(guī)模會越來越大,不同業(yè)務(wù)場景區(qū)塊鏈的數(shù)據(jù)融合會進一步擴大數(shù)據(jù)規(guī)模和豐富性。
區(qū)塊鏈以其可信任性、安全性和不可篡改性,讓更多數(shù)據(jù)被解放出來,推進數(shù)據(jù)的海量增長。區(qū)塊鏈的可追溯性使得數(shù)據(jù)從采集、交易、流通,以及計算分析的每一步記錄都可以留存在區(qū)塊鏈上,使得數(shù)據(jù)的質(zhì)量獲得前所未有的強信任背書,也保證了數(shù)據(jù)分析結(jié)果的正確性和數(shù)據(jù)挖掘的效果。
區(qū)塊鏈能夠進一步規(guī)范數(shù)據(jù)的使用,精細化授權(quán)范圍。脫敏后的數(shù)據(jù)交易流通,則有利于突破信息孤島,建立數(shù)據(jù)橫向流通機制,形成“社會化大數(shù)據(jù)”。基于區(qū)塊鏈的價值轉(zhuǎn)移網(wǎng)絡(luò),逐步推動形成基于全球化的數(shù)據(jù)交易場景。
區(qū)塊鏈提供的是賬本的完整性,數(shù)據(jù)統(tǒng)計分析的能力較弱。大數(shù)據(jù)則具備海量數(shù)據(jù)存儲技術(shù)和靈活高效的分析技術(shù),極大提升區(qū)塊鏈數(shù)據(jù)的價值和使用空間。
大數(shù)據(jù)+區(qū)塊鏈:在大數(shù)據(jù)中使用區(qū)塊鏈技術(shù)
大數(shù)據(jù)的技術(shù)生態(tài)百花齊放,沒有哪個軟件能解決所有的問題,能解決問題也是在一個范圍內(nèi),即使是Spark、Flink等。在強調(diào)透明性、安全性的場景下,區(qū)塊鏈有其用武之地。在大數(shù)據(jù)的系統(tǒng)上使用區(qū)塊鏈技術(shù),可以使得數(shù)據(jù)不能被隨意添加、修改和刪除,當(dāng)然其時間和數(shù)據(jù)量級是有限度的。
以時間、數(shù)據(jù)量為坐標(biāo)軸,列出了目前大數(shù)據(jù)引擎大致擅長處理數(shù)據(jù)的范圍,區(qū)塊鏈可在其中成為一種很好的補充
比如,對于存檔的歷史數(shù)據(jù),因為它們是不能被修改的,我們可以對大數(shù)據(jù)作Hash處理,并加上時間戳,存在區(qū)塊鏈之上。在未來的某一時刻,當(dāng)我們需要驗證原始數(shù)據(jù)地真實性時,可以對對應(yīng)的數(shù)據(jù)做同樣的Hash處理,如果得出的答案是相同的,則說明數(shù)據(jù)是沒有被篡改過的。或者,只對匯總數(shù)據(jù)和結(jié)果做處理,這樣,只需要處理增量數(shù)據(jù)處理,那么應(yīng)對的數(shù)據(jù)量級和吞吐量級可能是今天的區(qū)塊鏈或改善過的系統(tǒng)可以處理的。
通過把大數(shù)據(jù)與區(qū)塊鏈相結(jié)合,能讓區(qū)塊鏈中的數(shù)據(jù)更有價值,也能讓大數(shù)據(jù)的預(yù)測分析落實為行動,它們都將是數(shù)字經(jīng)濟時代的基石。