溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mongodb數據存儲的方法

發布時間:2020-06-29 13:45:21 來源:億速云 閱讀:182 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關mongodb數據存儲的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、添加數據的方法

db.集合名.insert(value):添加數據到指定的集合中

2、數據文件與空間分配

當創建數據庫時(其實MongoDB沒有顯式創建數據庫的方法,在向數據庫中的集合寫入數據時會自動創建該數據庫),MongoDB會在磁盤上分配一組數據文件,所有集合,索引和數據庫的其他元數據都保存在這些文件里。數據文件被放在啟動時指定的dbpath里,默認放入/data/db下面。典型的一個文件組織結構如下:

$ cat /data/db
$ ls -al
-rw------- 1 root root   16777216 09-18 00:54 local.ns
-rw------- 1 root root   67108864 09-18 00:54 local.0
-rw------- 1 root root 2146435072 09-18 00:55 local.1
-rw------- 1 root root 2146435072 09-18 00:56 local.2
-rw------- 1 root root 2146435072 09-18 00:57 local.3
-rw------- 1 root root 2146435072 09-18 00:58 local.4
-rw------- 1 root root 2146435072 09-18 00:59 local.5
-rw------- 1 root root 2146435072 09-18 01:01 local.6
-rw------- 1 root root 2146435072 09-18 01:02 local.7
-rw------- 1 root root 2146435072 09-18 01:03 local.8
-rw------- 1 root root 2146435072 09-18 01:04 local.9
-rw------- 1 root root 2146435072 09-18 01:05 local.10
-rw------- 1 root root   16777216 09-18 01:06 test.ns
-rw------- 1 root root   67108864 09-18 01:06 test.0
-rw------- 1 root root  134217728 09-18 01:06 test.1
-rw------- 1 root root  268435456 09-18 01:06 test.2
-rw------- 1 root root  536870912 09-18 01:06 test.3
-rw------- 1 root root 1073741824 09-18 01:07 test.4
-rw------- 1 root root 2146435072 09-18 01:07 test.5
-rw------- 1 root root 2146435072 09-18 01:09 test.6
-rw------- 1 root root 2146435072 09-18 01:11 test.7
-rw------- 1 root root 2146435072 09-18 01:13 test.8
...
-rwxr-xr-x 1 root root          6 09-18 13:54 mongod.lock
drwxr-xr-x 2 root root       4096 11-13 18:39 journal
drwxr-xr-x 2 root root       4096 11-13 19:02 _tmp

mongod.lock中存儲了服務器的進程ID,是一個進程鎖定文件。數據文件是依據所屬的數據庫命名的。

test.ns是第一個生成的文件(ns擴展名就是namespace的意思),數據庫中的每個集合和索引都有自己的命名空間,每個命名空間的元數據都存放在這個文件里。默認情況下,.ns文件大小固定在16MB,大約可以存儲24000個命名空間。也就是說數據庫中的索引和集合總數不能超過24000,該值可以通過mongod的--nssize選項進行定制。

像test.0這樣以0開始的整數結尾的文件就是集合和索引數據文件。剛開始的時候,即使只有一條數據,MongoDB也會預分配幾個文件,這種預分配的做法,能讓數據盡可能連續存儲,減少磁盤碎片。在像數據庫添加數據時,MongoDB會分配更多的數據文件。每個新數據文件的大小都是上一個已分配文件的兩倍(64M->128M->256M),直到預分配文件大小的上限2G。此處基于一個假設,如果總數據大小呈恒定速率增長,應該逐漸增加數據文件分配的空間。當然這個預分配策略也是可以通過--noprealloc關掉,但是不建議在production環境下使用。

默認的local數據庫,該數據庫不參與replication。當mongod是一個副本集的成員時,在local數據庫中就有一個叫做oplog.rs的預分配的capped集合,預分配的大小為磁盤空間的5%。這個大小可以通過--oplogSize進行調整。oplog主要用于副本集Primary和Secondary成員見的replication,它的大小限制了兩個副本集之間,在重新完全同步之前,允許多長時間不同步。

journal目錄,journal功能2.4版本默認是開啟的。

關于mongodb數據存儲的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女