摘要:數(shù)據(jù)庫中的每個(gè)集合和索引都有自己的命名空間,每個(gè)命名空間的元數(shù)據(jù)都存放在這個(gè)文件里。此處基于這樣一個(gè)假設(shè),如果總數(shù)據(jù)大小呈恒定速率增長(zhǎng),應(yīng)該逐漸增加數(shù)據(jù)文件分配的空間,這是一種相當(dāng)標(biāo)準(zhǔn)的分配策略。
在創(chuàng)建數(shù)據(jù)庫時(shí),MongoDB會(huì)在磁盤上分配一組數(shù)據(jù)文件,所有集合、索引和數(shù)據(jù)庫的其他元數(shù)據(jù)都保存在這些文件里。數(shù)據(jù)文件都被放置在啟動(dòng)mongod時(shí)指定的dbpath里。在未指定dbpath時(shí),mongod會(huì)把文件全保存在/data/db里。
garden.ns是第一個(gè)生成的文件。文件擴(kuò)展名ns表示namespaces,意即命名空間。數(shù)據(jù)庫中的每個(gè)集合和索引都有自己的命名空間,每個(gè)命名空間的元數(shù)據(jù)都存放在這個(gè)文件里。默認(rèn)情況下,.ns文件大小固定在16 MB,大約可以存儲(chǔ)24 000個(gè)命名空間。也就是說數(shù)據(jù)庫中的索引和集合總數(shù)不能超過24 000。我們幾乎不可能使用這么多集合與索引,但如果真有需要,可以使用--nssize服務(wù)器選項(xiàng)讓該文件變得更大一點(diǎn)。
MongoDB傾向于這種預(yù)分配的做法,這能讓數(shù)據(jù)盡可能連續(xù)存儲(chǔ)。如此一來,在查詢和更新數(shù)據(jù)時(shí),這些操作能更靠近一點(diǎn),而不是分散在磁盤各處。
在向數(shù)據(jù)庫添加數(shù)據(jù)時(shí),MongoDB會(huì)繼續(xù)分配更多的數(shù)據(jù)文件。每個(gè)新數(shù)據(jù)文件的大小都是上一個(gè)已分配文件的兩倍,直到達(dá)到預(yù)分配文件大小的上限——2 GB,即garden.2會(huì)是256 MB,garden.3是512 MB,以此類推。此處基于這樣一個(gè)假設(shè),如果總數(shù)據(jù)大小呈恒定速率增長(zhǎng),應(yīng)該逐漸增加數(shù)據(jù)文件分配的空間,這是一種相當(dāng)標(biāo)準(zhǔn)的分配策略。當(dāng)然,這么做的后果之一就是分配的空間與實(shí)際使用的空間之間會(huì)存在很大的差距。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/18929.html
摘要:默認(rèn)是單位返回當(dāng)前數(shù)據(jù)庫當(dāng)前數(shù)據(jù)庫多少表當(dāng)前數(shù)據(jù)庫所有表多少條數(shù)據(jù)每條數(shù)據(jù)的平均大小所有數(shù)據(jù)的總大小所有數(shù)據(jù)占的磁盤大小索引數(shù)索引大小預(yù)分配給數(shù)據(jù)庫的文件大小參數(shù)可以通過傳參數(shù),比如得到的是單位的得到的是單位的所有數(shù)據(jù)的總大小所有數(shù)據(jù)占的磁 db.stats db.stats(); 默認(rèn)是bytes單位返回 { db : xxx, //當(dāng)前數(shù)據(jù)庫 collectio...
摘要:命令行方式獲取顯示當(dāng)前的用戶操作。類似于的可以監(jiān)控所有慢的以及不慢的查詢。以及其他第三方鏈接性能調(diào)優(yōu)場(chǎng)景現(xiàn)實(shí)的首頁我們希望現(xiàn)實(shí)最近發(fā)布的條。自動(dòng)刪除舊文檔為了給新文檔創(chuàng)建空間,在集合中自動(dòng)刪除老舊的文檔,不需要執(zhí)行額外的腳本和操作。 轉(zhuǎn)載請(qǐng)注明出處 http://www.paraller.com 原文排版地址 http://www.paraller.com/2016/10/22/m...
摘要:沒有直接使用語言傳統(tǒng)的字符串表示以空字符串結(jié)尾的字符數(shù)組,而是構(gòu)建了一種名為簡(jiǎn)單動(dòng)態(tài)字符串的抽象類型,并將用作的默認(rèn)字符串表示。對(duì)比字符串,有幾大優(yōu)點(diǎn)常數(shù)復(fù)雜度獲取字符串長(zhǎng)度杜絕緩沖區(qū)溢出減少修改字符串時(shí)所需的內(nèi)存重分配次數(shù)。 Redis 沒有直接使用 C 語言傳統(tǒng)的字符串表示(以空字符串結(jié)尾的字符數(shù)組),而是構(gòu)建了一種名為簡(jiǎn)單動(dòng)態(tài)字符串(simple dynamic string)的...
摘要:聲明構(gòu)造函數(shù),作用是把從數(shù)據(jù)庫取出的數(shù)據(jù)實(shí)例化為對(duì)象。該構(gòu)造函數(shù)傳入的值為從中取出的數(shù)據(jù)省略接口提供增刪改查接口實(shí)現(xiàn)提供增刪改查接口實(shí)現(xiàn)提供了一個(gè)類似于的設(shè)計(jì)的類。 本文快速入門,MongoDB 結(jié)合SpringBoot starter-data-mongodb 進(jìn)行增刪改查 1、什么是MongoDB ? MongoDB 是由C++語言編寫的,是一個(gè)基于分布式文件存儲(chǔ)的開源數(shù)據(jù)庫系統(tǒng)。...
閱讀 561·2021-11-25 09:44
閱讀 2648·2021-11-24 09:39
閱讀 2322·2021-11-22 15:29
閱讀 3534·2021-11-15 11:37
閱讀 3402·2021-09-24 10:36
閱讀 2526·2021-09-04 16:41
閱讀 1007·2021-09-03 10:28
閱讀 1868·2019-08-30 15:55