第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么是NoSQL,它是如何工作的,它提供了什么好處?

什么是NoSQL,它是如何工作的,它提供了什么好處?

至尊寶的傳說 2019-09-18 14:51:54
我一直在聽NoSQL的事情,它最終可能成為SQL DB存儲方法的替代品,因為數(shù)據(jù)庫交互通常是網(wǎng)絡(luò)速度的瓶頸。所以我只有幾個問題:究竟是什么?它是如何工作的?為什么它比使用SQL數(shù)據(jù)庫更好?它有多好?這項技術(shù)是否太新,無法開始實施,還是值得研究一下?
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻1795條經(jīng)驗 獲得超7個贊

  1. 究竟是什么?

    一方面,一個特定的系統(tǒng),但它也成為不遵循關(guān)系數(shù)據(jù)庫模型的各種新數(shù)據(jù)存儲后端的通用詞。

  2. 它是如何工作的?

    標(biāo)有通用名稱的每個系統(tǒng)的工作方式不同,但基本思想是通過使用不支持通用RDBMS的所有功能的DB模型來提供更好的可伸縮性和性能,但仍然有足夠的功能。在某種程度上,它就像MySQL,它曾一度缺乏對事務(wù)的支持,但正因為如此,它成功地超越了其他數(shù)據(jù)庫系統(tǒng)。如果您可以以不需要交易的方式編寫應(yīng)用程序,那就太棒了。

  3. 為什么它比使用SQL數(shù)據(jù)庫更好?它有多好?

    如果您的站點需要如此大規(guī)模地擴展以使最好的RDBMS運行在您能夠承受的最佳硬件上并且盡可能地優(yōu)化而無法跟上負載,那就更好了。它的好壞取決于具體的用例(大量的更新活動與大量的連接相結(jié)合對于“傳統(tǒng)的”RDBMS來說非常困難) - 在極端情況下很可能是1000的因素。

  4. 這項技術(shù)是否太新,無法開始實施,還是值得研究一下?

    主要取決于你想要實現(xiàn)的目標(biāo)。它當(dāng)然足夠成熟,可以使用。但很少有應(yīng)用程序確實需要大規(guī)模擴展。對于大多數(shù)人來說,傳統(tǒng)的RDBMS就足夠了。然而,隨著互聯(lián)網(wǎng)的使用越來越普遍,很可能應(yīng)用程序會變得更加普遍(盡管可能不是主導(dǎo))。



查看完整回答
反對 回復(fù) 2019-09-18
?
夢里花落0921

TA貢獻1772條經(jīng)驗 獲得超6個贊

NoSQL沒有這樣的東西!

NoSQL是一個流行語。

幾十年來,當(dāng)人們談?wù)摂?shù)據(jù)庫時,他們意味著關(guān)系數(shù)據(jù)庫。當(dāng)人們談?wù)撽P(guān)系數(shù)據(jù)庫時,他們意味著你用Edgar F. Codd的結(jié)構(gòu)化查詢語言控制的那些數(shù)據(jù)庫。以其他方式存儲數(shù)據(jù)?瘋狂!其他任何東西都只是flatfiles。

但在過去的幾年里,人們開始質(zhì)疑這個教條。人們想知道具有行和列的表是否真的是表示數(shù)據(jù)的唯一方式。人們開始思考和編碼,并提出了許多關(guān)于如何組織數(shù)據(jù)的新概念。他們開始創(chuàng)建新的數(shù)據(jù)庫系統(tǒng),專為這些處理數(shù)據(jù)的新方法而設(shè)計。

所有這些數(shù)據(jù)庫的哲學(xué)都不同。但是所有這些數(shù)據(jù)庫有一個共同點,就是結(jié)構(gòu)化查詢語言不再適合使用它們。因此,每個數(shù)據(jù)庫都用自己的查詢語言替換SQL。因此,NoSQL這個術(shù)語誕生了,作為所有數(shù)據(jù)庫技術(shù)的標(biāo)簽,它違背了傳統(tǒng)的關(guān)系數(shù)據(jù)庫模型。

那么NoSQL數(shù)據(jù)庫有什么共同之處呢?

實際上,并不多。

你經(jīng)常聽到這樣的短語:

  • NoSQL是可擴展的!

  • NoSQL適用于BigData!

  • NoSQL違反了ACID!

  • NoSQL是一個美化的鍵/值存儲!

真的嗎?好吧,其中一些語句可能適用于一些通常稱為NoSQL的數(shù)據(jù)庫,但每一個數(shù)據(jù)庫對于至少一個其他數(shù)據(jù)庫也是假的。實際上,NoSQL數(shù)據(jù)庫唯一的共同點就是它們是不使用SQL的數(shù)據(jù)庫。而已。唯一定義它們的是使它們彼此分開的原因。

那么是什么讓NoSQL數(shù)據(jù)庫與眾不同?

因此,我們明確指出,所有通常稱為NoSQL的數(shù)據(jù)庫都不同,無法將它們一起評估。需要對它們中的每一個進行單獨評估,以確定它們是否適合解決特定問題。但是我們從哪里開始呢?值得慶幸的是,NoSQL數(shù)據(jù)庫可以分為特定類別,適用于不同的用例:

文檔導(dǎo)向

示例:MongoDB,CouchDB

優(yōu)勢:異構(gòu)數(shù)據(jù),面向工作對象,敏捷開發(fā)

它們的優(yōu)點是它們不需要一致的數(shù)據(jù)結(jié)構(gòu)。當(dāng)您的需求和數(shù)據(jù)庫布局不斷變化,或者處理屬于一起但看起來非常不同的數(shù)據(jù)集時,它們非常有用。當(dāng)你有很多表有兩列名為“key”和“value”的表時,這些可能值得研究。

圖數(shù)據(jù)庫

示例:Neo4j,GiraffeDB。

優(yōu)勢:數(shù)據(jù)挖掘

雖然大多數(shù)NoSQL數(shù)據(jù)庫放棄了管理數(shù)據(jù)關(guān)系的概念,但這些數(shù)據(jù)庫比那些所謂的關(guān)系數(shù)據(jù)庫更能接受它。

他們的重點是通過與其他數(shù)據(jù)的關(guān)系來定義數(shù)據(jù)。如果你有很多帶有主鍵的表,這些表是另外兩個表的主鍵(也許還有一些描述它們之間關(guān)系的數(shù)據(jù)),那么這些表可能適合你。

鍵值商店

示例:Redis,Cassandra,MemcacheDB

優(yōu)點:通過已知密鑰快速查找值

它們非常簡單,但這使它們快速且易于使用。如果您不需要存儲過程,約束,觸發(fā)器和所有這些高級數(shù)據(jù)庫功能,并且只是想快速存儲和檢索數(shù)據(jù),那么這些都適合您。

不幸的是,他們認為你確切地知道你在尋找什么。您需要User157641的個人資料嗎?沒問題,只需幾微秒。但是當(dāng)你想要年齡在16到24歲之間的所有用戶的名字時,有什么“華夫餅”作為他們最喜歡的食物并且在過去的24小時內(nèi)登錄了什么?倒霉。當(dāng)您沒有明確且唯一的特定結(jié)果密鑰時,您無法輕松地將其從KV商店中取出。

SQL過時了嗎?

一些NoSQL支持者聲稱他們最喜歡的NoSQL數(shù)據(jù)庫是新的做事方式,SQL已經(jīng)成為過去。

他們是對的嗎?

不,當(dāng)然不是。雖然SQL不適合存在問題,但它仍然有其優(yōu)勢。許多數(shù)據(jù)模型最好表示為相互引用的表的集合。特別是因為大多數(shù)數(shù)據(jù)庫程序員都經(jīng)過數(shù)十年的訓(xùn)練才能以關(guān)系的方式思考數(shù)據(jù),并且試圖將這種思維方式轉(zhuǎn)變?yōu)橐环N新技術(shù),而這項技術(shù)并非為此而設(shè)。

NoSQL數(shù)據(jù)庫不是SQL的替代品 - 它們是替代品。

圍繞不同NoSQL數(shù)據(jù)庫的大多數(shù)軟件生態(tài)系統(tǒng)還不夠成熟。雖然有了進步,但您仍然沒有像流行的SQL數(shù)據(jù)庫那樣成熟和強大的補充工具。

此外,SQL還有更多的專業(yè)知識。幾代計算機科學(xué)家將他們幾十年的職業(yè)生涯投入到關(guān)注數(shù)據(jù)庫的研究中,它表明:關(guān)于SQL數(shù)據(jù)庫和關(guān)系數(shù)據(jù)建模的文獻,無論是實踐還是理論,都可以填滿多個圖書館。如何為您的數(shù)據(jù)構(gòu)建關(guān)系數(shù)據(jù)庫是一個如此深入研究的主題,很難找到一個沒有普遍接受的書本最佳實踐的極端情況。

另一方面,大多數(shù)NoSQL數(shù)據(jù)庫仍然處于起步階段。我們?nèi)匀辉谡页鍪褂盟鼈兊淖罴逊椒ā?/p>


查看完整回答
反對 回復(fù) 2019-09-18
?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

既然有人說我以前的帖子是偏離主題的,我會盡力補償:-) NoSQL不是,而且從來沒有打算成為更主流的SQL數(shù)據(jù)庫的替代品,但是為了獲得正確的觀點。


在的非常心臟的NoSQL理念撒謊說,可能是商業(yè)性和便攜性的原因,SQL引擎往往忽視了UNIX操作系統(tǒng)及其衍生物的巨大力量的考慮。


使用基于文件系統(tǒng)的數(shù)據(jù)庫,您可以立即利用底層操作系統(tǒng)不斷增強的功能和強大功能,這些操作系統(tǒng)已根據(jù)摩爾定律多年來穩(wěn)步增長。使用這種方法,許多操作系統(tǒng)命令也自動成為“數(shù)據(jù)庫操作員”(想想“l(fā)s”“sort”,“find”和其他無數(shù)的UNIX shell實用程序)。


考慮到這一點,以及一點創(chuàng)造力,您確實可以設(shè)計一個基于文件系統(tǒng)的數(shù)據(jù)庫,它能夠克服許多常見SQL引擎的限制,至少對于特定的使用模式,這是NoSQL的理念背后的全部要點,我看到它的方式。


我運行了數(shù)百個網(wǎng)站,他們都或多或少地使用NoSQL。實際上,它們并不存儲大量數(shù)據(jù),但即使其中一些數(shù)據(jù)存在,我也可能會想到NoSQL和文件系統(tǒng)的創(chuàng)造性使用以克服任何瓶頸。傳統(tǒng)的SQL“jails”可能會更加困難。我敦促你谷歌為“unix”,“manis”和“shaffer”來理解我的意思。


查看完整回答
反對 回復(fù) 2019-09-18
  • 3 回答
  • 0 關(guān)注
  • 930 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號