區(qū)塊鏈是一種過程數(shù)據(jù)的去中心化管理技術(shù),和傳統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)有很多相似之處,當然也有很明顯的區(qū)別。無論是區(qū)塊鏈、抑或是數(shù)據(jù)庫,都是一種管理數(shù)據(jù)的關(guān)鍵技術(shù),都可以基于所管理的數(shù)據(jù)進行分析或執(zhí)行。但是在具體實現(xiàn)上,兩者卻是采用了不同的設(shè)計思想。 傳統(tǒng)的數(shù)據(jù)庫管理系統(tǒng),特別是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(Relationship Database Management System)是目前為止最成功的數(shù)據(jù)管理技術(shù),既成就了包括Oracle、IBM、Sybase、Microsoft等企業(yè)級軟件巨擘,也同樣支撐了像MySQL、PostgreSOL等開源軟件項目。 傳統(tǒng)的數(shù)據(jù)庫,采用數(shù)據(jù)表作為數(shù)據(jù)存儲的基本單元,通過在數(shù)據(jù)表中設(shè)定數(shù)據(jù)之間的映射關(guān)系,進而將若干數(shù)據(jù)表整合拓展為數(shù)據(jù)庫,同時通過統(tǒng)一的結(jié)構(gòu)化查詢語言SQL(Structured Query Language)對相同或不同結(jié)構(gòu)(異構(gòu))的數(shù)據(jù)庫進行簡便的標準化操作,最終使得數(shù)據(jù)庫在數(shù)據(jù)管理領(lǐng)域異軍突起、一家獨大。 數(shù)據(jù)庫管理系統(tǒng)允許多用戶同時進行操作,同時,通過“鎖/Lock”和“回滾/Rollback”等機制來確保數(shù)據(jù)庫即使在多用戶同時操作時,特別是分布式數(shù)據(jù)庫環(huán)境下,也不會發(fā)生數(shù)據(jù)不一致或不同步等問題,保證數(shù)據(jù)庫的準確性。根據(jù)數(shù)據(jù)庫的日志,任何數(shù)據(jù)的丟失和篡改都可以被追蹤,或者說是被溯源,保證數(shù)據(jù)庫的不可篡改。 而新興的區(qū)塊鏈也同樣是一種數(shù)據(jù)管理技術(shù),而且區(qū)塊鏈技術(shù)的典型特征也是強調(diào)去中心化、不可篡改、可溯源。乍看之下,似乎區(qū)塊鏈和數(shù)據(jù)庫,有種傻傻分不清楚的感覺。但實際上,如果對兩者進行更深入的分析,可以發(fā)現(xiàn),區(qū)塊鏈和數(shù)據(jù)庫的確在一些功能表現(xiàn)上,存在很多相似性,可是兩者之間也有著非常明顯的差異。 首先,兩者都可以進行數(shù)據(jù)管理、也都會隨著數(shù)據(jù)量的增加而逐漸規(guī)模龐大,但是,由于系統(tǒng)結(jié)構(gòu)的不同,區(qū)塊鏈管理的是過程數(shù)據(jù)、即區(qū)塊鏈上記錄的是數(shù)據(jù)的完整生命周期,而數(shù)據(jù)庫記錄的是即時數(shù)據(jù)、即數(shù)據(jù)庫主要記錄數(shù)據(jù)的當前狀態(tài)。這兩個定義該如何理解呢?簡單來說,就是數(shù)據(jù)庫記錄了數(shù)據(jù)當前的狀態(tài),同時還有一個數(shù)據(jù)庫日志來記錄數(shù)據(jù)庫的所有操作,但區(qū)塊鏈直接合并了兩者,將每一個數(shù)據(jù)變化的片段都記入?yún)^(qū)塊成鏈。 其次,區(qū)塊鏈是去中心化的,而數(shù)據(jù)庫是中心化的。雖然數(shù)據(jù)庫也有分布式數(shù)據(jù)庫,但是數(shù)據(jù)庫仍然是標準的C/S(Client/Server、客戶端/服務(wù)器)結(jié)構(gòu),同時數(shù)據(jù)庫的多用戶之間不存在任何不信任,即數(shù)據(jù)庫的各用戶之間不會存在對數(shù)據(jù)操作的信任質(zhì)疑。而區(qū)塊鏈是其中心化的,它的存在前提是各個節(jié)點之間不存在信任,即區(qū)塊鏈的各個節(jié)點之間存在對數(shù)據(jù)操作的信任質(zhì)疑。也就意味著,數(shù)據(jù)庫的“鎖/Lock”或“回滾/Rollback”是為了保證在彼此信任的用戶之間不會出現(xiàn)因為操作失誤而出現(xiàn)的數(shù)據(jù)失誤,但區(qū)塊鏈的去中心化則是直接將場景投放到彼此不信任的用戶之間的數(shù)據(jù)不可篡改和可追溯。 再次,數(shù)據(jù)庫可以記錄任何數(shù)據(jù)而不僅僅是交易數(shù)據(jù)、交易數(shù)據(jù)也不局限于是數(shù)據(jù)庫的許可用戶之間,但是區(qū)塊鏈上的數(shù)據(jù)記錄完全屬于節(jié)點間的交易,不存在節(jié)點與節(jié)點外的交易數(shù)據(jù)記錄。換句話解釋,數(shù)據(jù)庫是完全Open的、來者不拒,但區(qū)塊鏈只是節(jié)點群內(nèi)部、自己人的游戲。 最后,數(shù)據(jù)庫一般通過API(應(yīng)用程序接口/Application Program Interface)被其他程序操作或調(diào)用,而區(qū)塊鏈的智能合約則是直接建構(gòu)在區(qū)塊鏈上,兩者融為一體?;蛘哒f,數(shù)據(jù)庫只是個存放數(shù)據(jù)的倉庫,它的數(shù)據(jù)是要提供給其他程序使用,而區(qū)塊鏈自帶執(zhí)行功能,可以在條件觸發(fā)時,自動按照智能合約的設(shè)定完成數(shù)據(jù)的處理。 所以,區(qū)塊鏈和數(shù)據(jù)庫雖然都是以數(shù)據(jù)作為管理對象,但是各自在不同角度和維度進行處理,區(qū)塊鏈并不是為了取代數(shù)據(jù)庫而產(chǎn)生,區(qū)塊鏈與數(shù)據(jù)庫應(yīng)該是各擅勝場。區(qū)塊鏈作為過程數(shù)據(jù)的去中心化管理技術(shù),會比數(shù)據(jù)庫更適應(yīng)與物聯(lián)網(wǎng)(IoT)做前后端結(jié)合,形成完整的無人干預(yù)的應(yīng)用場景數(shù)據(jù)自動化處理,區(qū)塊鏈對數(shù)據(jù)完整生命周期的記錄、疊加智能合約功能,可以挖掘出比數(shù)據(jù)庫更有價值的數(shù)據(jù)潛在涵義。甚至不排除,未來某個時點,區(qū)塊鏈可以教會機器學習“什么是數(shù)據(jù)的邏輯”。
|
|
來自: yi321yi > 《大數(shù)據(jù)》