當(dāng)黑客潛入目標(biāo)服務(wù)器,計算機的日志系統(tǒng)會悄無聲息地記錄下其所有行為,然而有經(jīng)驗的黑客往往能精確發(fā)現(xiàn)并改掉這些日志,悄然離去不留下一絲蛛絲馬跡。于是人們一直思考,是否存在一個完全無法篡改的日志系統(tǒng)?區(qū)塊鏈技術(shù)的出現(xiàn),讓這一期待有了實現(xiàn)的可能性。
說到區(qū)塊鏈,也許有的人還熱衷于追漲比特幣,有的人卻已通過比特幣的底層技術(shù)區(qū)塊鏈在各個領(lǐng)域掀起巨浪,金融、支付、云計算、大數(shù)據(jù)、物聯(lián)網(wǎng),毫無例外。我們可以不主動了解區(qū)塊鏈,但卻阻止不了區(qū)塊鏈進(jìn)入自己生活的方方面面。
最近,國內(nèi)區(qū)塊鏈技術(shù)服務(wù)商眾享比特提出了一個其自主研發(fā)的 ChainSQL 技術(shù),將區(qū)塊鏈技術(shù)運用于 IT 數(shù)據(jù)庫,不僅能實現(xiàn)數(shù)據(jù)庫日志信息不可篡改,還能讓數(shù)據(jù)庫擁有區(qū)塊鏈去中心化的特性。
這種 ChainSQL 技術(shù)是如果做到的?眾享比特產(chǎn)品總監(jiān)陳鴻剛告訴記者:
區(qū)塊鏈的本質(zhì)是分布式的、去中心化存儲的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),其本身就具有分布式、去中心化、信息不可篡改的特點。ChainSQL 技術(shù)可以把對數(shù)據(jù)庫操作的每一條指令都轉(zhuǎn)換成一筆交易,然后在區(qū)塊鏈網(wǎng)絡(luò)中通過密碼學(xué)算法達(dá)成共識,這樣數(shù)據(jù)庫操作日志就被完整地記錄在區(qū)塊鏈網(wǎng)絡(luò)上,從而提供不可篡改且能在任何時間點恢復(fù)的數(shù)據(jù)庫服務(wù)。
簡單來說就是: 1. 數(shù)據(jù)庫的操作轉(zhuǎn)化成區(qū)塊鏈交易 2. 區(qū)塊鏈的交易是不可篡改的 3. 所以數(shù)據(jù)庫的操作日志也無法被篡改。
陳鴻剛告訴記者,基于 ChainSQL 技術(shù)原理,目前他們已經(jīng)推出了AlAisc(眾享多活數(shù)據(jù)庫中間件)和 AlBisc(眾享數(shù)據(jù)庫災(zāi)備中間件)兩個產(chǎn)品,分別對應(yīng)異地多活容災(zāi)和數(shù)據(jù)多點備份兩個場景。
陳鴻剛說,許多企業(yè)會建立多個數(shù)據(jù)中心來滿足異地和災(zāi)備的需求,這些中心往往存在“主從關(guān)系”或者”主備關(guān)系“,這樣就可能導(dǎo)致許多問題,比如:
1. 既然存在主從關(guān)系,中心化數(shù)據(jù)庫容易成為黑客或者內(nèi)鬼的目標(biāo)
2. 當(dāng)主中心故障時,備中心在接替主中心時需要較長的時間、關(guān)系復(fù)雜,往往會嚴(yán)重影響用戶的業(yè)務(wù)辦理。
也就是說:擒賊先擒王,主中心一旦撲街,很麻煩!
陳鴻剛說,通過 AlAisc 多活中間件,可以讓各個數(shù)據(jù)中心形成一種“異地多活”的架構(gòu),所謂“多活”就是“多中心化”,或者我們常說的“去中心化”。在“多活”架構(gòu)下,數(shù)據(jù)中心將不再有主次之分,每個數(shù)據(jù)中心均為生產(chǎn)中心,并互為“備份”。
“去中心化”讓黑客失去了主要的攻擊目標(biāo),擒賊先擒王?“多活”架構(gòu)將讓數(shù)據(jù)中心從皇帝獨裁時代進(jìn)入民主時代。
那么 AlAisc 多活中間件是如何讓多個數(shù)據(jù)中心(庫)形成多活架構(gòu)的呢?
區(qū)塊鏈 × 數(shù)據(jù)庫多活
先來科普一下中間件的概念。中間件就是介于應(yīng)用層和系統(tǒng)層、數(shù)據(jù)庫層之間的服務(wù)程序,用來連接應(yīng)用程序和數(shù)據(jù)庫。比如常見的消息中間件,就相當(dāng)于你想給美國發(fā)一個郵包,只需要把郵包交給郵局,填寫地址和收件人,至于運送過程中的一系列問題你都不需要關(guān)心了,這里郵局就相當(dāng)于中間件。
如下圖所示,每個AlAisc 多活中間件上下分別連接著應(yīng)用程序和數(shù)據(jù)庫,而各個中間件左右相互連接,將原本分散的節(jié)點形成一個共識網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中,節(jié)點沒有主次或主備之分。
當(dāng)應(yīng)用程序向數(shù)據(jù)庫發(fā)來一個指令,多活中間件首先將該指令發(fā)送給網(wǎng)絡(luò)中的每一個節(jié)點,所有節(jié)點達(dá)成共識,認(rèn)定操作合法后,中間件才會將數(shù)據(jù)操作提交到本地數(shù)據(jù)庫。
這種共識機制可以保證各個節(jié)點的數(shù)據(jù)擁有高度一致性,每個節(jié)點上的操作都會迅速發(fā)送給所有節(jié)點,只要其中一個節(jié)點遭到非法的篡改,在共識時該節(jié)點就會被判定為壞節(jié)點,引發(fā)警告。
比如小雷在銀行的 A 節(jié)點收到了一萬塊年終獎,A節(jié)點會迅速告訴所有 BCDF 等其他所有節(jié)點:”小雷剛才收到了一萬塊。” 如果 D 節(jié)點收到的信息被篡改,說“小雷剛才只收到了五毛錢”,那么其他節(jié)點就會指認(rèn) D 節(jié)點說得不對,認(rèn)定為其為異常節(jié)點并進(jìn)行告警。
陳鴻剛說,在多活架構(gòu)中,一個節(jié)點遭遇破壞都可以迅速從其他任何節(jié)點上獲取數(shù)據(jù),在極短時間內(nèi)恢復(fù)數(shù)據(jù)完整性。
區(qū)塊鏈 × 數(shù)據(jù)庫災(zāi)備
用于災(zāi)備的 AlBisc 眾享數(shù)據(jù)庫災(zāi)備中間件同樣是基于該原理,不同的是,AlBisc 災(zāi)備中間件介于企業(yè)數(shù)據(jù)庫生產(chǎn)節(jié)點和災(zāi)備節(jié)點之間,讓各個災(zāi)備節(jié)點和生產(chǎn)節(jié)點一起構(gòu)成一個共識網(wǎng)絡(luò)。備份時,中間件會提取本地數(shù)據(jù)庫操作日志,以交易的方式達(dá)成節(jié)點共識并存儲在區(qū)塊鏈上?;謴?fù)數(shù)據(jù)時,任意節(jié)點都能在區(qū)塊鏈上檢索到相應(yīng)數(shù)據(jù)對應(yīng)的交易,轉(zhuǎn)換成數(shù)據(jù)庫日志,恢復(fù)到本地數(shù)據(jù)庫。
陳鴻剛說,這種基于區(qū)塊鏈共識機制的備份方式,可以讓多災(zāi)備中心可以同時備份數(shù)據(jù),并且確保每個災(zāi)備中心的數(shù)據(jù)同時被確認(rèn)和寫入中間件,保持多副本間的數(shù)據(jù)強一致性。在多災(zāi)備中心情況下,AlBisc可以采取輪詢的方式在線升級各災(zāi)備中心的軟硬件,升級過程不會對生產(chǎn)中心和其他災(zāi)備中心的業(yè)務(wù)產(chǎn)生任何影響。
陳鴻剛告訴雷鋒網(wǎng),區(qū)塊鏈技術(shù)的應(yīng)用范圍其實非常廣泛,這次發(fā)布的兩個產(chǎn)品將在數(shù)據(jù)庫災(zāi)備領(lǐng)域?qū)崿F(xiàn)真正落地應(yīng)用,未來他們還會將該技術(shù)運用到更多領(lǐng)域。
分享到微信 ×
打開微信,點擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。