NoSQL,泛指非關(guān)系型的數(shù)據(jù)庫(kù)。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫(kù)則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫(kù)的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用難題。

成都創(chuàng)新互聯(lián)公司是專業(yè)的富民網(wǎng)站建設(shè)公司,富民接單;提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行富民網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
雖然NoSQL流行語(yǔ)火起來才短短一年的時(shí)間,但是不可否認(rèn),現(xiàn)在已經(jīng)開始了第二代運(yùn)動(dòng)。盡管早期的堆棧代碼只能算是一種實(shí)驗(yàn),然而現(xiàn)在的系統(tǒng)已經(jīng)更加的成熟、穩(wěn)定。不過現(xiàn)在也面臨著一個(gè)嚴(yán)酷的事實(shí):技術(shù)越來越成熟——以至于原來很好的NoSQL數(shù)據(jù)存儲(chǔ)不得不進(jìn)行重寫,也有少數(shù)人認(rèn)為這就是所謂的2.0版本。這里列出一些比較知名的工具,可以為大數(shù)據(jù)建立快速、可擴(kuò)展的存儲(chǔ)庫(kù)。
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無(wú)疑是一種全新的思維的注入。
對(duì)于NoSQL并沒有一個(gè)明確的范圍和定義,但是他們都普遍存在下面一些共同特征:
不需要預(yù)定義模式:不需要事先定義數(shù)據(jù)模式,預(yù)定義表結(jié)構(gòu)。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式。當(dāng)插入數(shù)據(jù)時(shí),并不需要預(yù)先定義它們的模式。
無(wú)共享架構(gòu):相對(duì)于將所有數(shù)據(jù)存儲(chǔ)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)中的全共享架構(gòu)。NoSQL往往將數(shù)據(jù)劃分后存儲(chǔ)在各個(gè)本地服務(wù)器上。因?yàn)閺谋镜卮疟P讀取數(shù)據(jù)的性能往往好于通過網(wǎng)絡(luò)傳輸讀取數(shù)據(jù)的性能,從而提高了系統(tǒng)的性能。
彈性可擴(kuò)展:可以在系統(tǒng)運(yùn)行的時(shí)候,動(dòng)態(tài)增加或者刪除結(jié)點(diǎn)。不需要停機(jī)維護(hù),數(shù)據(jù)可以自動(dòng)遷移。
分區(qū):相對(duì)于將數(shù)據(jù)存放于同一個(gè)節(jié)點(diǎn),NoSQL數(shù)據(jù)庫(kù)需要將數(shù)據(jù)進(jìn)行分區(qū),將記錄分散在多個(gè)節(jié)點(diǎn)上面。并且通常分區(qū)的同時(shí)還要做復(fù)制。這樣既提高了并行性能,又能保證沒有單點(diǎn)失效的問題。
異步復(fù)制:和RAID存儲(chǔ)系統(tǒng)不同的是,NoSQL中的復(fù)制,往往是基于日志的異步復(fù)制。這樣,數(shù)據(jù)就可以盡快地寫入一個(gè)節(jié)點(diǎn),而不會(huì)被網(wǎng)絡(luò)傳輸引起遲延。缺點(diǎn)是并不總是能保證一致性,這樣的方式在出現(xiàn)故障的時(shí)候,可能會(huì)丟失少量的數(shù)據(jù)。
BASE:相對(duì)于事務(wù)嚴(yán)格的ACID特性,NoSQL數(shù)據(jù)庫(kù)保證的是BASE特性。BASE是最終一致性和軟事務(wù)。
NoSQL數(shù)據(jù)庫(kù)并沒有一個(gè)統(tǒng)一的架構(gòu),兩種NoSQL數(shù)據(jù)庫(kù)之間的不同,甚至遠(yuǎn)遠(yuǎn)超過兩種關(guān)系型數(shù)據(jù)庫(kù)的不同。可以說,NoSQL各有所長(zhǎng),成功的NoSQL必然特別適用于某些場(chǎng)合或者某些應(yīng)用,在這些場(chǎng)合中會(huì)遠(yuǎn)遠(yuǎn)勝過關(guān)系型數(shù)據(jù)庫(kù)和其他的NoSQL。
對(duì)此,前Google工程師,Milo(本地商店搜索引擎)創(chuàng)始人Ted Dziuba最近發(fā)表標(biāo)題驚人的博客“I Can't Wait for NoSQL to Die”,對(duì)NoSQL的適用范圍進(jìn)行了分析。他認(rèn)為, NoSQL也會(huì)帶來一連串的新問題,并不會(huì)成為主流,無(wú)法取代關(guān)系型數(shù)據(jù)庫(kù)。 他的理由是:Cassandra等NoSQL數(shù)據(jù)庫(kù)在使用上并不方便,比如,修改column family定義時(shí)就需要重啟。而且NoSQL更適合Google那樣的規(guī)模,而一般的互聯(lián)網(wǎng)公司都不是Google,早早地去考慮Google那樣的規(guī)模的可擴(kuò)展性,純粹是浪費(fèi)時(shí)間,存在巨大的商業(yè)風(fēng)險(xiǎn)。 他還透露,即使在Google,AdWords這樣的關(guān)鍵產(chǎn)品也是基于MySQL實(shí)現(xiàn)的。 他在文中最后表示,NoSQL當(dāng)然死不了,但是 它最終會(huì)被邊緣化,就像Rails被NoSQL邊緣化一樣 Dziuba的文章因?yàn)檠赞o激烈,在社區(qū)里引起了強(qiáng)烈反應(yīng)。 SQL數(shù)據(jù)庫(kù)陣營(yíng)贊同者大有人在。craigslist工程師、著名的MySQL專家Jeremy Zawodny表示,在讀此文的時(shí)候,不時(shí)會(huì)心一笑。他說, NoSQL運(yùn)動(dòng)只是軟件不斷進(jìn)化進(jìn)程中的正常現(xiàn)象 。關(guān)系型數(shù)據(jù)庫(kù)也會(huì)繼續(xù)發(fā)展,MySQL社區(qū)不斷推出的XtraDB或InnoDB插件, PBXT, Drizzle都是證據(jù)。各種技術(shù)競(jìng)爭(zhēng)的結(jié)果是,我們獲得了更多解決問題的選擇。 drizzle項(xiàng)目開發(fā)者Eric Day也表示,NoSQL有很多值得學(xué)習(xí)的,但是目前大部分實(shí)際項(xiàng)目的最佳選擇還是關(guān)系型數(shù)據(jù)庫(kù)。 NoSQL陣營(yíng)當(dāng)然不會(huì)坐視不理,Cassandra項(xiàng)目組的Eric Evans表示,Dziuba提到Cassandra修改column family定義的問題其實(shí)很容易解決。而且,NoSQL并不是要取代MySQL,事實(shí)上Twitter仍然在用MySQL。如果關(guān)系型數(shù)據(jù)庫(kù)能夠承擔(dān)負(fù)荷,那就用好了;如果不行,請(qǐng)考慮NoSQL。 而德國(guó)知名博客Code Monkeyism則嘲笑Dziuba看起來并沒有用MySQL做過真實(shí)項(xiàng)目,因?yàn)镸ySQL如果沒有memcache,基本上無(wú)法應(yīng)付網(wǎng)站項(xiàng)目。他認(rèn)為,NoSQL將使SQL數(shù)據(jù)庫(kù)邊緣化,而且一個(gè)重要理由恰恰是可以節(jié)省DBA的開銷。 digg的前任首席架構(gòu)師現(xiàn)在也在創(chuàng)業(yè)的Joe Stump說,自己現(xiàn)在的創(chuàng)業(yè)項(xiàng)目就是用NoSQL,而且列舉了一系列問題挑戰(zhàn)SQL陣營(yíng)。
不會(huì)的,兩者的適用場(chǎng)合不一樣,到目前為止,關(guān)系型數(shù)據(jù)還未完全替代文件型數(shù)據(jù)。 有些地方還在用層次型數(shù)據(jù)庫(kù)。
文章名稱:nosql代替關(guān)系,nosql是否可以取代關(guān)系型數(shù)據(jù)庫(kù)
文章URL:http://chinadenli.net/article21/dsiiejd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、建站公司、網(wǎng)站營(yíng)銷、網(wǎng)站收錄、、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)