本系列文章翻譯自《50 Tips and Tricks for MongoDB Developers》,暫時沒有找到中文版,反正自己最近也在深入學(xué)習(xí)mongodb,所以正好拿來翻譯一下。一方面加強自己學(xué)習(xí)的效果,另一方面讓大 家也一起來體驗一下需要我們這些mongodb使用者需要注意的地方。
成都創(chuàng)新互聯(lián)公司是專業(yè)的網(wǎng)站建設(shè)公司,提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計等網(wǎng)站開發(fā)一體化解決方案;包括H5頁面制作,小程序定制開發(fā),網(wǎng)站定制,企業(yè)網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā),成都響應(yīng)式網(wǎng)站建設(shè),建網(wǎng)站,PHP網(wǎng)站建設(shè),軟件開發(fā),軟文平臺,網(wǎng)站營銷。歡迎做網(wǎng)站的企業(yè)前來合作洽談,成都創(chuàng)新互聯(lián)公司將竭誠為您服務(wù)!首先聲明自己的英文水平不是太高,加之有些英文翻譯成中文也找不到合適的詞來表達,所以在文章中可能會出現(xiàn)英文原詞,或者說有些地方的翻譯會有些生 硬,也就是說會出現(xiàn)直譯的地方。翻譯該書的主要目的是為大家學(xué)習(xí)探討用的,如果有翻譯不精準(zhǔn)的地方,或者說有更加精準(zhǔn)的翻譯,還請大家指出,我會及時的更 正的,在此先謝過各位了。
Tip#7.Pre-populate anything you can
預(yù)先填充你能填充的
如果你知道,在將來,你的文檔中肯定會需要一些字段,在你插入文檔的時候就填充它們,而不是在需要它們的時候在創(chuàng)建,會更高效。例如,你正在創(chuàng)建一個站點分析的應(yīng)用,可以查看一天中有每一頁都有多少用戶訪問。你會有一個pages collection,每個document記錄在過去的6個小時中,每分鐘和每小時的訪問量。
- {
- "_id":pageId,
- "start":time,
- "visits":{
- "minutes":[
- [num0,num1,...,num59],
- [num0,num1,...,num59],
- [num0,num1,...,num59],
- [num0,num1,...,num59],
- [num0,num1,...,num59],
- [num0,num1,...,num59]
- ],
- "hours":[num0,num1,...,num5]
- }
- }
這么做有一個優(yōu)勢,就是我們知道從現(xiàn)在到某一個時間點文檔會是什么樣子。是一個從現(xiàn)在開始,在接下來的6個小時,每分鐘和每小時的訪問量。后面的6個小時又會是一個新的文檔。
因此,我們需要一個批量處理的任務(wù),在空閑的時候,或者是在一天的固定時間,插入這些模板文檔。插入的模板應(yīng)該是下面的樣子。
- {
- "_id":pageId,
- "start":someTime,
- "visits":{
- "minutes":[
- [0,0,...,0],
- [0,0,...,0],
- [0,0,...,0],
- [0,0,...,0],
- [0,0,...,0],
- [0,0,...,0]
- ],
- "hours":[0,0,0,0,0]
- }
- }
現(xiàn)在,當(dāng)你增加這些計數(shù)器的時候,mongodb不需要為他們現(xiàn)去分配空間。只是更新已經(jīng)插入的文檔的值,這么做速度會更快。
例如,在剛開始的一個小時,你只需要這么做。
- db.page.update({"_id":pageId,"start":thisHour},{"$inc":{"visits.0.0":3}})
這種做法也可以擴展到集合和數(shù)據(jù)庫的其他類型數(shù)據(jù),如果你每天需要一個新的集合,最好預(yù)先創(chuàng)建他們。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文標(biāo)題:寫給MongoDB開發(fā)者的50條建議Tip7-創(chuàng)新互聯(lián)
本文路徑:http://www.rwnh.cn/article22/epjcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、域名注冊、動態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容