2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
NoSQL 數(shù)據(jù)庫(kù)和管理系統(tǒng)是存儲(chǔ)行業(yè)當(dāng)前的流行語(yǔ)。大數(shù)據(jù)爆炸是NoSQL數(shù)據(jù)庫(kù)增長(zhǎng)和普及的主要催化劑。傳統(tǒng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)主要用于具有預(yù)定義模式的結(jié)構(gòu)化數(shù)據(jù)。因此,關(guān)系模型(RDBMS)發(fā)現(xiàn)很難處理半結(jié)構(gòu)化,非結(jié)構(gòu)化或其他形式的數(shù)據(jù),通常稱為大數(shù)據(jù)。
現(xiàn)在,問題是 - 我們?nèi)绾翁幚磉@種非結(jié)構(gòu)化數(shù)據(jù)?簡(jiǎn)單的答案是 - 轉(zhuǎn)向NoSQL數(shù)據(jù)庫(kù)管理系統(tǒng)。大數(shù)據(jù)現(xiàn)在已成為主流,因此我們必須認(rèn)真對(duì)待并在無(wú)模式NoSQL數(shù)據(jù)庫(kù)的幫助下專業(yè)地管理它。
但是,與此同時(shí),我們必須記住NoSQL數(shù)據(jù)庫(kù)管理系統(tǒng)不能替代傳統(tǒng)的RDBMS,但是在處理非結(jié)構(gòu)化數(shù)據(jù)時(shí),可以填補(bǔ)關(guān)系模型中的空白。
在本文中,我們將嘗試探索NoSQL數(shù)據(jù)庫(kù)和管理系統(tǒng)的不同方面。
定義數(shù)據(jù)庫(kù)管理系統(tǒng)
在我們討論DBMS之前,我們需要對(duì)數(shù)據(jù)庫(kù)有一個(gè)基本的想法。數(shù)據(jù)庫(kù)是存儲(chǔ)空間,系統(tǒng)地組織以存儲(chǔ)不同類型的數(shù)據(jù)。它們以結(jié)構(gòu)化的方式存儲(chǔ)數(shù)據(jù),以便計(jì)算機(jī)程序可以檢索,管理或更新數(shù)據(jù)。在NoSQL的情況下,存儲(chǔ)組織是不同的,因?yàn)樗鎯?chǔ)非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)。
數(shù)據(jù)庫(kù)管理系統(tǒng)可以定義為一組能夠處理數(shù)據(jù)庫(kù)操作的軟件程序。它包括存儲(chǔ),提取和修改數(shù)據(jù)以及管理活動(dòng)。所有關(guān)系數(shù)據(jù)庫(kù)都有一個(gè)預(yù)定義的模型/模式,它定義了數(shù)據(jù)的結(jié)構(gòu)及其存儲(chǔ)方式。但在NoSQL存儲(chǔ)中,模式是動(dòng)態(tài)定義的。
由于關(guān)系模型和非關(guān)系模型的基本存儲(chǔ)機(jī)制不同,DBMS也不同。我們將在以下部分中對(duì)此進(jìn)行更多討論。
NoSQL - 數(shù)據(jù)庫(kù)的一種新思維方式
在大數(shù)據(jù)爆炸之前,我們對(duì)關(guān)系存儲(chǔ)模型非常熟悉,因?yàn)檩斎霐?shù)據(jù)幾乎是結(jié)構(gòu)化形式。并且,對(duì)于少量非結(jié)構(gòu)化數(shù)據(jù),使用某些機(jī)制或ETL工具使其結(jié)構(gòu)化,然后加載到RDBMS中。因此,我們從未面臨過(guò)管理大量非結(jié)構(gòu)化數(shù)據(jù)(大數(shù)據(jù))的挑戰(zhàn)。
這就是NoSQL技術(shù)的作用所在.NoSQL這個(gè)術(shù)語(yǔ)最初指的是“非關(guān)系型”。NoSQL是一種思考數(shù)據(jù)庫(kù)及其管理系統(tǒng)的新方法。它提供了一種存儲(chǔ)和檢索數(shù)據(jù)的機(jī)制,以非關(guān)系方式建模(沒有表格關(guān)系)。市場(chǎng)上有不同類型的NoSQL數(shù)據(jù)庫(kù),每種都適用于特定的用例。但所有這些類型的基本目的都是相似的 - 存儲(chǔ)半結(jié)構(gòu)化,非結(jié)構(gòu)化或其他形式的數(shù)據(jù)。
什么是NoSQL數(shù)據(jù)庫(kù)管理系統(tǒng)?
簡(jiǎn)單來(lái)說(shuō),NoSQL DBMS是一組用于管理,操作和管理非關(guān)系數(shù)據(jù)庫(kù)的系統(tǒng)軟件/庫(kù)。NoSQL數(shù)據(jù)庫(kù)管理系統(tǒng)專門用于管理非結(jié)構(gòu)化數(shù)據(jù),它們的特點(diǎn)是無(wú)模式模型,高性能,可擴(kuò)展性,分布式存儲(chǔ),云支持等。
我們知道非結(jié)構(gòu)化數(shù)據(jù),更具體地說(shuō)是大數(shù)據(jù),有四個(gè)維度 - 體積,速度,多樣性和復(fù)雜性?,F(xiàn)在,如果我們組合這些不同的維度,我們會(huì)得到不同類型的數(shù)據(jù)模型。因此,NoSQL DBMS還設(shè)計(jì)為具有基于數(shù)據(jù)和目標(biāo)功能的多個(gè)操作模型。
NoSQL DBMS主要有四種類型。我們一個(gè)一個(gè)地看看它們。
基于鍵值的模型
簡(jiǎn)要說(shuō)明: 基于鍵值的NoSQL存儲(chǔ)是NoSQL實(shí)現(xiàn)的最基本類型。NoSQL DBMS之旅僅以鍵值對(duì)開始,因此它們是非關(guān)系模型的基本主干。任何數(shù)據(jù)的值都與匹配的密鑰一起存儲(chǔ),沒有任何結(jié)構(gòu)或關(guān)系。并且,在密鑰的幫助下也可以獲取數(shù)據(jù)。它具有高性能和易于擴(kuò)展的支持。
適用時(shí):鍵值模型適用于存儲(chǔ)用戶檔案,用戶會(huì)話,購(gòu)物車數(shù)據(jù),排隊(duì)和實(shí)時(shí)信息等基本信息。
不合適時(shí):在我們需要執(zhí)行基于數(shù)據(jù)的查詢,多個(gè)基于鍵的操作或基于關(guān)系的提取等情況下,不建議使用這些。
基于列的模型
簡(jiǎn)介:一個(gè)基于列在一個(gè)家庭中列的相關(guān)數(shù)據(jù)DBMS模型店。可以將其想象為具有包含相關(guān)數(shù)據(jù)的多個(gè)列并由行鍵標(biāo)識(shí)的行。需要注意的重要一點(diǎn)是,不同的行可以具有不同的列,并且新列也可以在任何時(shí)間點(diǎn)添加到任何行。因此,沒有必要為所有行維護(hù)相同的列。
適用時(shí):適用于存儲(chǔ)大量非結(jié)構(gòu)化和非易失性數(shù)據(jù)。這些主要用于日志聚合,博客平臺(tái)等。
不適合時(shí):不建議用于任何早期開發(fā)或查詢模式經(jīng)常更改的情況。
基于文檔的模型
簡(jiǎn)要說(shuō)明:阿基于文檔的模型也不過(guò)是鍵值存儲(chǔ),其中將文件存儲(chǔ)在所述值部,并通過(guò)相關(guān)聯(lián)的鍵檢索。這些文檔可以是XML,JSON或任何其他形式,具有分層和自定義結(jié)構(gòu)。
當(dāng)合適的:它是適合于存儲(chǔ)嵌套信息的CMS,基于網(wǎng)絡(luò)和實(shí)時(shí)分析,電子商務(wù)應(yīng)用等。
不適合時(shí):它不適用于跨多個(gè)文檔或復(fù)雜查詢的復(fù)雜操作。
基于圖的模型
簡(jiǎn)要說(shuō)明:甲圖形數(shù)據(jù)庫(kù)是一個(gè)不同的味道比其他三種類型的NoSQL存儲(chǔ)。它存儲(chǔ)實(shí)體與他們的關(guān)系。實(shí)體稱為節(jié)點(diǎn)(具有自己的屬性),關(guān)系稱為邊。這就像一個(gè)樹結(jié)構(gòu),其中所有節(jié)點(diǎn)都根據(jù)它們的關(guān)系連接起來(lái)。
適用時(shí):圖形數(shù)據(jù)庫(kù)適用于我們擁有強(qiáng)關(guān)系數(shù)據(jù)的場(chǎng)景。一些實(shí)現(xiàn)是社交網(wǎng)絡(luò),推薦引擎,地理空間數(shù)據(jù)等。
當(dāng)不合適時(shí):它不適用于數(shù)據(jù)模型在實(shí)體之間沒有強(qiáng)關(guān)系的情況。因?yàn)閳D的成功主要取決于基于關(guān)系的模型。
現(xiàn)在我們清楚地了解了不同的NoSQL DBMS及其用法。那么讓我們來(lái)看看它與SQL和傳統(tǒng)RDBMS的區(qū)別。
SQL vs. NoSQL - 獲勝者是......
幾十年來(lái),我們一直在使用SQL和傳統(tǒng)的RDBMS,它幾乎支持所有用例?,F(xiàn)在,在大數(shù)據(jù)時(shí)代,正在引入NoSQL技術(shù)來(lái)支持與非結(jié)構(gòu)化數(shù)據(jù)相關(guān)的新用例。但是,這并不意味著RDBMS適用的舊用例不再存在。因此,NoSQL DBMS不是RDBMS的替代品,而是在處理大數(shù)據(jù)時(shí)支持RDBMS中的差距。兩種模型都存在多種差異,其中一些在下面提到:
SQL DBMS遵循強(qiáng)大的基于模式的關(guān)系模型。但NoSQL DBMS是無(wú)關(guān)系和無(wú)架構(gòu)的。
RDBMS僅支持垂直擴(kuò)展,而NoSQL DBMS支持水平擴(kuò)展。
RDBMS 符合ACID(原子性,一致性,隔離性和持久性),但NoSQL DBMS不符合。
因此,SQL和NoSQL或它們的數(shù)據(jù)庫(kù)管理系統(tǒng)之間沒有競(jìng)爭(zhēng)。它們都適用于特定用例,并將在未來(lái)發(fā)展。
我們已經(jīng)討論了NoSQL DBMS的不同方面,并且還觸及了RDBMS以找出與NoSQL存儲(chǔ)的差異。NoSQL DBMS基于其目標(biāo)用例具有不同的模型,因此它們也具有各種功能。NoSQL技術(shù)主要用于處理非結(jié)構(gòu)化數(shù)據(jù)(大數(shù)據(jù))。隨著我們未來(lái)的發(fā)展,非結(jié)構(gòu)化數(shù)據(jù)的數(shù)量將會(huì)增長(zhǎng),因此NoSQL作為DBMS在存儲(chǔ)行業(yè)也有著光明的前景。但是,它不會(huì)取代RDBMS,因?yàn)殛P(guān)系用例僅由關(guān)系模型很好地管理。存儲(chǔ)的未來(lái)基本上是多語(yǔ)言持久性,其中多種存儲(chǔ)技術(shù)將共存以滿足各種要求。
2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082 備案號(hào):閩ICP備19027007號(hào)-6
本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。