對(duì)此,前Google工程師,Milo(本地商店搜索引擎)創(chuàng)始人Ted Dziuba最近發(fā)表標(biāo)題驚人的博客“I Can't Wait for NoSQL to Die”,對(duì)NoSQL的適用范圍進(jìn)行了分析。他認(rèn)為,

創(chuàng)新互聯(lián)是專業(yè)的劍河網(wǎng)站建設(shè)公司,劍河接單;提供網(wǎng)站建設(shè)、網(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è)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
NoSQL也會(huì)帶來(lái)一連串的新問(wèn)題,并不會(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ì)心一笑。他說(shuō),
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é)果是,我們獲得了更多解決問(wèn)題的選擇。
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定義的問(wèn)題其實(shí)很容易解決。而且,NoSQL并不是要取代MySQL,事實(shí)上Twitter仍然在用MySQL。如果關(guān)系型數(shù)據(jù)庫(kù)能夠承擔(dān)負(fù)荷,那就用好了;如果不行,請(qǐng)考慮NoSQL。
而德國(guó)知名博客Code Monkeyism則嘲笑Dziuba看起來(lái)并沒(méi)有用MySQL做過(guò)真實(shí)項(xiàng)目,因?yàn)镸ySQL如果沒(méi)有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說(shuō),自己現(xiàn)在的創(chuàng)業(yè)項(xiàng)目就是用NoSQL,而且列舉了一系列問(wèn)題挑戰(zhàn)SQL陣營(yíng)。
為了彌補(bǔ)關(guān)系型數(shù)據(jù)庫(kù)的不足(特別是最近幾年),NoSQL數(shù)據(jù)庫(kù)出現(xiàn)了。關(guān)系型數(shù)據(jù)庫(kù)應(yīng)用廣泛,能進(jìn)行事務(wù)處理和JOIN等復(fù)雜處理。相對(duì)地,NoSQL數(shù)據(jù)庫(kù)只應(yīng)用在特定領(lǐng)域,基本上不進(jìn)行復(fù)雜的處理,但它恰恰彌補(bǔ)了之前所列舉的關(guān)系型數(shù)據(jù)庫(kù)的不足之處。
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)顯得力不從心,暴露了很多難以克服的問(wèn)題,而非關(guān)系型的數(shù)據(jù)庫(kù)則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫(kù)的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類帶來(lái)的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用難題。
雖然NoSQL流行語(yǔ)火起來(lái)才短短一年的時(shí)間,但是不可否認(rèn),現(xiàn)在已經(jīng)開始了第二代運(yùn)動(dòng)。盡管早期的堆棧代碼只能算是一種實(shí)驗(yàn),然而現(xiàn)在的系統(tǒng)已經(jīng)更加的成熟、穩(wěn)定。不過(guò)現(xiàn)在也面臨著一個(gè)嚴(yán)酷的事實(shí):技術(shù)越來(lái)越成熟——以至于原來(lái)很好的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并沒(méi)有一個(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ù)的性能往往好于通過(guò)網(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ù)制。這樣既提高了并行性能,又能保證沒(méi)有單點(diǎn)失效的問(wè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ù)并沒(méi)有一個(gè)統(tǒng)一的架構(gòu),兩種NoSQL數(shù)據(jù)庫(kù)之間的不同,甚至遠(yuǎn)遠(yuǎn)超過(guò)兩種關(guān)系型數(shù)據(jù)庫(kù)的不同。可以說(shuō),NoSQL各有所長(zhǎng),成功的NoSQL必然特別適用于某些場(chǎng)合或者某些應(yīng)用,在這些場(chǎng)合中會(huì)遠(yuǎn)遠(yuǎn)勝過(guò)關(guān)系型數(shù)據(jù)庫(kù)和其他的NoSQL。
看了CNode社區(qū)的一篇文章,非常好,果斷轉(zhuǎn),a href=""想看點(diǎn)我/a
傳統(tǒng)觀念中 NoSQL數(shù)據(jù)庫(kù)非常適合某些數(shù)據(jù)類型,如:非關(guān)系數(shù)據(jù)源。同時(shí),NoSQL被吹捧為最適合Web應(yīng)用程序的優(yōu)秀平臺(tái)。然而他適合大多數(shù)數(shù)據(jù),特別是web應(yīng)用程序的數(shù)據(jù)是相關(guān)型。那么,這是否可以給你一個(gè)堅(jiān)持使用RDMS的理由呢?也不一定,即使很困難,我們還是要做出選擇。
評(píng)估NoSQL是一個(gè)很茅盾的理論,一些人認(rèn)為,應(yīng)該將所有文檔數(shù)據(jù)存儲(chǔ)在一個(gè)文檔中,做鏈接代碼就是褻瀆神明。另外一部分人認(rèn)為,存儲(chǔ)應(yīng)用文檔,加入代碼,才是合理選擇。與此同時(shí),不同的數(shù)據(jù)庫(kù),需要在文檔中限制嵌套數(shù)據(jù)數(shù)量。有的人會(huì)鼓勵(lì)文檔引用。這是NoSQL數(shù)據(jù)模型的基本部分,也沒(méi)有一個(gè)明確的共識(shí)。
曾經(jīng)有一篇很熱的帖子"Why you should never use XYZ",我想,讀到這里,一定會(huì)有人搜索這篇文章。當(dāng)然,這種文章各式各樣,太過(guò)于籠統(tǒng)的標(biāo)題也沒(méi)什么幫助。毫無(wú)疑問(wèn),會(huì)有人會(huì)搜索這個(gè)文章,然后再找
到這個(gè)文章,進(jìn)一步深入,找到該文章的方法遠(yuǎn)比成功(理解問(wèn)題)的故事多。很難知道誰(shuí)提供了一個(gè)有效的技術(shù)問(wèn)題,誰(shuí)又誤讀了這個(gè)問(wèn)題(或者缺少證據(jù)證明其觀點(diǎn))。
有大量選擇,RDBMS的世界,選擇就很容易。你有4或5個(gè)目標(biāo),大家工作方式差不多,來(lái)選擇環(huán)境、預(yù)算支持的平臺(tái)。對(duì)于成熟的產(chǎn)品,風(fēng)險(xiǎn)比較小。 NoSQL的世界,有很多數(shù)據(jù)庫(kù)引擎功能選擇。每一個(gè)有自己的獨(dú)特優(yōu)勢(shì),也有致命弱點(diǎn)。所以選擇很難, NoSQL項(xiàng)目生命周期短,嘗試新項(xiàng)目或者流行項(xiàng)目也會(huì)有風(fēng)險(xiǎn)。上次,我的的項(xiàng)目是在 CouchDB上,而現(xiàn)在似乎停擺了。
做出這個(gè)痛苦決定的原因是,這可能是一個(gè)案例:你需要做一大堆工作,才能知道,你做出的選擇對(duì)與錯(cuò)。你可以實(shí)體化你的數(shù)據(jù)模型,了解他與系統(tǒng)的工作情況,但是,這只有你正真撞到南墻,才可以找到裂縫(答案)。以我為例,我建的應(yīng)用程序是關(guān)系數(shù)據(jù)庫(kù),移動(dòng)文件存儲(chǔ)的主要因素是,需要一個(gè)無(wú)模式設(shè)計(jì)來(lái)達(dá)到我的目標(biāo)。使用NoSQL 數(shù)據(jù)庫(kù)存儲(chǔ)關(guān)系型數(shù)據(jù)庫(kù)并不是我們所常說(shuō)的,雖然,這種事常常發(fā)生。
現(xiàn)在我在用 Couchbase 和 MongoDB,Mongo對(duì)我沒(méi)多大吸引力,不過(guò)鑒于他非常流行,對(duì)于引起來(lái)說(shuō),很有好處。當(dāng)然,很多都可以以同樣的方式流行。PHP很流行,因?yàn)樗囊子眯裕皇且驗(yàn)樗芎谩?/p>
分享文章:nosql文章,什么叫nosql數(shù)據(jù)庫(kù)
當(dāng)前路徑:http://chinadenli.net/article41/dsisihd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站改版、標(biāo)簽優(yōu)化、虛擬主機(jī)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營(yí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í)需注明來(lái)源: 創(chuàng)新互聯(lián)