云計(jì)算時(shí)代NoSQL當(dāng)?shù)?關(guān)系數(shù)據(jù)庫日薄西山
原創(chuàng)【3月23日51CTO外電頭條】筆者參加了在加利福尼亞州圣克拉拉市舉行的2010年Cloud Connect大會(huì),這是今年最早舉行的云計(jì)算重大會(huì)議之一。到目前為止,會(huì)議一個(gè)較大的議題是“不使用關(guān)系型數(shù)據(jù)庫來保持?jǐn)?shù)據(jù)的持久性”。這被稱為 “NoSQL”運(yùn)動(dòng),其宗旨是使用其他形式的數(shù)據(jù)庫,更有效地處理大規(guī)模的數(shù)據(jù)。而關(guān)于圍繞云計(jì)算出現(xiàn)的“大規(guī)模數(shù)據(jù)”,我已經(jīng)寫過一些文章,但是這一運(yùn)動(dòng)更為重要,它將推動(dòng)數(shù)據(jù)回歸到以更簡單、但卻可能更有效的模型進(jìn)行物理存儲(chǔ)的方式。51CTO數(shù)據(jù)庫頻道之前曾報(bào)道過《Digg投奔NoSQL 關(guān)系數(shù)據(jù)庫行將就木》,也從一個(gè)側(cè)面反映了NoSQL的發(fā)展。
NoSQL系統(tǒng)在運(yùn)行時(shí)一般會(huì)把數(shù)據(jù)存放在內(nèi)存中,或者是并行地從許多磁盤上讀取數(shù)據(jù)。其中就有一個(gè)問題,“傳統(tǒng)”的關(guān)系數(shù)據(jù)庫不提供這種模式,因此也沒法提供同樣的性能。在過去那種數(shù)據(jù)庫中,如果只有幾個(gè)GB數(shù)據(jù),這一問題還不是很明顯,但是許多云計(jì)算的數(shù)據(jù)庫已經(jīng)超過了1TB,還會(huì)有更多的大規(guī)模數(shù)據(jù)庫會(huì)被用來支撐不斷發(fā)展的云計(jì)算系統(tǒng)。在關(guān)系型數(shù)據(jù)庫上對(duì)大規(guī)模數(shù)據(jù)進(jìn)行操作是兵家大忌,因?yàn)樵谔幚頂?shù)據(jù)時(shí)SQL請求會(huì)占用大量的CPU周期,并且會(huì)導(dǎo)致大量的磁盤讀寫。
如果你覺得以前好像在哪里聽過這種說法,那么我告訴你其實(shí)你是對(duì)的。早在上世紀(jì)90年代,對(duì)象數(shù)據(jù)庫和XML數(shù)據(jù)庫就取得過一些進(jìn)展,盡管那時(shí)許多非關(guān)系型數(shù)據(jù)庫確實(shí)能提供更好的性能,但很多企業(yè)卻守住了關(guān)系型數(shù)據(jù)庫的江山,如Oracle、Sybase和Informix。然而,由于從關(guān)系型數(shù)據(jù)庫上遷移出去的花費(fèi)和風(fēng)險(xiǎn)太高,而且數(shù)據(jù)的規(guī)模也相對(duì)較小,使得關(guān)系型數(shù)據(jù)庫幾乎一統(tǒng)天下。
不過,云計(jì)算改變了一切。在云計(jì)算中需要對(duì)大量的數(shù)據(jù)進(jìn)行處理,這一需求導(dǎo)致新的數(shù)據(jù)庫處理方法運(yùn)用在了舊模型上。MapReduce是Hadoop處理數(shù)據(jù)的基本方法,它是基于幾年前的“無共享”(share-nothing)數(shù)據(jù)庫處理模型,但現(xiàn)在我們有了實(shí)現(xiàn)它的處理能力、磁盤空間以及帶寬。
我估計(jì)云計(jì)算的發(fā)展將會(huì)減少對(duì)關(guān)系型數(shù)據(jù)庫的使用。這并非新鮮事物,但這回我們卻實(shí)實(shí)在在需要改變了。
相關(guān)閱讀
NoSQL,意即反SQL運(yùn)動(dòng),是一項(xiàng)全新的數(shù)據(jù)庫革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于目前鋪天蓋地的關(guān)系型數(shù)據(jù)庫運(yùn)用,這一概念無疑是一種全新的思維的注入。
現(xiàn)今的計(jì)算機(jī)體系結(jié)構(gòu)在數(shù)據(jù)存儲(chǔ)方面要求具備龐大的水平擴(kuò)展性,而NoSQL致力于改變這一現(xiàn)狀。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型數(shù)據(jù)庫。
NoSQL項(xiàng)目的名字上看不出什么相同之處,但是,它們通常在某些方面相同:它們可以處理超大量的數(shù)據(jù)。
這場革命目前仍然需要等待。的確,NoSQL對(duì)大型企業(yè)來說還不是主流,但是,一兩年之后很可能就會(huì)變個(gè)樣子。在NoSQL運(yùn)動(dòng)的最新一次聚會(huì)中,來自世界各地的150人擠滿了CBS Interactive的一間會(huì)議室。分享他們?nèi)绾瓮品徛嘿F的關(guān)系數(shù)據(jù)庫的暴政,怎樣使用更有效和更便宜的方法來管理數(shù)據(jù)。
“關(guān)系型數(shù)據(jù)庫給你強(qiáng)加了太多東西。它們要你強(qiáng)行修改對(duì)象數(shù)據(jù),以滿足RDBMS (relational database management system,關(guān)系型數(shù)據(jù)庫管理系統(tǒng))的需要,”在NoSQL擁護(hù)者們看來,基于NoSQL的替代方案“只是給你所需要的”。
原文標(biāo)題:SQL and relational databases: They're not right for the cloud
【更多關(guān)于數(shù)據(jù)庫發(fā)展的趨勢性報(bào)道】