成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

聊聊MongoDB - MongoDB的使用感想

Drummor / 1222人閱讀

摘要:旨在為應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。,是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。目前的最新版本為,最新版本的在我看來(lái)更像的數(shù)據(jù)庫(kù),功能更是越發(fā)強(qiáng)大。一些主流的介紹。

簡(jiǎn)述

工作中經(jīng)常接觸MongoDB,學(xué)習(xí)上也有對(duì)它進(jìn)行一些研究,感覺(jué)MongoDB這種Nosql類型的數(shù)據(jù)庫(kù)給我在開(kāi)發(fā)上帶來(lái)很多便捷,同時(shí)也解決了很多程序開(kāi)發(fā)過(guò)程中在性能上考慮優(yōu)化的可行方案。然而最近我在思考MongoDB看起來(lái)很棒,用起來(lái)很舒服,但是我是否對(duì)其抱有過(guò)分自信和過(guò)分依靠它呢?我想聊聊MongoDB的一些我比較看重地方,還有它隱藏的一些缺陷(可能暫時(shí)不明顯,但是日后可能會(huì)成為你自己親手埋下的地雷)。

簡(jiǎn)述MongoDB和NoSQL MongoDB

MongoDB,是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫(xiě)。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

MongoDB,是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)(sql)和非關(guān)系數(shù)據(jù)庫(kù)(nosql)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型(這一點(diǎn)是我很喜歡,因?yàn)槲医?jīng)常會(huì)把一些經(jīng)常使用的數(shù)據(jù)預(yù)先生成存進(jìn)MongoDB,,相當(dāng)于緩存的做法)。

Mongo,最大的特點(diǎn)是它支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引(MongoDB的索引很多,沒(méi)記錯(cuò)應(yīng)該有7種,功能完善且強(qiáng)大,有力支持了高效查詢)。

目前MongoDB的最新版本為3.0+,最新版本的MongoDB在我看來(lái)更像sql的nosql數(shù)據(jù)庫(kù),功能更是越發(fā)強(qiáng)大。

NoSQL

NoSQL,泛指那些支持非關(guān)系型、分布式數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù),最常見(jiàn)的解釋是“non-relational”或“Not Only SQL”,而“NoSQL”一詞最早于1998年被用于一個(gè)輕量級(jí)的關(guān)系數(shù)據(jù)庫(kù)的名字。

NoSQL被我們用得最多的當(dāng)數(shù)key-value存儲(chǔ),當(dāng)然還有其他的文檔型的(這個(gè)我用的比較多,其次是k-v存儲(chǔ))、列存儲(chǔ)、圖型數(shù)據(jù)庫(kù)、xml數(shù)據(jù)庫(kù)等。

NoSQL有很多優(yōu)勢(shì):NoSQL數(shù)據(jù)庫(kù)非常易于擴(kuò)展;NoSQL數(shù)據(jù)庫(kù)都具有非常高的讀寫(xiě)性能,尤其在大數(shù)據(jù)量下,高性能更為突出;NoSQL在不太影響性能的情況,就可以方便的實(shí)現(xiàn)高可用的架構(gòu)(這個(gè)觀點(diǎn)我不太懂,網(wǎng)上給的經(jīng)驗(yàn),可能大平臺(tái)才會(huì)體驗(yàn)到吧)。

一些主流的NoSQL介紹:MongoDB;SequoiaDB;Cassandra。這是目前生產(chǎn)線上主流的三大NoSQL數(shù)據(jù)庫(kù),有興趣大家可以去了解一下。

小結(jié)

通過(guò)簡(jiǎn)述MongoDB和NoSQL,相信我們對(duì)非關(guān)系型數(shù)據(jù)庫(kù)的了解能有一定收獲了吧,了解一件事物,首先我們必須認(rèn)識(shí)它,現(xiàn)在我們認(rèn)識(shí)了,接下來(lái)就是了解它了。

我與MongoDB 我與MongoDB的接觸與感悟

我對(duì)MongoDB的接觸經(jīng)常是進(jìn)行數(shù)據(jù)整理,數(shù)據(jù)加工的時(shí)候會(huì)用到它,一般面對(duì)一些復(fù)制的涉及多表聯(lián)合查詢的業(yè)務(wù)邏輯時(shí),我想跳過(guò)多表聯(lián)合查詢尋找在頁(yè)面加載時(shí)程序獲取數(shù)據(jù)的最快捷最高效的處理方案,這時(shí)MongoDB給了我一個(gè)不錯(cuò)的選擇(因?yàn)镸ongoDB存儲(chǔ)的是字符串文本而且是支持一對(duì)多關(guān)系結(jié)構(gòu)),這給了我兩個(gè)思考點(diǎn):

第一、我是否可以對(duì)復(fù)雜的數(shù)據(jù)進(jìn)行預(yù)處理,放到MongoDB上面,頁(yè)面需要用到的時(shí)候直接拿來(lái)用,這樣我只需要讀一次MongoDB就可以了,從而避免多次查表給服務(wù)器帶來(lái)的壓力,再說(shuō)MongoDB對(duì)于高并發(fā)的負(fù)載能力也是很強(qiáng)大的。

第二、面對(duì)一對(duì)多的映射關(guān)系我是否可以用MongoDB集合的一對(duì)多映射解決sql的多個(gè)關(guān)聯(lián)表的冗雜。

有的時(shí)候我甚至覺(jué)得MongoDB不再像是數(shù)據(jù)庫(kù),它更像是緩存服務(wù)器,因?yàn)樗嗟氖前褦?shù)據(jù)預(yù)先存儲(chǔ)以備日后使用,但是它跟sql數(shù)據(jù)庫(kù)的最新數(shù)據(jù)往往不全是同步的,有一些出現(xiàn)延時(shí)的數(shù)據(jù)就是我想說(shuō)的視為緩存的數(shù)據(jù),那么問(wèn)題就來(lái)了,怎么更好的保證數(shù)據(jù)的時(shí)效性,我不相信有人希望程序使用舊的數(shù)據(jù),所以保持?jǐn)?shù)據(jù)的新鮮應(yīng)該是產(chǎn)品的最優(yōu)需求,因?yàn)橐粋€(gè)數(shù)據(jù)同步更新機(jī)制的建立很有必要,到底是定時(shí)更新方案還是sql內(nèi)容更新同步方案好呢(我想出來(lái)的兩個(gè)我認(rèn)為可行的數(shù)據(jù)同步方案)?一切根據(jù)具體應(yīng)用場(chǎng)景來(lái)具體操作。

有的時(shí)候面對(duì)一些頁(yè)面的數(shù)據(jù)是暫定不會(huì)變化,比如新聞內(nèi)容,對(duì)象介紹信息等等一些內(nèi)容數(shù)據(jù),這些數(shù)據(jù)很少會(huì)更新,所以很多情況下會(huì)把它們放到MongoDB上,避免重復(fù)查表,也可以理解為緩存到MongoDB上面去了(我的理解),但是我們必須主要在程序上不能單單只依靠MongoDB或緩存上面的哪些數(shù)據(jù),我們?yōu)榱吮苊怙L(fēng)險(xiǎn),應(yīng)該在程序的最后加上原始數(shù)據(jù)的組裝處理,保證數(shù)據(jù)準(zhǔn)確性,因?yàn)闆](méi)人能保證MongoDB永遠(yuǎn)可靠(這里就提到MongoDB的可靠性,這個(gè)爭(zhēng)議比較大的,一些人說(shuō)MongoDB的數(shù)據(jù)容易丟失,或者在數(shù)據(jù)遷移上出現(xiàn)問(wèn)題等等),我的觀點(diǎn)的永遠(yuǎn)不要相信數(shù)據(jù)庫(kù),我們要做好一切問(wèn)題出現(xiàn)的準(zhǔn)備,有備無(wú)患。

還有一點(diǎn)就是我想分享一些MongoDB的使用經(jīng)驗(yàn)(這個(gè)日后等我整理好資料后再更新)

總結(jié)

碼了這么多字,其實(shí)就是想說(shuō)MongoDB很好用,但是不能對(duì)數(shù)據(jù)庫(kù)太依靠太放心,它能為我們提供一些很不錯(cuò)的解決方案,但是我們必須在考慮使用它之前先做好任何它掛掉的準(zhǔn)備,同樣面對(duì)其他情況下也要有這種危機(jī)意識(shí),數(shù)據(jù)庫(kù)是不能盡信的,一場(chǎng)臺(tái)風(fēng)可能你的機(jī)房就沒(méi)了,所以你要備份或者風(fēng)險(xiǎn)規(guī)避機(jī)制,應(yīng)對(duì)突發(fā)的問(wèn)題做好預(yù)案,保證程序系統(tǒng)安穩(wěn),這個(gè)才是重中之重!

最后歡迎大家指正我的錯(cuò)誤觀點(diǎn),分享你的觀點(diǎn)看法和經(jīng)驗(yàn),大家一起學(xué)習(xí)一起進(jìn)步吧。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/18791.html

相關(guān)文章

  • 聊聊MongoDB - MongoDB使用感想

    摘要:旨在為應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。,是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。目前的最新版本為,最新版本的在我看來(lái)更像的數(shù)據(jù)庫(kù),功能更是越發(fā)強(qiáng)大。一些主流的介紹。 簡(jiǎn)述 工作中經(jīng)常接觸MongoDB,學(xué)習(xí)上也有對(duì)它進(jìn)行一些研究,感覺(jué)MongoDB這種Nosql類型的數(shù)據(jù)庫(kù)給我在開(kāi)發(fā)上帶來(lái)很多便捷,同時(shí)也解決了很多程序開(kāi)發(fā)過(guò)...

    lolomaco 評(píng)論0 收藏0
  • 聊聊mongodb》系列三 了解一下MongoDB插入文檔操作~

    摘要:布爾類型,表示文檔是否按照有序或者無(wú)序插入,默認(rèn)是返回參數(shù)返回了含有操作狀態(tài)的對(duì)象插入文檔成功返回如下對(duì)象字段指明了插入文檔的總數(shù)如果該操作遇到了錯(cuò)誤對(duì)象將包含該錯(cuò)誤信息例子四其它可以向集合中添加文檔的方法和選項(xiàng)一起使用的。 上一節(jié)介紹了MongoDB的基本的命令,以及結(jié)構(gòu)的了解,這一節(jié)的主題是介紹一下MongoDB的插入文檔的操作的基礎(chǔ)命令的使用,MongoDB當(dāng)中文檔的數(shù)據(jù)結(jié)構(gòu)和j...

    ityouknow 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<