成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

入門(mén)MongoDB,你需要注意的4個(gè)技巧

原創(chuàng)
數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù) MongoDB
作者寫(xiě)下這篇文章的用意,就是提醒廣大DBA不要重蹈覆轍。特別是MongoDB初學(xué)者需要注意這四個(gè)技巧。

【51CTO經(jīng)典譯文】我之所以喜歡MongoDB,主要是因?yàn)樵趧?dòng)態(tài)語(yǔ)言中使用它是如此的簡(jiǎn)單,自然。到目前為止,我已經(jīng)在兩個(gè)項(xiàng)目(Encode 和 Sparrw)中使用過(guò)它了,雖然對(duì)這個(gè)選擇我非常滿意,但是有些問(wèn)題我還是沒(méi)有注意到,這些問(wèn)題讓我抓了好幾個(gè)小時(shí)的頭皮才解決。如果你有多臺(tái)機(jī)器,然后為數(shù)據(jù)庫(kù)多分配幾臺(tái)機(jī)器,那么有些問(wèn)題可以迎刃而解,但是我的項(xiàng)目是運(yùn)行在單個(gè)(虛擬)服務(wù)器之上的低流量Web應(yīng)用程序。

(關(guān)于MongoDB,具體可以參考:http://www.mongodb.org/)

(關(guān)于作者的兩個(gè)項(xiàng)目Encode 和 Sparrw,分別可以參考:http://en.co.de/和http://sparrw.com/)

這些問(wèn)題都很簡(jiǎn)單,都是一些文檔化的東西,不是什么Bug(當(dāng)然,這要看你問(wèn)誰(shuí)了)。如果你讀過(guò)所有的文檔,那么這些問(wèn)題可能你基本都見(jiàn)過(guò)了。我也是,但是在那之后,當(dāng)再次遇到它們的時(shí)候,我就把文檔中的內(nèi)容都忘到腦后了,然后,我不得不再次修復(fù)它們。

使用64位的版本

32位的版本最多只能存儲(chǔ)2.5GB的數(shù)據(jù)。當(dāng)然,如果隨便玩玩的話,這可能已經(jīng)足夠了。但是當(dāng)你開(kāi)始配置你的生產(chǎn)性(或用于演示的)系統(tǒng)的時(shí)候,記住要選擇64位的版本,因?yàn)橐院竽銦o(wú)法通過(guò)“修復(fù)”來(lái)解決這個(gè)問(wèn)題,你只能重新安裝。

在另外一臺(tái)機(jī)器上創(chuàng)建一個(gè)從數(shù)據(jù)庫(kù)

如果你的MongoDB實(shí)例崩潰了(或者由于OOM掛掉了,或者整個(gè)系統(tǒng)都崩潰了),那么誰(shuí)也無(wú)法保證你的數(shù)據(jù)會(huì)怎么樣。你可以進(jìn)行修復(fù),但是這有點(diǎn)像運(yùn)行fsck或買(mǎi)彩票——你永遠(yuǎn)都無(wú)法知道你將會(huì)得到什么結(jié)果。所以你應(yīng)該創(chuàng)建一個(gè)從數(shù)據(jù)庫(kù)(或者做一個(gè)“replica set”),并且,你應(yīng)該把這個(gè)從數(shù)據(jù)庫(kù)放到另外一個(gè)服務(wù)器上。如果一個(gè)VPS(Virtual Private Server 虛擬專(zhuān)用服務(wù)器)剛好可以滿足你的(或其他人的)需要,那么這的確是一件麻煩事,但是,如果你珍惜你的數(shù)據(jù)的話,這是不可避免的。

讓它更安全

在默認(rèn)情況下,MongoDB不會(huì)進(jìn)行身份驗(yàn)證,并且,它會(huì)監(jiān)聽(tīng)所有的網(wǎng)絡(luò)接口(對(duì)于你直接從他們的官方站點(diǎn)上獲得的那個(gè)版本來(lái)說(shuō),這就是事實(shí);各種Linux發(fā)行版(例如:Debian 和 Ubuntu)在默認(rèn)情況下,都只綁定到127.0.0.1,這是十分明智的),這就是說(shuō),在世界上的任何地方,任何人都可以訪問(wèn)你的數(shù)據(jù)庫(kù)。如果你在一個(gè)面向公眾的服務(wù)器上使用它,那么這的確是一個(gè)問(wèn)題。你可以把它設(shè)置成必須進(jìn)行身份驗(yàn)證,也可以讓MongoDB只監(jiān)聽(tīng)localhost。我比較喜歡后者,因?yàn)樵谖业姆?wù)器上,我是唯一一個(gè)用戶。

總是使用getLastError

如果你不需要閃電般的速度,花一點(diǎn)時(shí)間來(lái)確保你的變更對(duì)于這個(gè)數(shù)據(jù)庫(kù)來(lái)說(shuō)是OK的,并且對(duì)數(shù)據(jù)進(jìn)行修改并沒(méi)有造成什么問(wèn)題絕對(duì)是值得的——如果存在什么問(wèn)題的話,那么應(yīng)該在你的應(yīng)用程序中把它們記錄下來(lái),讓你知道數(shù)據(jù)庫(kù)發(fā)生了一些故障。或者,如果你確定你需要使用getLastEror(),那么至少不要混合使用,也不要在同一個(gè)集合上使用它。MongoDB無(wú)法確保命令會(huì)按照指定的順序來(lái)執(zhí)行。在我的測(cè)試代碼中,我做了一個(gè)“異步的”remove()調(diào)用(也就是說(shuō),我無(wú)需等待這個(gè)函數(shù)執(zhí)行完畢),然后,在remove()愉快地移除它們(可能已經(jīng)把它們?nèi)恳瞥部赡苤皇且瞥似渲械囊徊糠郑€可能什么也沒(méi)有移除,這主要取決于競(jìng)爭(zhēng))以前,我插入了一些新的條目。這讓我困惑了好幾個(gè)小時(shí)。

有許多在線的文檔,在各種論壇,也可以找到很多這方面的信息,如果你能通過(guò)更簡(jiǎn)潔的方式獲得這方面的信息,那也不錯(cuò)。對(duì)于這方面來(lái)說(shuō),我發(fā)現(xiàn)《MongoDB: The Definitive Guide book》 和 10gen videos都很有幫助——例如,deployment strategies視屏對(duì)于入門(mén)來(lái)說(shuō),是絕佳的視頻教程。

(關(guān)于《MongoDB: The Definitive Guide book》 ,具體可以參考:http://oreilly.com/catalog/0636920001096)

(關(guān)于10gen videos,具體可以參考:http://www.10gen.com/video)

(關(guān)于deployment strategies,具體可以參考:http://www.10gen.com/video/mongosv2010/deployment)

我希望我總結(jié)的這幾個(gè)技巧可以幫助你避免我使用MongoDB的時(shí)候曾經(jīng)犯過(guò)的幾個(gè)錯(cuò)誤:-)

原文標(biāo)題:4 Tips for MongoDB Beginners

延伸閱讀

MongoDB的LOGO 

MongoDB Logo

Mongo是一個(gè)高性能,開(kāi)源,無(wú)模式的文檔型數(shù)據(jù)庫(kù),它在許多場(chǎng)景下可用于替代傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)或鍵/值存儲(chǔ)方式。Mongo使用C++開(kāi)發(fā),提供了以下功能:

◆面向集合的存儲(chǔ):適合存儲(chǔ)對(duì)象及JSON形式的數(shù)據(jù)。

◆動(dòng)態(tài)查詢(xún):Mongo支持豐富的查詢(xún)表達(dá)式。查詢(xún)指令使用JSON形式的標(biāo)記,可輕易查詢(xún)文檔中內(nèi)嵌的對(duì)象及數(shù)組。

◆完整的索引支持:包括文檔內(nèi)嵌對(duì)象及數(shù)組。Mongo的查詢(xún)優(yōu)化器會(huì)分析查詢(xún)表達(dá)式,并生成一個(gè)高效的查詢(xún)計(jì)劃。

◆查詢(xún)監(jiān)視:Mongo包含一個(gè)監(jiān)視工具用于分析數(shù)據(jù)庫(kù)操作的性能。

◆復(fù)制及自動(dòng)故障轉(zhuǎn)移:Mongo數(shù)據(jù)庫(kù)支持服務(wù)器之間的數(shù)據(jù)復(fù)制,支持主-從模式及服務(wù)器之間的相互復(fù)制。復(fù)制的主要目標(biāo)是提供冗余及自動(dòng)故障轉(zhuǎn)移。

◆高效的傳統(tǒng)存儲(chǔ)方式:支持二進(jìn)制數(shù)據(jù)及大型對(duì)象(如照片或圖片)。

◆自動(dòng)分片以支持云級(jí)別的伸縮性(處于早期alpha階段):自動(dòng)分片功能支持水平的數(shù)據(jù)庫(kù)集群,可動(dòng)態(tài)添加額外的機(jī)器。

MongoDB的主要目標(biāo)是在鍵/值存儲(chǔ)方式(提供了高性能和高度伸縮性)以及傳統(tǒng)的RDBMS系統(tǒng)(豐富的功能)架起一座橋梁,集兩者的優(yōu)勢(shì)于一身。根據(jù)官方網(wǎng)站的描述,Mongo適合用于以下場(chǎng)景:

◆網(wǎng)站數(shù)據(jù):Mongo非常適合實(shí)時(shí)的插入,更新與查詢(xún),并具備網(wǎng)站實(shí)時(shí)數(shù)據(jù)存儲(chǔ)所需的復(fù)制及高度伸縮性。

◆緩存:由于性能很高,Mongo也適合作為信息基礎(chǔ)設(shè)施的緩存層。在系統(tǒng)重啟之后,由Mongo搭建的持久化緩存層可以避免下層的數(shù)據(jù)源過(guò)載。

◆大尺寸,低價(jià)值的數(shù)據(jù):使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)一些數(shù)據(jù)時(shí)可能會(huì)比較昂貴,在此之前,很多時(shí)候程序員往往會(huì)選擇傳統(tǒng)的文件進(jìn)行存儲(chǔ)。

◆高伸縮性的場(chǎng)景:Mongo非常適合由數(shù)十或數(shù)百臺(tái)服務(wù)器組成的數(shù)據(jù)庫(kù)。Mongo的路線圖中已經(jīng)包含對(duì)MapReduce引擎的內(nèi)置支持。

◆用于對(duì)象及JSON數(shù)據(jù)的存儲(chǔ):Mongo的BSON數(shù)據(jù)格式非常適合文檔化格式的存儲(chǔ)及查詢(xún)。

自然,MongoDB的使用也會(huì)有一些限制,例如它不適合:

◆高度事務(wù)性的系統(tǒng):例如銀行或會(huì)計(jì)系統(tǒng)。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)目前還是更適用于需要大量原子性復(fù)雜事務(wù)的應(yīng)用程序。

◆傳統(tǒng)的商業(yè)智能應(yīng)用:針對(duì)特定問(wèn)題的BI數(shù)據(jù)庫(kù)會(huì)對(duì)產(chǎn)生高度優(yōu)化的查詢(xún)方式。對(duì)于此類(lèi)應(yīng)用,數(shù)據(jù)倉(cāng)庫(kù)可能是更合適的選擇。

◆需要SQL的問(wèn)題

MongoDB支持OS X、Linux及Windows等操作系統(tǒng),并提供了Python,PHP,Ruby,Java及C++語(yǔ)言的驅(qū)動(dòng)程序,社區(qū)中也提供了對(duì)Erlang及.NET等平臺(tái)的驅(qū)動(dòng)程序。

【編輯推薦】

  1. MongoDB CEO談NoSQL的大數(shù)據(jù)量處理能力
  2. 拋棄關(guān)系數(shù)據(jù)庫(kù) PHP程序員應(yīng)了解MongoDB的五件事
  3. MongoDB,無(wú)模式文檔型數(shù)據(jù)庫(kù)簡(jiǎn)介
  4. 關(guān)系數(shù)據(jù)庫(kù)的末日是否已經(jīng)來(lái)臨
  5. 扔掉沉沒(méi)成本 嘗試關(guān)系數(shù)據(jù)庫(kù)替代品OODBMS  
責(zé)任編輯:彭凡 來(lái)源: 51CTO
相關(guān)推薦

2011-06-30 14:26:35

SEO軟文

2016-09-23 16:09:01

2016-11-24 15:54:06

androidJSONObject

2015-10-08 10:07:29

游戲開(kāi)發(fā)內(nèi)存使用

2016-12-16 14:57:19

2023-10-04 00:03:00

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

2015-09-28 11:13:50

2016-03-23 09:46:40

移動(dòng)前段開(kāi)發(fā)

2023-12-16 10:37:58

Vue 2框架功能

2011-05-26 17:37:11

Ajax

2021-10-15 10:04:37

云計(jì)算安全云服務(wù)

2016-12-26 18:51:34

AndroidJavascriptJSONObject

2009-06-24 17:42:42

Java高手

2021-02-05 17:35:07

數(shù)據(jù)高管CIO技術(shù)

2010-03-26 14:23:47

Python入門(mén)

2013-09-29 10:36:08

VMware虛擬化

2009-04-23 14:30:19

UML建模

2020-10-26 14:01:22

Java泛型

2016-01-31 10:59:19

設(shè)計(jì)app

2024-05-16 15:15:14

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲一在线| 免费久久视频 | 成人片在线看 | 欧美白人做受xxxx视频 | 国产欧美视频一区 | 亚洲一区二区精品视频 | 欧美一区二区三区在线免费观看 | 91精品国产乱码久久久久久久久 | 成年人视频在线免费观看 | 在线观看成人 | 中文字幕视频在线观看 | 国产做a爱免费视频 | 久久com| 国产精品二区三区 | 欧美黑人体内she精在线观看 | 天天久久 | 麻豆久久久久久 | 毛片高清| 久久精品日产第一区二区三区 | 91电影在线| 久久一区二区三区免费 | 免费看黄色视屏 | 瑞克和莫蒂第五季在线观看 | 国产精品视频免费播放 | 国产精品久久久久久福利一牛影视 | 91精品国产综合久久香蕉922 | 色婷婷婷婷色 | 日韩国产欧美在线观看 | 国产精品久久久久久一区二区三区 | 国产在线视频一区二区董小宛性色 | 国产日日操 | 中文字幕在线看 | 国产成人免费视频网站视频社区 | 亚洲精品无 | 国产精品久久久久久久久久免费看 | 亚洲iv一区二区三区 | 成人在线免费看 | 亚洲一区综合 | 色婷婷综合久久久中文字幕 | 午夜资源| 国产伊人精品 |