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