簡單來說,云存儲(chǔ)就是將儲(chǔ)存資源放到云上供人存取的一種新興方案。隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)資源越來越多,海量數(shù)據(jù)匯聚,如何完好的保存它們成為了一大難題,這時(shí)云存儲(chǔ)適時(shí)而生。云存儲(chǔ)技術(shù)的出現(xiàn)在保障企業(yè)系統(tǒng)正常運(yùn)營的情況之下還給企業(yè)節(jié)省了大量成本,簡直一舉多得。
云計(jì)算將帶來一場革命。技術(shù)革命一定是源于某項(xiàng)技術(shù)突破,那么云計(jì)算又是源于何?從技術(shù)的視角看,云計(jì)算所突破的就是海量存儲(chǔ)技術(shù)以及在此基礎(chǔ)上的并行計(jì)算技術(shù)的突破,上述技術(shù)突破展現(xiàn)出來的幾乎無限的擴(kuò)展、海量計(jì)算以及高可用的特性正是企業(yè)所迫切需要的。本文將就企業(yè)信息系統(tǒng)中如何更好應(yīng)用上述技術(shù)進(jìn)行探索。
這里所說的云存儲(chǔ)技術(shù)并非特指某項(xiàng)技術(shù),而是一大類技術(shù)的統(tǒng)稱,一般來自只要是具有以下特征的數(shù)據(jù)庫都可以被看作是云存儲(chǔ)技術(shù)。首先是共有幾乎無限的擴(kuò)展能力,可以支撐幾百TB直至PB級(jí)的數(shù)據(jù);此外,是采用了并行計(jì)算模式從而獲得海量運(yùn)算能力。簡而言之,當(dāng)計(jì)算能力不足,無論是存儲(chǔ)還是運(yùn)算,對(duì)于需求提出方而言,就是簡單的增加機(jī)器即可實(shí)現(xiàn)。云存儲(chǔ)更進(jìn)一步的特征便是高可用性,也就是說,在任何時(shí)候都能夠保證系統(tǒng)正常使用,即便有機(jī)器發(fā)生故障。
作為可擴(kuò)展性是指系統(tǒng)架構(gòu)可以讓系統(tǒng)提供更多的服務(wù)而不降低使用性能的特性。通過現(xiàn)有的機(jī)器增加硬件的容量、內(nèi)存進(jìn)行垂直擴(kuò)展,這是最簡單的達(dá)到可擴(kuò)展性的手段,但這有個(gè)限度。而水平擴(kuò)展則需要增加更多機(jī)器,每臺(tái)機(jī)器提供全部或部分?jǐn)?shù)據(jù)。這樣所有主機(jī)都不必負(fù)擔(dān)全部業(yè)務(wù)請求。但軟件自己需要有內(nèi)部機(jī)制來保證集群中節(jié)點(diǎn)間的數(shù)據(jù)同步。而云存儲(chǔ)技術(shù)所帶來的可擴(kuò)展性幾乎是無限的,并且對(duì)于投資者而言投入(硬件投資)與產(chǎn)出(提供更多的服務(wù))幾乎是線性的。
水平擴(kuò)展說到底就是使用更多的主機(jī)來承擔(dān)運(yùn)算。假設(shè)一臺(tái)主機(jī)在運(yùn)行一年的時(shí)間里發(fā)生的故障是n次,那么20臺(tái)主機(jī)在運(yùn)行一年的時(shí)間里發(fā)牛故障的次數(shù)則為 20×n,由此看出當(dāng)某個(gè)集群中主機(jī)的數(shù)量達(dá)到一定程度,在一年中發(fā)生故障的概率將會(huì)非常大,甚至每天有機(jī)器發(fā)生故障也不是危言聳聽。許多云存儲(chǔ)技術(shù)都將此作為基本的設(shè)計(jì)前提,兇此云存儲(chǔ)技術(shù)天生具有良好的高可用性與容錯(cuò)性。
是否可把現(xiàn)在的企業(yè)應(yīng)用都替換了?不行。實(shí)行應(yīng)用前需先滿足CAP理論,依據(jù)這個(gè)理論,一個(gè)大規(guī)模分布式數(shù)據(jù)庫系統(tǒng),有以下三個(gè)需求:
一致性(Consistency):對(duì)于所有的數(shù)據(jù)庫客戶端使用同樣的查詢都可以得到同樣的結(jié)果,即使是有并發(fā)更新的時(shí)候也是如此。
可用性(AvailabiLity):所有的數(shù)據(jù)庫客戶端總是可以讀寫數(shù)據(jù)。
分區(qū)耐受性(Partition Tolerance):數(shù)據(jù)庫可以分散到多臺(tái)機(jī)器上,即使發(fā)生網(wǎng)路故障,被分成多個(gè)分區(qū),依然可以提供服務(wù)。
CAP理論指出,同時(shí)只能具有這三個(gè)特性中的兩個(gè)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫所強(qiáng)調(diào)的是一致性(C)與可用性(A),而在分區(qū)耐受性(P)方面的支持十分有限。而云存儲(chǔ)技術(shù)特別強(qiáng)調(diào)了分區(qū)耐受性(P),從而彌補(bǔ)了關(guān)系型數(shù)據(jù)庫在此方面的不足,接下來的區(qū)別就是選擇可用性(A)還是一致性(C)了。對(duì)于CP系統(tǒng),放棄的是可用性(A),數(shù)據(jù)可保持一致性,但如果有節(jié)點(diǎn)發(fā)生故障,仍然會(huì)有部分?jǐn)?shù)據(jù)無法訪問;而對(duì)于AP系統(tǒng),放棄的則是一致性(C),那么你的系統(tǒng)就有可能返回不太精確的數(shù)據(jù)。
以上技術(shù)特點(diǎn)決定了云存儲(chǔ)技術(shù)有一些特別擅長的領(lǐng)域。例如訪問流量可能會(huì)非常大,即隨時(shí)訪問數(shù)據(jù)量非常大,從而需要大規(guī)模分布式部署。考察讀寫操作的比例,特別適合統(tǒng)計(jì)分析型工作。有時(shí)對(duì)于數(shù)據(jù)一致性要求并不高,可以容忍當(dāng)某個(gè)數(shù)據(jù)被寫入后,在一段合理的時(shí)間內(nèi)可能會(huì)有部分用戶讀到的是寫入之前的數(shù)據(jù),搜索業(yè)務(wù)就是一個(gè)典型例子。但同時(shí)也有些計(jì)算領(lǐng)域并非云存儲(chǔ)技術(shù)所擅長。例如事務(wù)密集型計(jì)算,這類計(jì)算對(duì)一致性要求非常高,相比讀操作,寫操作會(huì)頻繁持續(xù)發(fā)生。
通過以上分析,我們發(fā)現(xiàn),年輕的云存儲(chǔ)技術(shù)并非完美無暇,看似古老的關(guān)系型數(shù)據(jù)庫在其面前也并非一無是處。云存儲(chǔ)技術(shù)現(xiàn)在不是,將來也不應(yīng)該是關(guān)系型數(shù)據(jù)庫的替代者。在我們?yōu)樗宫F(xiàn)出來的那些令人激動(dòng)的特性面前,必須冷靜分析,這是否就是企業(yè)運(yùn)算所需要的?至少現(xiàn)在看來不是全部。
企業(yè)應(yīng)用探索
顯然不是所有的企業(yè)計(jì)算都適合使用云存儲(chǔ),采用關(guān)系型數(shù)據(jù)庫也許仍然是目前的最佳選擇。那么應(yīng)該將其用在哪里?以下列舉兩個(gè)目前較適合采取云存儲(chǔ)技術(shù)的應(yīng)用領(lǐng)域。
數(shù)據(jù)倉庫
數(shù)據(jù)倉庫將集中來自幾乎所有業(yè)務(wù)生產(chǎn)系統(tǒng)的數(shù)據(jù),對(duì)外提供企業(yè)的各種查詢報(bào)表以及數(shù)據(jù)分析。從功能看這是一個(gè)典型的統(tǒng)計(jì)分析型工作,日常大量發(fā)生的都是讀操作。另一方面需要周期性地從業(yè)務(wù)生產(chǎn)系統(tǒng)收集原始數(shù)據(jù),并可能需要對(duì)其進(jìn)行進(jìn)一步的數(shù)據(jù)加工,這一過程繁瑣密集。數(shù)據(jù)量無疑非常大,實(shí)際生產(chǎn)中的數(shù)據(jù)倉庫通常需要保留幾年至十幾年的數(shù)據(jù),可以達(dá)到TB級(jí),其中一些數(shù)據(jù)表可能會(huì)達(dá)到幾十億條甚至更多的記錄數(shù)。以上這些需求特點(diǎn)決定了其特別適合采用云存儲(chǔ)技術(shù)。
企業(yè)統(tǒng)一資料庫
所謂企業(yè)統(tǒng)一資料庫,就是將企業(yè)運(yùn)行中所基于的各種資料集中到一個(gè)應(yīng)用系統(tǒng)中進(jìn)行統(tǒng)一管理,再由這個(gè)系統(tǒng)以服務(wù)的方式,提供給所有需要的其他業(yè)務(wù)系統(tǒng),所提供的服務(wù)除普通查詢外,還應(yīng)包含基于搜索引擎的資料搜索服務(wù),包括商品(以及商品類別、品牌)、合作伙伴(供應(yīng)商、客戶、加盟商等)、合同(采購合同、銷售合同、加盟合同等)等。在這個(gè)應(yīng)用中讀操作發(fā)生的頻率將遠(yuǎn)大于寫操作,尤其當(dāng)其以在線方式提供資料服務(wù)時(shí)更是如此,例如為網(wǎng)店提供資料服務(wù)。
云存儲(chǔ)在內(nèi)的一系列云計(jì)算技術(shù)都還處于起步階段,就如IT歷史上的其他新技術(shù)一樣,在為我們展示出令人激動(dòng)的新特性同時(shí),還有很多不足。這些不足既包括技術(shù)本身還有很多有待完善的地方,也包括圍繞其后續(xù)開發(fā)工具不足導(dǎo)致的進(jìn)入門檻偏高,以及與傳統(tǒng)技術(shù)的融合程度不高等等。但這些并不妨礙它未來美好的明天,為客戶不斷創(chuàng)造新的價(jià)值。
(原標(biāo)題:云存儲(chǔ)技術(shù)帶來了什么)