偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

解讀NoSQL文檔數(shù)據(jù)庫(kù):工作原理、優(yōu)缺點(diǎn)

譯文
數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
文檔存儲(chǔ)數(shù)據(jù)庫(kù)被認(rèn)為是所有NoSQL數(shù)據(jù)庫(kù)類型中最復(fù)雜的。它們采用JSON格式來(lái)存儲(chǔ)數(shù)據(jù),而不是采用典型的行和列結(jié)構(gòu)。

【51CTO.com快譯】文檔存儲(chǔ)數(shù)據(jù)庫(kù)被認(rèn)為是所有NoSQL數(shù)據(jù)庫(kù)類型中最復(fù)雜的。它們采用JSON格式來(lái)存儲(chǔ)數(shù)據(jù),而不是采用典型的行和列結(jié)構(gòu)。

NoSQL數(shù)據(jù)庫(kù)是大多數(shù)日常互聯(lián)網(wǎng)使用的基礎(chǔ)。從Twiiter使用FlockDB到亞馬遜的DynamoDB,我們每天都會(huì)遇到NoSQL。

作為市面上流行的數(shù)據(jù)庫(kù)模型之一,文檔存儲(chǔ)的工作方式與鍵值(key-value)非常相似,因?yàn)槲臋n是以信息的特定鍵來(lái)存儲(chǔ)的。有意思的是,Windows注冊(cè)表就是文檔存儲(chǔ)數(shù)據(jù)庫(kù),因此它是很強(qiáng)大的數(shù)據(jù)模型。

文檔數(shù)據(jù)庫(kù)的工作原理

表面上,文檔數(shù)據(jù)庫(kù)背后的想法是,您可以在文檔中存儲(chǔ)任何類型的信息。這意味著您可以混合搭配所需的任何類型的數(shù)據(jù),不必?fù)?dān)心數(shù)據(jù)庫(kù)無(wú)法解析它。實(shí)際上,大多數(shù)文檔數(shù)據(jù)庫(kù)仍往往使用某種形式的模式、文件格式和某種預(yù)定義結(jié)構(gòu)。

相比關(guān)系型SQL數(shù)據(jù)庫(kù),文檔存儲(chǔ)沒(méi)有與SQL同樣的缺點(diǎn)和限制。這意味著處理手頭的信息要容易得多,查詢執(zhí)行也要容易得多。出人意料的是,您在SQL數(shù)據(jù)庫(kù)中可以執(zhí)行的同一種操作也可以在文檔存儲(chǔ)數(shù)據(jù)庫(kù)中執(zhí)行,比如刪除、添加和查詢。

如前所述,每個(gè)文檔都需要某種類型的鍵,這是通過(guò)唯一ID提供給它的。在任何過(guò)程中提供唯一ID時(shí),直接讀取和處理文檔本身中的信息,而不是逐列取出信息。

說(shuō)到文檔數(shù)據(jù)庫(kù)(以及所有NoSQL數(shù)據(jù)庫(kù)),要注意的一點(diǎn)是,它們的安全性往往比SQL數(shù)據(jù)庫(kù)差一點(diǎn)。因此,您需要考慮數(shù)據(jù)庫(kù)安全,而加強(qiáng)安全的一種方法是使用SAST。 SAST即靜態(tài)應(yīng)用程序安全測(cè)試,直接查看源代碼以查找漏洞。您還可以運(yùn)行DAST(動(dòng)態(tài)版本),同樣有助于避免NoSQL注入攻擊。

文檔數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)

文檔存儲(chǔ)的最大優(yōu)點(diǎn)可能是,所有內(nèi)容都在一個(gè)數(shù)據(jù)庫(kù)當(dāng)中,而不是信息分散在多個(gè)鏈接數(shù)據(jù)庫(kù)中。因此,與SQL數(shù)據(jù)庫(kù)相比,您可以獲得更好的性能,只要不使用關(guān)系型流程。鏈接文檔會(huì)大大增添復(fù)雜性,使用起來(lái)令人沮喪,引用在文檔存儲(chǔ)數(shù)據(jù)庫(kù)中其實(shí)效果不好。

不像每個(gè)信息都有一個(gè)字段的傳統(tǒng)數(shù)據(jù)庫(kù),即使沒(méi)有任何內(nèi)容,文檔存儲(chǔ)數(shù)據(jù)庫(kù)也更加靈活。實(shí)際上,不需要文檔有一致性,您就可以存儲(chǔ)大量數(shù)據(jù),基本上沒(méi)有問(wèn)題。

同樣,由于文檔存儲(chǔ)更靈活,因此集成新數(shù)據(jù)根本不是問(wèn)題。與必須將任何新類型的信息添加到所有數(shù)據(jù)集的關(guān)系數(shù)據(jù)庫(kù)相比,文檔存儲(chǔ)數(shù)據(jù)庫(kù)只需要添加到幾個(gè)數(shù)據(jù)集即可。

更具體地說(shuō),由于可以在不造成任何停機(jī)的情況下修改模式,或者由于您將來(lái)可能不知道用戶需求,因此文檔存儲(chǔ)數(shù)據(jù)庫(kù)非常適合這些應(yīng)用:

  • 大型電子商務(wù)平臺(tái)(比如亞馬遜)
  • 博客網(wǎng)站(比如Twitter)
  • 內(nèi)容管理系統(tǒng)(WordPress和Windows注冊(cè)表)
  • 分析平臺(tái)

 

文件數(shù)據(jù)庫(kù)的缺點(diǎn)

雖然大多數(shù)文檔存儲(chǔ)數(shù)據(jù)庫(kù)已存在了一段時(shí)間,但除了小圈子和數(shù)據(jù)庫(kù)自己的維基或論壇外,仍沒(méi)有太多的說(shuō)明文檔。加上有太多的文檔存儲(chǔ)數(shù)據(jù)庫(kù)可供選擇,有時(shí)不深入研究,很難找到特定的信息。

此外,由于缺乏熟悉性而導(dǎo)致配置錯(cuò)誤,或由于使用單個(gè)節(jié)點(diǎn),數(shù)據(jù)有可能丟失。另一個(gè)問(wèn)題是,文檔存儲(chǔ)數(shù)據(jù)庫(kù)其實(shí)不適合運(yùn)行多個(gè)復(fù)雜的操作或復(fù)雜的查詢。

最后,文檔數(shù)據(jù)庫(kù)(和所有NoSQL數(shù)據(jù)庫(kù))快速發(fā)展,這個(gè)事實(shí)多少成了一把雙刃劍。與SQL相對(duì)完善、不會(huì)有太大變化相比,如果您沒(méi)有熱情或興趣,NoSQL可能很難跟上步伐。

流行文檔數(shù)據(jù)庫(kù)的例子

MongoDB:作為主要的NoSQL數(shù)據(jù)庫(kù)引擎之一,它不僅應(yīng)用廣泛,還使用類似JSON的機(jī)制,有自己的查詢語(yǔ)言。這篇指南全面介紹了MongoDB的基礎(chǔ)知識(shí)。

Elasticsearch:基于文檔存儲(chǔ)數(shù)據(jù)模型的搜索引擎。它用于搜索數(shù)據(jù)庫(kù)并建立索引,學(xué)習(xí)起來(lái)也非常簡(jiǎn)單。

CouchDB:與Ubuntu和Facebook一起使用,它使用Javascript,用Erlang編寫(xiě)。

BaseX:一種基于XML的輕量級(jí)DBM,開(kāi)源,使用Java。

結(jié)論

文檔存儲(chǔ)數(shù)據(jù)模型大受歡迎、廣泛使用有充分理由,這歸因其靈活性。隨著數(shù)據(jù)庫(kù)應(yīng)用變得越來(lái)越復(fù)雜,能夠輕松添加數(shù)據(jù)集或擴(kuò)大規(guī)模意味著整體麻煩更少、項(xiàng)目更易于處理。

文檔存儲(chǔ)還有助于數(shù)據(jù)分析,因?yàn)楣究梢暂p松存儲(chǔ)眾多信息供日后使用。由于幾個(gè)文檔存儲(chǔ)數(shù)據(jù)庫(kù)在添加圖形接口(比如MongoDB),因此可以更輕松地查找原本可能不明顯的信息和模式。

原文標(biāo)題:Understanding NoSQL Document Databases,作者:Alex Williams

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2010-08-27 09:45:49

CSS Sprites

2021-03-04 09:00:00

架構(gòu)Lambda工具

2024-02-02 10:51:53

2020-11-20 15:04:27

數(shù)據(jù)庫(kù)云數(shù)據(jù)庫(kù)安全

2019-03-13 09:00:00

Web應(yīng)用SPAJavaScript

2020-06-15 07:00:00

GitOpsKubernetesDevOps

2021-09-28 09:25:05

NoSQL數(shù)據(jù)庫(kù)列式數(shù)據(jù)庫(kù)

2017-03-17 14:44:04

關(guān)系型數(shù)據(jù)庫(kù)原理

2011-09-16 16:01:31

NoSQL

2011-10-09 09:38:03

OracleNoSQL

2019-02-26 15:23:01

數(shù)據(jù)安全磁盤(pán)

2023-11-27 00:58:00

數(shù)據(jù)庫(kù)AI

2010-06-17 11:22:37

SQL Server數(shù)

2024-03-28 09:00:00

NoSQL數(shù)據(jù)庫(kù)

2011-07-19 09:08:50

JavaNoSQL

2019-03-20 15:59:11

NoSQLRedis數(shù)據(jù)庫(kù)

2019-07-08 10:36:34

數(shù)據(jù)庫(kù)WebNoSQL

2010-04-01 09:45:38

NoSQL

2015-10-22 10:52:34

NoSQL數(shù)據(jù)庫(kù)鍵值型數(shù)據(jù)庫(kù)文檔型數(shù)據(jù)庫(kù)

2018-05-22 09:00:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)