云計(jì)算時(shí)代駕到,還不俯首稱臣
在加利福尼亞州圣克拉拉市舉行的2010年Cloud Connect大會(huì),這是今年最早舉行的云計(jì)算重大會(huì)議之一。到目前為止,會(huì)議一個(gè)較大的議題是“不使用關(guān)系型數(shù)據(jù)庫(kù)來(lái)保持?jǐn)?shù)據(jù)的持久性”。這被稱為 “NoSQL”運(yùn)動(dòng),其宗旨是使用其他形式的數(shù)據(jù)庫(kù),更有效地處理大規(guī)模的數(shù)據(jù)。而關(guān)于圍繞云計(jì)算出現(xiàn)的“大規(guī)模數(shù)據(jù)”,我已經(jīng)寫過(guò)一些文章,但是這一運(yùn)動(dòng)更為重要,它將推動(dòng)數(shù)據(jù)回歸到以更簡(jiǎn)單、但卻可能更有效的模型進(jìn)行物理存儲(chǔ)的方式。
NoSQL系統(tǒng)在運(yùn)行時(shí)一般會(huì)把數(shù)據(jù)存放在內(nèi)存中,或者是并行地從許多磁盤上讀取數(shù)據(jù)。其中就有一個(gè)問(wèn)題,“傳統(tǒng)”的關(guān)系數(shù)據(jù)庫(kù)不提供這種模式,因此也沒(méi)法提供同樣的性能。在過(guò)去那種數(shù)據(jù)庫(kù)中,如果只有幾個(gè)GB數(shù)據(jù),這一問(wèn)題還不是很明顯,但是許多云計(jì)算的數(shù)據(jù)庫(kù)已經(jīng)超過(guò)了1TB,還會(huì)有更多的大規(guī)模數(shù)據(jù)庫(kù)會(huì)被用來(lái)支撐不斷發(fā)展的云計(jì)算系統(tǒng)。在關(guān)系型數(shù)據(jù)庫(kù)上對(duì)大規(guī)模數(shù)據(jù)進(jìn)行操作是兵家大忌,因?yàn)樵谔幚頂?shù)據(jù)時(shí)SQL請(qǐng)求會(huì)占用大量的CPU周期,并且會(huì)導(dǎo)致大量的磁盤讀寫。
如果你覺(jué)得以前好像在哪里聽過(guò)這種說(shuō)法,那么我告訴你其實(shí)你是對(duì)的。早在上世紀(jì)90年代,對(duì)象數(shù)據(jù)庫(kù)和XML數(shù)據(jù)庫(kù)就取得過(guò)一些進(jìn)展,盡管那時(shí)許多非關(guān)系型數(shù)據(jù)庫(kù)確實(shí)能提供更好的性能,但很多企業(yè)卻守住了關(guān)系型數(shù)據(jù)庫(kù)的江山,如Oracle、Sybase和Informix。然而,由于從關(guān)系型數(shù)據(jù)庫(kù)上遷移出去的花費(fèi)和風(fēng)險(xiǎn)太高,而且數(shù)據(jù)的規(guī)模也相對(duì)較小,使得關(guān)系型數(shù)據(jù)庫(kù)幾乎一統(tǒng)天下。
不過(guò),云計(jì)算改變了一切。在云計(jì)算中需要對(duì)大量的數(shù)據(jù)進(jìn)行處理,這一需求導(dǎo)致新的數(shù)據(jù)庫(kù)處理方法運(yùn)用在了舊模型上。MapReduce是Hadoop處理數(shù)據(jù)的基本方法,它是基于幾年前的“無(wú)共享” (share-nothing)數(shù)據(jù)庫(kù)處理模型,但現(xiàn)在我們有了實(shí)現(xiàn)它的處理能力、磁盤空間以及帶寬。
我估計(jì)云計(jì)算的發(fā)展將會(huì)減少對(duì)關(guān)系型數(shù)據(jù)庫(kù)的使用。這并非新鮮事物,但這回我們卻實(shí)實(shí)在在需要改變了。
【編輯推薦】