欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

nosql含義,nosql的全稱

如何準(zhǔn)確理解nosql的含義

用于輸出指定的值:

在鞍山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需策劃設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)整合營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),鞍山網(wǎng)站建設(shè)費(fèi)用合理。

s:property value="%{@cn.csdn.hr.domain.User@Name}"/br/

s:property value="@cn.csdn.hr.domain.User@Name"/Br/!-- 以上兩種方法都可以 --

s:property value="%{@cn.csdn.hr.domain.User@study()}"/

nosql適合存儲非結(jié)構(gòu)化數(shù)據(jù)嗎

nosql適合存儲非結(jié)構(gòu)化數(shù)據(jù)嗎

基本含義NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項(xiàng)全新的數(shù)據(jù)庫革命性運(yùn)動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲

NoSQL是什么意思

什么是NoSQL數(shù)據(jù)庫?從名稱“非SQL”或“非關(guān)系型”衍生而來,這些數(shù)據(jù)庫不使用類似SQL的查詢語言,通常稱為結(jié)構(gòu)化存儲。這些數(shù)據(jù)庫自1960年就已經(jīng)存在,但是直到現(xiàn)在一些大公司(例如Google和Facebook)開始使用它們時,這些數(shù)據(jù)庫才流行起來。該數(shù)據(jù)庫最明顯的優(yōu)勢是擺脫了一組固定的列、連接和類似SQL的查詢語言的限制。有時,NoSQL這個名稱也可能表示“不僅僅SQL”,來確保它們可能支持SQL。 NoSQL數(shù)據(jù)庫使用諸如鍵值、寬列、圖形或文檔之類的數(shù)據(jù)結(jié)構(gòu),并且可以如JSON之類的不同格式存儲。

什么是非關(guān)系型數(shù)據(jù)庫?與關(guān)系型數(shù)據(jù)庫區(qū)別是啥?

我談一點(diǎn)個人的見解吧。

記得之前看過一篇帖子,講的是可能我們所說的非關(guān)系型數(shù)據(jù)庫是我們翻譯錯了。年代久遠(yuǎn),找不到原貼了,但是大概說的是非關(guān)系型數(shù)據(jù)庫的名字叫Not Only Sql,我們簡化過來就叫NoSql,所以看著就像是非關(guān)系型數(shù)據(jù)庫,然后我們再顧名思義,就是數(shù)據(jù)之間沒有關(guān)系的數(shù)據(jù)庫,這個理解我不贊同。

如果從名字上來看,我覺得可以叫做不僅僅是關(guān)系型的數(shù)據(jù)庫,更為恰當(dāng),當(dāng)然,我們也不能否認(rèn),這類數(shù)據(jù)庫確實(shí)在數(shù)據(jù)關(guān)聯(lián)之間更為自由,約束條件更少,(甚至沒有),但是這并不能阻擋它的發(fā)展,以“鍵值對”為基礎(chǔ)的NoSql在性能上可以說是碾壓對手,大家都知道NoSql不需要經(jīng)過Sql層的解析的,相比關(guān)系型數(shù)據(jù)庫數(shù)據(jù)之間的高耦合性,這讓它具有更高的平行擴(kuò)展性,當(dāng)然這方面你需要去看一下相關(guān)的知識,高耦合低聚合等等概念需要理解一下。

大概就是我的理解了吧,關(guān)系型數(shù)據(jù)庫就不用說了吧,我們常常用到,現(xiàn)在的主流數(shù)據(jù)庫我們也都在接觸,大到Oracle,小到Sqlite,相信你也比較熟悉,這些數(shù)據(jù)庫都是支持事務(wù)和相當(dāng)復(fù)雜的查詢的,往往我們一條查詢語句可以上百行(一子句一行)甚至上千行,這些都是NoSql做不到的,(注意我說的是一條查詢語句),事務(wù)這個概念我也不多提了,這個網(wǎng)上就太多了,如果涉及到高并發(fā)之類的,可以多線程+事務(wù),效率更高一些。

最后再補(bǔ)兩句,好像現(xiàn)在的NoSql數(shù)據(jù)庫的發(fā)展趨勢很微妙,描述在往一些關(guān)系型數(shù)據(jù)庫的基礎(chǔ)模型延伸。

如何正確理解CAP理論

常見的理解及分析

目前流行的、對CAP理論解釋的情形是從同一數(shù)據(jù)在網(wǎng)絡(luò)環(huán)境中的多個副本出發(fā)的。為了保證數(shù)據(jù)不會丟失,在企業(yè)級的數(shù)據(jù)管理方案中,一般必須考慮數(shù)據(jù)的冗余存儲問題,而這應(yīng)該是通過在網(wǎng)絡(luò)上的其他獨(dú)立物理存儲節(jié)點(diǎn)上保留另一份、或多份數(shù)據(jù)副本來實(shí)現(xiàn)的(如附圖所示)。因?yàn)樵谕粋€存儲節(jié)點(diǎn)上的數(shù)據(jù)冗余明顯不能解決單點(diǎn)故障問題,這與通過多節(jié)點(diǎn)集群來提供更好的計(jì)算可用性的道理是相同的。

附圖 CAP理論示意圖

其實(shí),不用做嚴(yán)格的證明也可以想見,如附圖的情況,數(shù)據(jù)在節(jié)點(diǎn)A、B、C上保留了三份,如果對節(jié)點(diǎn)A上的數(shù)據(jù)進(jìn)行了修改,然后再讓客戶端通過網(wǎng)絡(luò)對該數(shù)據(jù)進(jìn)行讀取。那么,客戶端的讀取操作什么時候返回呢?

有這樣兩種情況:一種情況是要求節(jié)點(diǎn)A、B、C的三份數(shù)據(jù)完全一致后返回。也就是說,這時從任何一個網(wǎng)絡(luò)節(jié)點(diǎn)讀取的數(shù)據(jù)都是一樣的,這就是所謂的強(qiáng)一致性讀。很明顯,這時數(shù)據(jù)讀取的Latency要高一些(因?yàn)橐葦?shù)據(jù)在網(wǎng)絡(luò)中的復(fù)制),同時A、B、C三個節(jié)點(diǎn)中任何一個宕機(jī),都會導(dǎo)致數(shù)據(jù)不可用。也就是說,要保證強(qiáng)一致性,網(wǎng)絡(luò)中的副本越多,數(shù)據(jù)的可用性就越差;

另一種情況是,允許讀操作立即返回,容忍B節(jié)點(diǎn)的讀取與A節(jié)點(diǎn)的讀取不一致的情況發(fā)生。這樣一來,可用性顯然得到了提高,網(wǎng)絡(luò)中的副本也可以多一些,唯一得不到保證的是數(shù)據(jù)一致性。當(dāng)然,對寫操作同樣也有多個節(jié)點(diǎn)一致性的情況,在此不再贅述。

可以看出,上述對CAP理論的解釋主要是從網(wǎng)絡(luò)上多個節(jié)點(diǎn)之間的讀寫一致性出發(fā)考慮問題的。而這一點(diǎn),對于關(guān)系型數(shù)據(jù)庫意味著什么呢?當(dāng)然主要是指通常所說的Standby(關(guān)于分布式事務(wù),涉及到更多考慮,隨后討論)情況。對此,在實(shí)踐中我們大多已經(jīng)采取了弱一致性的異步延時同步方案,以提高可用性。這種情況并不存在關(guān)系型數(shù)據(jù)庫為保證C、A而放棄P的情況;而對海量數(shù)據(jù)管理的需求,關(guān)系型數(shù)據(jù)庫擴(kuò)展過程中所遇到的性能瓶頸,似乎也并不是CAP理論中所描述的那種原因造成的。那么,上述流行的說法中所描述的關(guān)系型數(shù)據(jù)庫為保證C、A而犧牲P到底是在指什么呢?

因此,如果根據(jù)現(xiàn)有的大多數(shù)資料對CAP理論的如上解釋,即只將其當(dāng)作分布式系統(tǒng)中多個數(shù)據(jù)副本之間的讀寫一致性問題的通用理論對待,那么就可以得出結(jié)論:CAP既適用于NoSQL數(shù)據(jù)庫,也適用于關(guān)系型數(shù)據(jù)庫。它是NoSQL數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫,乃至一切分布式系統(tǒng)在設(shè)計(jì)數(shù)據(jù)多個副本之間讀寫一致性問題時需要遵循的共同原則。

更深入的探究:兩種重要的分布式場景

在本文中我們要說的重點(diǎn)與核心是:關(guān)于對CAP理論中一致性C的理解,除了上述數(shù)據(jù)副本之間的讀寫一致性以外,分布式環(huán)境中還有兩種非常重要的場景,如果不對它們進(jìn)行認(rèn)識與討論,就永遠(yuǎn)無法全面地理解CAP,當(dāng)然也就無法根據(jù)CAP做出正確的解釋。但可惜的是,目前為止卻很少有人提及這兩種場景:那就是事務(wù)與關(guān)聯(lián)。

先來看看分布式環(huán)境中的事務(wù)場景。我們知道,在關(guān)系型數(shù)據(jù)庫的事務(wù)操作遵循ACID原則,其中的一致性C,主要是指一個事務(wù)中相關(guān)聯(lián)的數(shù)據(jù)在事務(wù)操作結(jié)束后是一致的。所謂ACID原則,是指在寫入/異動資料的過程中,為保證交易正確可靠所必須具備的四個特性:即原子性(Atomicity,或稱不可分割性)、一致性(Consistency)、隔離性(Isolation,又稱獨(dú)立性)和持久性(Durability)。

例如銀行的一個存款交易事務(wù),將導(dǎo)致交易流水表增加一條記錄。同時,必須導(dǎo)致賬戶表余額發(fā)生變化,這兩個操作必須是一個事務(wù)中全部完成,保證相關(guān)數(shù)據(jù)的一致性。而前文解釋的CAP理論中的C是指對一個數(shù)據(jù)多個備份的讀寫一致性。表面上看,這兩者不是一回事,但實(shí)際上,卻是本質(zhì)基本相同的事物:數(shù)據(jù)請求會等待多個相關(guān)數(shù)據(jù)操作全部完成才返回。對分布式系統(tǒng)來講,這就是我們通常所說的分布式事務(wù)問題。

眾所周知,分布式事務(wù)一般采用兩階段提交策略來實(shí)現(xiàn),這是一個非常耗時的復(fù)雜過程,會嚴(yán)重影響系統(tǒng)效率,在實(shí)踐中我們盡量避免使用它。在實(shí)踐過程中,如果我們?yōu)榱藬U(kuò)展數(shù)據(jù)容量將數(shù)據(jù)分布式存儲,而事務(wù)的要求又完全不能降低。那么,系統(tǒng)的可用性一定會大大降低,在現(xiàn)實(shí)中我們一般都采用對這些數(shù)據(jù)不分散存儲的策略。

當(dāng)然,我們也可以說,最常使用的關(guān)系型數(shù)據(jù)庫,因?yàn)檫@個原因,擴(kuò)展性(分區(qū)可容忍性P)受到了限制,這是完全符合CAP理論的。但同時我們應(yīng)該意識到,這對NoSQL數(shù)據(jù)庫也是一樣的。如果NoSQL數(shù)據(jù)庫也要求嚴(yán)格的分布式事務(wù)功能,情況并不會比關(guān)系型數(shù)據(jù)庫好多少。只是在NoSQL的設(shè)計(jì)中,我們往往會弱化甚至去除事務(wù)的功能,該問題才表現(xiàn)得不那么明顯而已。

因此,在擴(kuò)展性問題上,如果要說關(guān)系型數(shù)據(jù)庫是為了保證C、A而犧牲P,在盡量避免分布式事務(wù)這一點(diǎn)上來看,應(yīng)該是正確的。也就是說:關(guān)系型數(shù)據(jù)庫應(yīng)該具有強(qiáng)大的事務(wù)功能,如果分區(qū)擴(kuò)展,可用性就會降低;而NoSQL數(shù)據(jù)庫干脆弱化甚至去除了事務(wù)功能,因此,分區(qū)的可擴(kuò)展性就大大增加了。

再來看看分布式環(huán)境中的關(guān)聯(lián)場景。初看起來,關(guān)系型數(shù)據(jù)庫中常用的多表關(guān)聯(lián)操作與CAP理論就更加不沾邊了。但仔細(xì)考慮,也可以用它來解釋數(shù)據(jù)庫分區(qū)擴(kuò)展對關(guān)聯(lián)所帶來的影響。對一個數(shù)據(jù)庫來講,采用了分區(qū)擴(kuò)展策略來擴(kuò)充容量,數(shù)據(jù)分散存儲了,很顯然多表關(guān)聯(lián)的性能就會下降,因?yàn)槲覀儽仨氃诰W(wǎng)絡(luò)上進(jìn)行大量的數(shù)據(jù)遷移操作,這與CAP理論中數(shù)據(jù)副本之間的同步操作本質(zhì)上也是相同的。

因此,如果要保證系統(tǒng)的高可用性,需要同時實(shí)現(xiàn)強(qiáng)大的多表關(guān)系操作的關(guān)系型數(shù)據(jù)庫在分區(qū)可擴(kuò)展性上就遇到了極大的限制(即使是那些采用了各種優(yōu)秀解決方案的MPP架構(gòu)的關(guān)系型數(shù)據(jù)庫,如TeraData,Netezza等,其水平可擴(kuò)展性也是遠(yuǎn)遠(yuǎn)不如NoSQL數(shù)據(jù)庫的),而NoSQL數(shù)據(jù)庫則干脆在設(shè)計(jì)上弱化甚至去除了多表關(guān)聯(lián)操作。那么,從這一點(diǎn)上來理解“NoSQL數(shù)據(jù)庫是為了保證A與P,而犧牲C”的說法,也是可以講得通的。當(dāng)然,我們應(yīng)該理解,關(guān)聯(lián)問題在很多情況下不是并行處理的優(yōu)點(diǎn)所在,這在很大程度上與Amdahl定律相符合。

所以,從事務(wù)與關(guān)聯(lián)的角度來關(guān)系型數(shù)據(jù)庫的分區(qū)可擴(kuò)展性為什么受限的原因是最為清楚的。而NoSQL數(shù)據(jù)庫也正是因?yàn)槿趸踔寥コ讼袷聞?wù)與關(guān)聯(lián)(全面地講,其實(shí)還有索引等特性)等在分布式環(huán)境中會嚴(yán)重影響系統(tǒng)可用性的功能,才獲得了更好的水平可擴(kuò)展性。

那么,如果將事務(wù)與關(guān)聯(lián)也納入CAP理論中一致性C的范疇的話,問題就很清楚了:關(guān)于“關(guān)系型數(shù)據(jù)庫為了保證一致性C與可用性A,而不得不犧牲分區(qū)可容忍性P”的說法便是正確的了。但關(guān)于“NoSQL選擇了C與P,或者A與P”的說法則是錯誤的,所有的NoSQL數(shù)據(jù)庫在設(shè)計(jì)策略的大方向上都是選擇了A與P(雖然對同一數(shù)據(jù)多個副本的讀寫一致性問題的設(shè)計(jì)各有不同),從來沒有完全選擇C與P的情況存在。

結(jié)論

現(xiàn)在看來,如果理解CAP理論只是指多個數(shù)據(jù)副本之間讀寫一致性的問題,那么它對關(guān)系型數(shù)據(jù)庫與NoSQL數(shù)據(jù)庫來講是完全一樣的,它只是運(yùn)行在分布式環(huán)境中的數(shù)據(jù)管理設(shè)施在設(shè)計(jì)讀寫一致性問題時需要遵循的一個原則而已,卻并不是NoSQL數(shù)據(jù)庫具有優(yōu)秀的水平可擴(kuò)展性的真正原因。而如果將CAP理論中的一致性C理解為讀寫一致性、事務(wù)與關(guān)聯(lián)操作的綜合,則可以認(rèn)為關(guān)系型數(shù)據(jù)庫選擇了C與A,而NoSQL數(shù)據(jù)庫則全都是選擇了A與P,但并沒有選擇C與P的情況存在。這才是用CAP理論來支持NoSQL數(shù)據(jù)庫設(shè)計(jì)正確認(rèn)識。

其實(shí),這種認(rèn)識正好與被廣泛認(rèn)同的NoSQL的另一個理論基礎(chǔ)相吻合,即與ACID對著干的BASE(基本可用性、軟狀態(tài)與最終一致性)。因?yàn)锽ASE的含義正好是指“NoSQL數(shù)據(jù)庫設(shè)計(jì)可以通過犧牲一定的數(shù)據(jù)一致性和容錯性來換取高性能的保持甚至提高”,即NoSQL數(shù)據(jù)庫都應(yīng)該是犧牲C來換取P,而不是犧牲A。可用性A正好是所有NoSQL數(shù)據(jù)庫都普遍追求的特性。

文章標(biāo)題:nosql含義,nosql的全稱
網(wǎng)頁鏈接:http://chinadenli.net/article30/dsgjgso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)Google網(wǎng)站建設(shè)標(biāo)簽優(yōu)化網(wǎng)站維護(hù)網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)